import javax.microedition.lcdui.*; import java.util.*; class Louend4 extends Canvas{ int x, y,vaikexx,xx,vaikeyy, yy,xxx, xxx2, yyy, yyy2, samm=0,samm2=0, r=5,loendur, punkte=0, Nxxx, Nyyy, Nxxx2, Nyyy2, aeg=0; boolean vasakule, paremale, alla, yles; Timer t; protected void paint(Graphics g){ g.setColor(255, 255, 255); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(0, 255, 0); g.drawRect(x-r, y-r, 2*r, 2*r); g.fillRect(xxx,yyy,xxx2, yyy2); g.setColor(0, 255, 255); g.fillRect(xx,yy, 10, 10); } protected void keyPressed(int kood){ if(getGameAction(kood)==Canvas.LEFT){ //see if lause tagab, et samm vajutuste kasvades ei kasvaks --> et vältida tõketest läbi minekut. if(samm>-1){ samm=samm-1;vasakule=true;paremale=false; } } if(getGameAction(kood)==Canvas.RIGHT){ //if lause tagab, et samm vajutuste kasvades ei kasvaks --> et vältida tõketest läbi minekut. if(samm<1){ samm=samm+1;paremale=true;vasakule=false; } } if(getGameAction(kood)==Canvas.UP){ //if lause tagab, et samm vajutuste kasvades ei kasvaks --> et vältida tõketest läbi minekut. if(samm2>-1){ samm2=samm2-1;yles=true; alla=false;} } if(getGameAction(kood)==Canvas.DOWN){ //if lause tagab, et samm vajutuste kasvades ei kasvaks --> et vältida tõketest läbi minekut. if(samm2<1){ samm2=samm2+1;alla=true; yles=false;} } } public void showNotify(){ xxx=Math.abs(new Random().nextInt() % (getWidth()-30));// Tokete joonistamiseks1 yyy=Math.abs(new Random().nextInt() % (getHeight()-20));// Tokete joonistamiseks1 xxx2=Math.abs(new Random().nextInt() % (getWidth()-40));// Tokete joonistamiseks2 yyy2=Math.abs(new Random().nextInt() % (getHeight()-20));// Tokete joonistamiseks2 vaikexx=Math.abs(new Random().nextInt() % (getWidth()-20));// kuuli juhuslikku kohta panemiseks vaikeyy=Math.abs(new Random().nextInt() % (getHeight()-20));//kuuli juhuslikku kohta panemiseks if((((vaikexx)>xxx)&&((vaikexx)yyy)&&((vaikeyy)xxx)&&(vaikeyy>yyy)&&((vaikeyy)xxx)&&((vaikeyy)+10>yyy)&&((vaikeyy)+10xxx)&&((vaikeyy)+10>yyy)&&((vaikeyy)+10lopp public void hideNotify(){ t.cancel(); } void liigu(){ if((samm>0 && x+samm+r>getWidth()) || (samm<0 && x+samm-r<0)){ samm=0; } else { /*kui (liikuva klotsi (parem serv) ja tokke(vasak serv) x-id on yhesugused) ja (vaikese klotsi ylemise) ja (alumise tipu) y-id langevad kokku tokke y-i piirkonnaga ja on vajutatud siis...------> vasakult tulles paremale jaav sein */ if(((x-r)+(r*2)>=xxx)&&((x-r)+(r*2)<=(xxx+xxx2))&&(((y-r>yyy)&&((y-r)yyy)&&((y-r)+(2*r) paremalt tulles vasakule jaav sein*/ if((x-r<=xxx+xxx2)&&((x-r)>=(xxx))&&(((y-r>yyy)&&((y-r)yyy)&&((y-r)+(2*r) yles, alla jaav sein */ if((samm2>0 && y+samm2+r>getHeight()) || (samm2<0 && y+samm2-r<0)){ samm2=0; } else { if(((y-r)+(r*2)>=yyy)&&((y-r)+(r*2)<=yyy+yyy2)&&(((x-r>xxx)&&((x-r)xxx)&&((x-r)+(2*r)=yyy)&&(((x-r>xxx)&&((x-r)xxx)&&((x-r)+(2*r)=xx+2)) && ((y<=yy+8)&&(y>=yy+2))){ //kui minu klotsliigub kuuli peale, siis kuuö hyppab uude kohta if(loendur>=3){ //kui loendur=3 siis muudetakse nii tõkke kui kuuli asukohta Nxxx=Math.abs(new Random().nextInt() % (getWidth()-30));// Tokete joonistamiseks1 Nyyy=Math.abs(new Random().nextInt() % (getHeight()-20));// Tokete joonistamiseks1 Nxxx2=Math.abs(new Random().nextInt() % (getWidth()-40));// Tokete joonistamiseks2 Nyyy2=Math.abs(new Random().nextInt() % (getHeight()-20));// Tokete joonistamiseks2 // if lause tagab, et uus tekkiv toke ei tekiks minu klotsi otsa if((((x)>Nxxx)&&((x)Nyyy)&&((y)Nxxx)&&(y>Nyyy)&&((y)Nxxx)&&((y)+10>Nyyy)&&((y)+10Nxxx)&&((y)+10>Nyyy)&&((y)+10xxx)&&((vaikexx)yyy)&&((vaikeyy)xxx)&&(vaikeyy>yyy)&&((vaikeyy)xxx)&&((vaikeyy)+10>yyy)&&((vaikeyy)+10xxx)&&((vaikeyy)+10>yyy)&&((vaikeyy)+10lopp } //class Louend4-->lopp