アットウィキロゴ

0913

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

class game0913 extends Frame implements Runnable ,MouseMotionListener{
int coin;
int px,py;
int ix,iy;
int m,n;
int z[][]=new int[11][11];
int mode;
int t ;
int ix1,ix2,ix3,ix4;
int iy1,iy2,iy3,iy4;
int z1,z2,z3,z4;
int minz,minx,miny;
int j;


public static void main(String [] args) {
       Frame f=new game0913();
       f.setTitle("game0913");
       f.setSize(700,700);
       f.setBackground(Color.yellow);
       f.setVisible(true);
   }

game0913(){

addMouseMotionListener(this);

map();

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(){

coin=0;

px=1;
py=1;
ix=10;
iy=10;

t=1;
mode=0;
while(mode<100){

inv();

packman();

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);
}

}

void map(){

for (m=1;m<11;m++){
for (n=1;n<11;n++){
z[m][n]=1;
}
}

}

void inv(){
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;
}

void packman(){

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;
}


}
最終更新:2011年03月03日 22:30