import java.awt.*;
import java.awt.event.*;
class game0902 extends Frame{
int m,n,m1,n1;
int face[][]=
new int
[101][101];
int chface[][]=new int[101][101];
int j;
double kakudo;
public static void main(String[] args) {
game0902 f = new game0902();
f.setSize(700,700);
f.setBackground(Color.blue) ;
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){public void
windowClosing(WindowEvent e){System.exit(0);}});
}
game0902(){
for(m=10;m<30;m++){
for(n=30;n<70;n++){
face[m][n]=
100;
}
}
for(m=30;m<50;m++){
for(n=40;n<60;n++){
face[m][n]=100;
}
}
kakudo=30;
for (m=0;m<100;m++){
for (n=0;n<100;n++){
n1=(int)rotx(kakudo,n-50,m-50)+50;
m1=(int)roty(kakudo,n-50,m-50)+50;
if(n1<0)n1=0;
if(m1<0)m1=0;
if(n1>99)n1=99;
if(m1>99)m1=99;
if (face[m][n]<50)chface[m1][n1]=30;
if (face[m][n]>50)chface[m1][n1]=100;
}
}
for (m=1;m<100;m++){
for (n=1;n<100;n++){
if(chface[m][n]==0)chface[m][n]=chface[m][n-1];
}
}
}
public void paint( Graphics g ) {
g.setColor(Color.blue);
g.fillRect(0,0,700,700);
g.setColor(Color.red);
for (m=0;m<100;m++){
for (n=0;n<100;n++){
if(chface[m][n]>50)g.fillRect(100+5*n,100+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年03月02日 22:45