import java.awt.*;
import java.awt.event.*;
class game0113 extends Frame implements Runnable ,MouseMotionListener{
int coin;
int px,py;
int ix,iy;
int m,n;
int z[][]=
new int[11][11];
int mode;
public static void main(String [] args) {
Frame f=new game0113();
f.setTitle("[[game0113]]");
f.setSize(700,700);
f.setBackground(Color.yellow);
f.setVisible(true);
}
game0113(){
addMouseMotionListener(this);
Thread th=new Thread(this);
th.start();
addWindowListener(new stopwin());
}
class stopwin extends WindowAdapter{
public void windowClosing(WindowEvent we){System.exit(0);}
}
public void run(){
int t ;
int ix1,ix2,ix3,ix4;
int iy1,iy2,iy3,iy4;
int z1,z2,z3,z4;
int minz,minx,miny;
int j;
coin=0;
for (m=1;m<11;m++){
for (n=1;n<11;n++){
z[m][n]=1;
}
}
px=1;
py=1;
ix=10;
iy=10;
t=1;
mode=0;
while(mode<
100){
ix1=ix+1;
iy1=iy;
ix2=ix-1;
iy2=iy;
ix3=ix;
iy3=iy+1;
ix4=ix;
iy4=iy-1;
z1=(ix1-px)*(ix1-px)+(iy1-py)*(iy1-py);
z2=(ix2-px)*(ix2-px)+(iy2-py)*(iy2-py);
z3=(ix3-px)*(ix3-px)+(iy3-py)*(iy3-py);
z4=(ix4-px)*(ix4-px)+(iy4-py)*(iy4-py);
minz=
999;
minx=0;
miny=0;
if (z1<minz)minx=ix1;
if (z1<minz)miny=iy1;
if (z1<minz)minz=z1;
if (z2<minz)minx=ix2;
if (z2<minz)miny=iy2;
if (z2<minz)minz=z2;
if (z3<minz)minx=ix3;
if (z3<minz)miny=iy3;
if (z3<minz)minz=z3;
if (z4<minz)minx=ix4;
if (z4<minz)miny=iy4;
if (z4<minz)minz=z4;
ix=minx;
iy=miny;
if (coin==1)px=px+1;
if (coin==2)px=px-1;
if (coin==3)py=py+1;
if (coin==4)py=py-1;
if (px<1)px=1;
if (px>10)px=10;
if (py<1)py=1;
if (py>10)py=10;
j=0;
if(px==ix)j=j+1;
if(py==iy)j=j+1;
if(j==2)mode=300;
z[px][py]=0;
repaint();
try{
Thread.sleep(1000);
}catch(InterruptedException e){}
t=t+1;
if (t>100)mode=200;
}
repaint();
}
public void mouseDragged(MouseEvent e) {
}
public void mouseMoved(MouseEvent e) {
int x,y;
int h;
y=e.getY() ;
x=e.getX();
coin=0;
h=0;
if(x<175)h=h+1;
if(y>500)h=h+1;
if(h==2)coin=1;
h=0;
if(x>175)h=h+1;
if(x<350)h=h+1;
if(y>500)h=h+1;
if(h==3)coin=2;
h=0;
if(x>350)h=h+1;
if(x<525)h=h+1;
if(y>500)h=h+1;
if(h==3)coin=3;
h=0;
if(x>525)h=h+1;
if(y>500)h=h+1;
if(h==2)coin=4;
}
public void paint(Graphics g){
if (mode<100){
g.setColor(Color.red);
g.fillRect(0,500,175,200);
g.setColor(Color.green);
g.fillRect(175,500,175,200);
g.setColor(Color.red);
g.fillRect(350,500,175,200);
g.setColor(Color.green);
g.fillRect(525,500,175,200);
g.fillRect(100+50*px,100+50*py,50,50);
g.fillOval(100+50*ix,100+50*iy,30,30);
for (m=1;m<11;m++){
for (n=1;n<11;n++){
if (z[m][n]==1)g.fillRect(100+50*m,100+50*n,10,10);
}
}
}
if (mode==200){
g.setColor(Color.yellow);
g.fillRect(0,0,700,700);
g.setColor(Color.black);
g.drawString("time over",300,300);
}
if (mode==300){
g.setColor(Color.yellow);
g.fillRect(0,0,700,700);
g.setColor(Color.black);
g.drawString("game over",300,300);
}
}
}
最終更新:2011年02月07日 14:25