You are on page 1of 7

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* @author manu
*/
import java.util.*;
import javax.microedition.lcdui.*;
public class SquareGame extends Canvas implements
CommandListener {
private Command exit;
private LowLevel midlet;
int x,y,val,ychange=0,xchange=0,val2,a=5;
double b=32;
Array arr = new Array();
Timer t=new Timer();
public SquareGame(LowLevel midlet)
{ this.midlet = midlet;
exit = new Command("Exit", Command.EXIT, 1);
addCommand(exit);
setCommandListener(this);
}
protected void paint(Graphics g) {
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.fillRect(arr.x, arr.y, 30, 30);
}
class BounceSquare extends TimerTask
{
int k;
public BounceSquare(int key){
k=key;
}
public void run(){
if(k==1){
val=arr.y;
if(ychange==1&&ychange<=getHeight()){
arr.y=arr.y+1;
if(arr.y+30>=getHeight())
ychange=0;
}
else if(ychange==0){
if(val>0){
arr.y=arr.y-1;
}
if(arr.y<=0)
ychange=1;
}
val2=arr.x;
if(xchange==1&&xchange<=getWidth()){
arr.x=arr.x+1;

wait_time(b);
repaint();
serviceRepaints();
if(arr.x+30>=getWidth())
xchange=0;
}
else if(xchange==0){
if(val2>0){
arr.x=arr.x-1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.x<=0)
xchange=1;
}
}
if(k==2){
val=arr.y;
if(ychange==1&&ychange<=getHeight()){
arr.y=arr.y+1;
wait_time(b);
repaint();
serviceRepaints();
if(arr.y+30>=getHeight())
ychange=0;
}
else if(ychange==0){
if(val>0){
arr.y=arr.y-1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.y<=0)
ychange=1;
}
}
if(k==3){
val=arr.y;
if(ychange==1&&ychange<=getHeight()){
arr.y=arr.y+1;
if(arr.y+30>=getHeight())
ychange=0;
}
else if(ychange==0){
if(val>0){
arr.y=arr.y-1;
}
if(arr.y<=0)
ychange=1;
}
val2=arr.x;
if(xchange==1&&xchange<=getWidth()){
arr.x=arr.x-1;
wait_time(b);
repaint();
serviceRepaints();
if(arr.x<=0)
xchange=0;

}
else if(xchange==0){
if(val2>=0){
arr.x=arr.x+1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.x+30>=getWidth())
xchange=1;
}
}
if(k==4){
val=arr.x;
if(xchange==1&&xchange<=getWidth()){
arr.x=arr.x+1;
wait_time(b);
repaint();
serviceRepaints();
if(arr.x+30>=getWidth())
xchange=0;
}
else if(xchange==0){
if(val>0){
arr.x=arr.x-1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.x<=0)
xchange=1;
}
}
if(k==6){
int val;
val=arr.x;
if(xchange==1&&xchange<=getWidth()){
arr.x=arr.x-1;
wait_time(b);
repaint();
serviceRepaints();
if(arr.x<=0)
xchange=0;
}
else if(xchange==0){
if(val>=0){
arr.x=arr.x+1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.x+30>=getWidth())
xchange=1;
}
}
if(k==7){
val=arr.y;
if(ychange==1&&ychange<=getHeight()){

arr.y=arr.y-1;
if(arr.y<=0)
ychange=0;
}
else if(ychange==0){
if(val>=0){
arr.y=arr.y+1;
}
if(arr.y+30>=getHeight())
ychange=1;
}
val2=arr.x;
if(xchange==1&&xchange<=getWidth()){
arr.x=arr.x+1;
wait_time(b);
repaint();
serviceRepaints();
if(arr.x+30>=getWidth())
xchange=0;
}
else if(xchange==0){
if(val2>0){
arr.x=arr.x-1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.x<=0)
xchange=1;
}
}
if(k==8){
val=arr.y;
if(ychange==1&&ychange<=getHeight()){
arr.y=arr.y-1;
wait_time(b);
repaint();
serviceRepaints();
if(arr.y<=0)
ychange=0;
}
else if(ychange==0){
if(val>=0){
arr.y=arr.y+1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.y+30>=getHeight())
ychange=1;
}
}
if(k==9){
int val;
val=arr.y;
if(ychange==1&&ychange<=getHeight()){
arr.y=arr.y-1;
if(arr.y<=0)
ychange=0;

}
else if(ychange==0){
if(val>=0){
arr.y=arr.y+1;
}
if(arr.y+30>=getHeight())
ychange=1;
}
val2=arr.x;
if(xchange==1&&xchange<=getWidth()){
arr.x=arr.x-1;
wait_time(b);
repaint();
serviceRepaints();
if(arr.x<=0)
xchange=0;
}
else if(xchange==0){
if(val2>=0){
arr.x=arr.x+1;
wait_time(b);
repaint();
serviceRepaints();
}
if(arr.x+30>=getWidth())
xchange=1;
}
}
}
}
public void wait_time(double n){
long t0, t1;
t0=System.currentTimeMillis();
do{
t1=System.currentTimeMillis();
}while((t1-t0)<n);
}
public void commandAction(Command c, Displayable d){
if(c==exit){
t.cancel();
midlet.exitMIDlet();
}
}
protected void keyPressed(int keyCode) {
if(49<=keyCode&&keyCode<=57){
int key=Integer.parseInt(getKeyName(keyCode));
switch(key) {
case 1:
xchange=0;ychange=0;
t.cancel();
t=new Timer();
t.schedule(new BounceSquare(1), 0, a);
break;
case 2:
ychange=0;

t.cancel();
t=new Timer();
t.schedule(new BounceSquare(2),
break;
case 3:
xchange=0;ychange=0;
t.cancel();
t=new Timer();
t.schedule(new BounceSquare(3),
break;
case 4:
xchange=0;
t.cancel();
t=new Timer();
t.schedule(new BounceSquare(4),
break;
case 5:
t.cancel();
break;
case 6:
xchange=0;
t.cancel();
t=new Timer();
t.schedule(new BounceSquare(6),
break;
case 7:
xchange=0;ychange=0;
t.cancel();
t=new Timer();
t.schedule(new BounceSquare(7),
break;
case 8:
ychange=0;
t.cancel();
t=new Timer();
t.schedule(new BounceSquare(8),
break;
case 9:
xchange=0;ychange=0;
t.cancel();
t=new Timer();
t.schedule(new BounceSquare(9),
break;
default:
break;
}
}
if(keyCode==-2){
if(b>0 && b<5000)
b=b*2;
}
if(keyCode==-1){
if(b==4);
else
b=b*0.5;
}
}
}

0, a);

0, a);

0, a);

0, a);

0, a);

0, a);

0, a);

You might also like