import java.util.*; import java.awt.*; public class object1 extends object{ volatile int state=0; int teller=0; int pos=0; boolean debug=false; int WE=0; public object1(){ methods[0]="hit"; methods[1]="event1"; methods[2]="event2"; methods[3]="event"; methods[4]="resetevent"; objnumber=1; } public void init(Global glbl){ global=glbl; if(debug)System.out.println("init object1!"); image=global.loadImage(global.Server, global.Directory+objnumber+global.Extention, global.show); sound=global.loadSound(global.Server, global.Directory+"1.au"); } public void execute(){ if(method.compareTo("hit")==0) hit(); if(method.compareTo("event")==0) event(); if(method.compareTo("event1")==0) event1(); if(method.compareTo("event2")==0) event2(); if(method.compareTo("resetevent")==0) resetevent(); } public void hit(){ global.waitforme=true; if(global.playsound) if(sound!=null){ sound.play(); } state=1; } public void event2(){ // set the position to where it is suppose to go! global.freeze=false; global.aftermoves=true; global.State=global.NOTHING; global.waitforme=false; global.resetevent=true; state=0; } public void event1(){ int x=0; int P=1; int y=0; WE=getNr(); global.freeze=true; if(pos++ > global.STEPP-2){ pos=0; state=2; global.stap=0; teller=0; } if(global.stap < global.STEPP) global.stap++; else global.stap=0; x=global.player.getX(); y=global.player.getY(); if(global.dir == -global.STEPP){ int we=global.grid.getxy(x-P,y); if(we==WE|| we==1){ global.player.set(x-P,y); } } if(global.dir == global.STEPP){ int we=global.grid.getxy(x+P,y); if(we==WE || we==1){ global.player.set(x+P,y); } } if(global.dir == global.STEPP*global.WIDTH){ int we=global.grid.getxy(x,y+P); if(we==WE|| we==1){ global.player.set(x, y+P); } } if(global.dir == -global.STEPP*global.WIDTH){ int we=global.grid.getxy(x,y-P); if(we==WE|| we==1){ global.player.set(x,y-P); } } global.State=global.WALK; global.PLAYERSTATE=0; } public void resetevent(){ global.PLAYERSTATE=0; global.waitforme=false; WE=0; global.freeze=false; } public void event(){ // put everything here like a 'run' method switch(state){ case 1: event1(); break; case 2: event2(); break; } // draw image } }