⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firststage.java

📁 类似于推箱子的手机游戏源码
💻 JAVA
字号:
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.game.TiledLayer;
/*
 * FirstStage.java
 *
 * Created on 2007年12月2日, 上午8:38
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

/**
 *
 * @author liang
 */
public class FirstStage extends Stage{

    private AchieveCanvas canvas;
    
    /** Creates a new instance of FirstStage */
    public FirstStage(AchieveCanvas canvas) {
        this.canvas = canvas;
        ScreenWid = canvas.getWidth();
        ScreenHigt = canvas.getHeight();
        box = new Sprite(ImageTools.createImage("/box.png"));
        exit = new Sprite(ImageTools.createImage("/exit.png"));
        backgroundLayer = new TiledLayer(8, 9, ImageTools.createImage("/brick.png"), 15, 15);
    }

    public void init() {
//          isPaused = false;
//        gameover = false;
      
                int[][] map = {
                                    { 0, 0, 0, 1, 0, 0, 0, 0 },
                                    { 0, 0, 0, 0, 0, 0, 1, 0 },
                                    { 0, 1, 0, 0, 0, 0, 0, 0 },
                                    { 0, 0, 0, 0, 0, 0, 0, 1 },
                                    { 0, 0, 0, 0, 1, 0, 0, 0 },
                                    { 0, 0, 0, 0, 0, 0, 0, 0 },
                                    { 1, 0, 0, 0, 0, 0, 0, 0 },
                                    { 0, 0, 0, 0, 0, 1, 0, 0 },
                                    { 0, 0, 1, 0, 0, 0, 0, 0 }
                               };

              
                for(int i = 0; i < 9; i++){
                    for(int j=0;j<8;j++)
                      backgroundLayer.setCell(j, i, map[i][j]);
                }
                backgroundLayer.setPosition( (ScreenWid - backgroundLayer.getWidth() )/2, (ScreenHigt - backgroundLayer.getHeight())/2 );
                int initX = backgroundLayer.getX() + 45;
                int initY = backgroundLayer.getY() + 60;
                box.setPosition(initX, initY); 
                int exitX = backgroundLayer.getX();
                int exitY = backgroundLayer.getY() + 75;
                exit.setPosition(exitX, exitY);
               
            
    }

    public void checkCollision(int keypressed) {
         switch(keypressed){
            case UPMOVE:
               do{  
                   if(box.collidesWith(exit, true)){
                         canvas.doStagepassing();
                         break;
                    }                 
                    canvas.repaint();                        
                    canvas.threadSleep();
                    
                    box.move(0, -MOVE);
                } while(!box.collidesWith(backgroundLayer,true) && !canvas.CheckOutOfEdge());
                box.move(0, MOVE);
                 break;
            case DOWNMOVE:
                do{ 
                    if(box.collidesWith(exit, true)){
                         canvas.doStagepassing();
                         break;
                    }                 
                    canvas.repaint();                        
                    canvas.threadSleep();
                    
                    box.move(0, MOVE);     
                }while(!box.collidesWith(backgroundLayer,true) && !canvas.CheckOutOfEdge());
                box.move(0, -MOVE);
                break;
            case LEFTMOVE:
                do{
                    if(box.collidesWith(exit, true)){
                         canvas.doStagepassing();
                         break;
                    }
                    canvas.repaint();                        
                    canvas.threadSleep();
                     
                      box.move(-MOVE, 0);
                }while(!box.collidesWith(backgroundLayer,true) && !canvas.CheckOutOfEdge());
                 box.move( MOVE,0 );
                break;
            case RIGHTMOVE:
               do{  
                   if(box.collidesWith(exit, true)){
                         canvas.doStagepassing();
                         break;
                    }               
                   canvas.repaint();                        
                    canvas.threadSleep();              
                      box.move(MOVE, 0);
                } while(!box.collidesWith(backgroundLayer,true) && !canvas.CheckOutOfEdge());
                 box.move(-MOVE, 0);
                break;
           default:
               break;
        }
    }

    public int getNumOfBombs() {
        return 0;
    }

    public boolean getFlag(int n) {
        return false;
    }

    public int getTime(int n) {
        return 0;
    }

    public void setTime(int n) {
        
    }

    public int[] getCoordinate(int n) {
        return new int[2];
    }

    public void setFlag(int i, boolean b) {
    }

    public void setLeftOfBombs() {
    }

    public int getLeftOfBombs() {
        return -1;
    }

    public Sprite getPipe(int index) {
        return null;
    }
    

    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -