l TerrisMIDlet——MIDlet類
l GameCanvas——遊戲界面類
l GameEngine——遊戲邏輯類
使用WTK2.5.1運行通過.
具體代碼如下:
//MIDlet類
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class TerrisMIDlet extends MIDlet {
public TerrisMIDlet() {
Display.getDisplay(this).setCurrent(new GameCanvas());
}
protected void destroyApp(boolean arg0) {}
protected void pauseApp() {}
protected void startApp() {}
}
//界面類
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
/**
* 俄羅斯方塊遊戲界面
*/
public class GameCanvas extends Canvas implements Runnable{
GameEngine engine = new GameEngine();
int width;
int height;
/**遊戲結束變量*/
boolean gameOver = false;
/**遊戲暫停變量*/
boolean isPaused = false;
String pauseStr = "暫停";
String continueStr = "繼續";
public GameCanvas(){
//全屏幕
setFullScreenMode(true);
width = getWidth();
height = getHeight();
//啓動線程
Thread th = new Thread(this);
th.start();
}
protected void paint(Graphics g) {
//清屏
clearScreen(g);
//繪製邊框
paintBoard(g);
//繪製背景
engine.paintMap(g);
//繪製當前下落方塊
engine.paintBrick(g);
//繪製下一個方塊
engine.paintNextBrick(g);
//繪製關卡和遊戲得分
engine.paintLevelAndScore(g);
//繪製遊戲結束
if(gameOver){
g.drawString("Game Over", 30, 85,
Graphics.TOP | Graphics.LEFT);
}
//繪製暫停按鈕文字
if(isPaused){
g.drawString(pauseStr,width,height,
Graphics.RIGHT | Graphics.BOTTOM);
}else{
g.drawString(continueStr,width,height,
Graphics.RIGHT | Graphics.BOTTOM);
J2me 俄羅斯方塊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.