import com.nttdocomo.ui.IApplication;
import com.nttdocomo.ui.Display;
import com.nttdocomo.ui.Graphics;
import com.nttdocomo.ui.Canvas;
import com.nttdocomo.ui.MediaManager;
import com.nttdocomo.ui.MediaImage;
import com.nttdocomo.ui.Image;
import com.nttdocomo.io.ConnectionException;
import com.nttdocomo.ui.UIException;
public class BlockMain extends Canvas implements Runnable{
private int game;
private int bx;
private int by;
private int bd;
private Thread thread;
BlockMain(){
setSoftLabel(SOFT_KEY_1, "Start");
setSoftLabel(SOFT_KEY_2, "Exit");
game = 0;
thread = new Thread(this);
thread.start();
}
public void run(){
while(true){
try{
thread.sleep(5);
}catch (InterruptedException e){
break;
}
repaint();
}
}
public void paint(Graphics g){
if (game == 0){
bx = 700;
by = 500;
bd = 60;
game = 1;
}else if (game == 1){
g.lock();
g.setColor(Graphics.getColorOfName(Graphics.WHITE));
g.fillRect(0, 0, 100, 120);
g.setColor(Graphics.getColorOfName(Graphics.BLACK));
g.fillRect(2, 2, 96, 116);
g.unlock(true);
game = 2;
}else if (game == 2){
drawBall(g);
}
}
/* Ballを描く */
private void drawBall(Graphics g){
g.lock();
/*
g.setColor(Graphics.getColorOfName(Graphics.BLACK));
g.fillRect(bx / 10, by / 10, 4, 4);
*/
moveBall();
g.setColor(Graphics.getColorOfName(Graphics.WHITE));
g.fillRect(bx / 10 + 1, by / 10, 2, 4);
g.fillRect(bx / 10, by / 10 + 1, 4, 2);
g.unlock(true);
}
/* Ballを動かす */
private void moveBall(){
/* (2,2) - (97,117) */
if (bd == 45){
bx += 10;
by -= 10;
if (bx >= 940){
bd = 135;
}
if (by <= 20){
bd = 315;
}
}else if (bd == 135){
bx -= 10;
by -= 10;
if (bx <= 20){
bd = 45;
}
if (by <= 20){
bd = 225;
}
}else if (bd == 225){
bx -= 10;
by += 10;
if (bx <= 20){
bd = 315;
}
if (by >= 1130){
bd = 135;
}
}else if (bd == 315){
bx += 10;
by += 10;
if (bx >= 940){
bd = 225;
}
if (by >= 1130){
bd = 45;
}
}else if (bd == 30){
bx += 10;
by -= 5;
if (bx >= 940){
bd = 150;
}
if (by <= 20){
bd = 330;
}
}else if (bd == 150){
bx -= 10;
by -= 5;
if (bx <= 20){
bd = 30;
}
if (by <= 20){
bd = 210;
}
}else if (bd == 210){
bx -= 10;
by += 5;
if (bx <= 20){
bd = 330;
}
if (by >= 1130){
bd = 150;
}
}else if (bd == 330){
bx += 10;
by += 5;
if (bx >= 940){
bd = 210;
}
if (by >= 1130){
bd = 30;
}
}else if (bd == 60){
bx += 5;
by -= 10;
if (bx >= 940){
bd = 120;
}
if (by <= 20){
bd = 300;
}
}else if (bd == 120){
bx -= 5;
by -= 10;
if (bx <= 20){
bd = 60;
}
if (by <= 20){
bd = 240;
}
}else if (bd == 240){
bx -= 5;
by += 10;
if (bx <= 20){
bd = 300;
}
if (by >= 1130){
bd = 120;
}
}else if (bd == 300){
bx += 5;
by += 10;
if (bx >= 940){
bd = 240;
}
if (by >= 1130){
bd = 60;
}
}
}
public void processEvent(int type, int param){
if(type == Display.KEY_PRESSED_EVENT){
if (param == Display.KEY_SOFT1){
game = 0;
}else if (param == Display.KEY_SOFT2){
IApplication.getCurrentApp().terminate();
}
if (param == Display.KEY_LEFT){
}else if(param == Display.KEY_RIGHT){
}else if(param == Display.KEY_UP){
}else if(param == Display.KEY_DOWN){
}
}
}
}
|