J2me 俄羅斯方塊

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);
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章