import java.awt.*;
import java.awt.event.*;
class game0805 extends Frame {
int m,n,mx,nx;
int x[][]=new int[101][101];
int ch[][]=new int[101][101];
int j;
public static void main(String [] args) {
Frame f=new game0805();
f.setTitle("game0805");
f.setSize(500,500);
f.setBackground(Color.yellow);
f.setVisible(true);
}
game0805(){
addWindowListener(new stopwin());
for (m=20;m<41;m++){
for (n=20;n<41;n++){
x[m][n]=100;
}
}
for (m=0;m<101;m++){
for (n=0;n<101;n++){
nx=(int)rotx(60,n-20,m-20)+20;
mx=(int)roty(60,n-20,m-20)+20;
j=0;
if(nx<100)j=j+1;
if(nx>0)j=j+1;
if(mx<100)j=j+1;
if(mx>0)j=j+1;
if(x[m][n]>50)j=j+1;
if(j==5)ch[mx][nx]=100;
}
}
}
class stopwin extends WindowAdapter{
public void windowClosing(WindowEvent we)
{System.exit(0);}
}
public void paint(Graphics g){
g.setColor(Color.blue);
for (m=0;m<101;m++){
for (n=0;n<101;n++){
if(x[m][n]>50)g.fillRect(5*n,5*m,5,5);
}
}
g.setColor(Color.red);
for (m=0;m<101;m++){
for (n=0;n<101;n++){
if(ch[m][n]>50)g.fillRect(5*n,5*m,5,5);
}
}
}
public static double rotx(double kakudo,double x,double y){
double kaku;
double a1,a2,a3,a4;
double x1,y1;
kaku = kakudo*Math.PI/180;
a1=Math.cos(kaku);
a2=-Math.sin(kaku);
a3=Math.sin(kaku);
a4=Math.cos(kaku);
x1=a1*x+a2*y;
y1=a3*x+a4*y;
return x1;
}
public static double roty(double kakudo,double x,double y){
double kaku;
double a1,a2,a3,a4;
double x1,y1;
kaku = kakudo*Math.PI/180;
a1=Math.cos(kaku);
a2=-Math.sin(kaku);
a3=Math.sin(kaku);
a4=Math.cos(kaku);
x1=a1*x+a2*y;
y1=a3*x+a4*y;
return y1;
}
}
最終更新:2011年02月28日 19:54