アットウィキロゴ

0903j

import java.awt.*;
import java.awt.event.*;

class game0903 extends Frame{

int m,n,m1,n1;
int face[][]=new int[101][101];
int chface[][]=new int[101][101];
int j;
double kakudo,kakudox;

public static void main(String[] args) {
game0903 f = new game0903();
f.setSize(700,700);
f.setBackground(Color.blue) ;
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){public void
windowClosing(WindowEvent e){System.exit(0);}});
}


game0903(){

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++){
kakudox=(50-m)*kakudo/40;
if(kakudox>kakudo)kakudox=kakudo;
if(kakudox<0)kakudox=0;
n1=(int)rotx(kakudox,n-50,m-50)+50;
m1=(int)roty(kakudox,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日 23:03