アットウィキロゴ

がめ0805

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