亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mazegamecanvas.java

?? 一個簡單的手機游戲,學習J2ME是編寫的第一個游戲
?? JAVA
字號:


import java.io.IOException;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.LayerManager;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.game.TiledLayer;
import javax.microedition.lcdui.*;
//import java.util.*;


public class MazeGameCanvas extends GameCanvas implements Runnable{
    private static final int CELL_WIDTH = 24;	//圖像格子的寬度
    private static final int CELL_HEIGHT = 24;	//圖像格子的高度
    private Display display;
    static final byte GRASS = 1;     //背景草地??
    static final byte WALL = 2;      //墻
    
    static final byte BORDER = 72;	//地圖的邊大小,到達邊后就滾動地圖???????
    //游戲運行標志
    private boolean isRunning = true;
    //////////////////////
    private int isTime=Maze.isTime;
    private long oldTime = 0;
    private long newTime = 0;
    private long playTime = 10000;
    public Maze maze;
    //游戲地圖
  



  int[][] cells = {
    	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 
    	{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1}, 
    	{1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1}, 
    	{1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}, 
    	{1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, 
    	{1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1}, 
    	{1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1}, 
    	{1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1}, 
    	{1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1}, 
    	{1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1}, 
    	{1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1}, 
    	{1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1}, 
    	{1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1}, 
    	{1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1}, 
    	{1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1}, 
    	{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1}, 
    	{1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}, 
    	{1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}, 
    	{1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1}, 
    	{1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1}, 
    	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}
    };
    
  //=============== 視窗定義 =====================
    /**
     * 可視窗口的左上角坐標
     */
    private int vwX=0,vwY=0;
    /**
     * 可視窗口的寬度、高度
     */
 
    private int vwWidth = 0, vwHeight = 0;


    //=============== 汽車定義 =====================
    //移動方向??????
    private int direction = RIGHT;
    //汽車的動畫序列???
    private int[] aniSequence = {0, 1, 0, 1, 0, 2};
    //汽車的坐標
    int carX,carY;
    //汽車精靈
    Sprite car;
    
    //================ 圖層定義 ===================
    // 墻圖層?
    TiledLayer walls;
    // 背景圖層
    TiledLayer bg;
    //定義LayerManager管理圖層以及滾動地圖
    LayerManager layers;
      
    /**
     * 構造函數,創建游戲畫布
     * @param parent
     */
    public MazeGameCanvas(Display dis,Maze maze1) {
        super(false);
        maze=maze1;
        setFullScreenMode(true);     
        vwWidth =  getWidth();
        vwHeight = getHeight();
        display=dis;
    }
   
    //線程的執行體
    public void run() {
        Graphics g = getGraphics();
        isRunning = true;

        while (isRunning) {
            int keyState = getKeyStates();
            if ((keyState & LEFT_PRESSED) != 0) {
            	move(LEFT);
            } else if ((keyState & RIGHT_PRESSED) != 0) {
            	move(RIGHT);
            }else if ((keyState & UP_PRESSED) != 0) {
            	move(UP);
            }else if ((keyState & DOWN_PRESSED) != 0) {
            	move(DOWN);
            }
  
            car.nextFrame();
            
            layers.paint(g, 0,0);
            //刷新畫面
            flushGraphics();
            newTime=System.currentTimeMillis();
            if(!(carY == cells.length-1 && carX == cells[0].length-2) && (newTime-oldTime)>=playTime && isTime==1)
			{
            	information info=new information(false,display,maze);
	    		display.setCurrent(info);
    		}
            try {
                Thread.sleep(50); // sleep a bit
            } catch(InterruptedException ex){
                ex.printStackTrace();
            }
        }
    }
    
    /**
     * 移動汽車
     * <p>
     * @param dir 汽車的方向
     */
    private void move(int dir) {
        //改變汽車方向
		direction = dir;
		switch(direction) {
		case LEFT: 
			car.setTransform(Sprite.TRANS_NONE);
			break;
		case RIGHT:
			car.setTransform(Sprite.TRANS_MIRROR);
			break;
		case UP:
			car.setTransform(Sprite.TRANS_ROT90);
			break;
		case DOWN:
			car.setTransform(Sprite.TRANS_ROT270);
			break;
		}
		car.setPosition(carX*CELL_HEIGHT, carY*CELL_WIDTH);
		//移動汽車
		int x = carX;
		int y = carY;
		switch(direction) {
		case LEFT: 
			x--;
			break;
		case RIGHT:
			x++;
			break;
		case UP:
			y--;
			break;
		case DOWN:
			y++;
			break;
		}  
		movexy(x, y);
    }
    
    private void movexy(int x, int y) {
    	car.setPosition(x*CELL_HEIGHT, y*CELL_WIDTH);
    	//判斷是否可以移動 - 與墻進行碰撞檢測
    	if (car.collidesWith(walls, false)) {
    		car.setPosition(carX*CELL_HEIGHT, carY*CELL_WIDTH);
    		return;
    	} 
    	
    	carX = x;
    	carY = y;
    	
    	//檢測是否走出迷宮
    	if (carY == cells.length-1 && carX == cells[0].length-2) {
    		information info=new information(true,display,maze);
    		display.setCurrent(info);
    	}
    	
    	//判斷是否需要滾動地圖
    	int cx = carX * CELL_WIDTH;
    	int cy = carY * CELL_WIDTH;
    	if (cx < vwX + BORDER && vwX>=CELL_WIDTH) {
    		//向左滾動屏幕
    		vwX -= CELL_WIDTH;
    		layers.setViewWindow(vwX, vwY, vwWidth, vwHeight);
    	} else if (cx > vwX + vwWidth - BORDER 
    			&& vwX + vwWidth<=bg.getWidth() - CELL_WIDTH) {
    		//向右滾動屏幕
    		vwX += CELL_WIDTH;
    		layers.setViewWindow(vwX, vwY, vwWidth, vwHeight);
    	}

    	if (cy < vwY + BORDER && vwY>=CELL_HEIGHT) {
    		//向上滾動屏幕
    		vwY -= CELL_HEIGHT;
    		layers.setViewWindow(vwX, vwY, vwWidth, vwHeight);
    	} else if (cy > vwY + vwHeight - BORDER 
    			&& vwY + vwHeight<=bg.getHeight() - CELL_HEIGHT) {
    		//向下滾動屏幕
    		vwY += CELL_HEIGHT;
    		layers.setViewWindow(vwX, vwY, vwWidth, vwHeight);
    	}  	
    }
    
    //初始化游戲
    public void initialize() {
        //初始化數據
        vwX = 0;
        vwY = 0;
        carX = 1;
        carY = 1;
        
        Image imgBG = null;
        Image imgCar = null;
        try {
        	imgBG = Image.createImage("/res/bg.png");
        	imgCar = Image.createImage("/res/car.png");
        } catch (IOException e) {
        	System.out.println("裝載圖像出現錯誤:  " + e.getMessage());
            e.printStackTrace();
        }

        //創建背景草地圖層
        bg = new TiledLayer(cells.length, cells[0].length, 
        		imgBG, CELL_WIDTH, CELL_HEIGHT);
        //創建墻圖層
        walls = new TiledLayer(cells.length, cells[0].length, 
        		imgBG, CELL_WIDTH, CELL_HEIGHT);
        for(int y=0;y<cells.length;y++) {
            for(int x=0;x<cells[0].length;x++) {
            	if (cells[y][x] == 1) {
            		walls.setCell(x, y, WALL);
            	} else {
            		bg.setCell(x, y, GRASS);
            	}
            }
        }
        
        car = new Sprite(imgCar, CELL_WIDTH, CELL_HEIGHT);
        car.setFrameSequence(aniSequence);
        //缺省方向向右
        car.setTransform(Sprite.TRANS_MIRROR);
        car.setPosition(carX*CELL_HEIGHT, carY*CELL_WIDTH);
        
        // 創建圖層管理
        layers = new LayerManager();
        layers.append(car);
        layers.append(walls);
        layers.append(bg);
        //設置可視窗口
        layers.setViewWindow(vwX, vwY, vwWidth, vwHeight);
        //創建并啟動游戲線程
        
        new Thread(this).start();
        oldTime=System.currentTimeMillis();
    }
    public void intCells(int[] arr)
    {
    	
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产一区二区三精品乱码| 欧美激情综合网| 国产欧美一区二区在线| 伊人婷婷欧美激情| 国产伦精品一区二区三区视频青涩| 色综合久久天天综合网| 久久香蕉国产线看观看99| 亚洲午夜激情网站| a亚洲天堂av| 久久综合精品国产一区二区三区 | 福利一区在线观看| 欧美日韩一区不卡| 亚洲色图另类专区| 成人爱爱电影网址| 国产亚洲精品aa午夜观看| 天天射综合影视| 色噜噜久久综合| 国产精品久久综合| 成人综合在线观看| 精品国产一区二区亚洲人成毛片| 亚洲成人三级小说| 91国产精品成人| 亚洲欧美一区二区三区孕妇| 福利一区福利二区| 国产午夜三级一区二区三| 蜜臀av亚洲一区中文字幕| 欧美日韩你懂得| 亚洲成人久久影院| 日韩午夜激情免费电影| 亚洲欧洲av色图| 欧美xxxx在线观看| 综合欧美亚洲日本| av亚洲精华国产精华精华| 国产亚洲欧洲一区高清在线观看| 老汉av免费一区二区三区| 日韩一级完整毛片| 狠狠狠色丁香婷婷综合久久五月| 欧美一区二区私人影院日本| 偷拍日韩校园综合在线| 51午夜精品国产| 视频一区在线播放| 日韩欧美一区在线| 精品一区二区三区在线播放| 久久女同互慰一区二区三区| 国产精品一区二区在线播放| 久久精品视频网| 不卡av免费在线观看| 综合激情成人伊人| 91国偷自产一区二区三区成为亚洲经典| 国产精品国产自产拍在线| 色综合久久中文字幕| 亚洲综合一区二区| 欧美一区二区三区公司| 激情亚洲综合在线| 国产精品三级视频| 欧美专区在线观看一区| 偷窥少妇高潮呻吟av久久免费| 制服视频三区第一页精品| 精品一区二区三区不卡| 久久精品人人做人人综合 | www.在线成人| 伊人性伊人情综合网| 欧美一区二区三区小说| 国产精品自产自拍| 伊人开心综合网| 国产喷白浆一区二区三区| 风间由美一区二区av101| 亚洲免费观看在线观看| 欧美一区二区三区视频| 国产成人在线网站| 亚洲美女偷拍久久| 精品国产sm最大网站免费看| www.66久久| 久久国产日韩欧美精品| 亚洲欧美韩国综合色| 7777精品伊人久久久大香线蕉最新版| 狠狠久久亚洲欧美| 一二三区精品视频| 国产欧美久久久精品影院| 91极品视觉盛宴| 国产sm精品调教视频网站| 亚洲h动漫在线| 亚洲丝袜自拍清纯另类| 日韩一区二区三区av| 日本丶国产丶欧美色综合| 国产精品中文字幕日韩精品| 亚洲成人动漫在线免费观看| 中文一区一区三区高中清不卡| 欧美精品视频www在线观看| av在线播放不卡| 国模少妇一区二区三区| 香蕉久久夜色精品国产使用方法| 中文字幕欧美日本乱码一线二线| 欧美丰满少妇xxxbbb| 91蜜桃在线观看| 丁香亚洲综合激情啪啪综合| 蜜臀av一区二区| 日韩有码一区二区三区| 亚洲另类在线视频| 中文字幕日韩av资源站| 久久综合九色欧美综合狠狠| 欧美一区午夜精品| 9191成人精品久久| 欧美图片一区二区三区| 91天堂素人约啪| 99麻豆久久久国产精品免费| 国产一区免费电影| 精品一区二区三区av| 久久精品国产精品亚洲综合| 无吗不卡中文字幕| 首页国产丝袜综合| 亚洲va韩国va欧美va精品| 一区二区三区在线播| 亚洲女子a中天字幕| 国产精品不卡一区| 1000精品久久久久久久久| 中文字幕欧美国产| 亚洲欧洲精品一区二区精品久久久| 国产日韩欧美激情| 中文字幕一区二区三区在线播放| 中文在线资源观看网站视频免费不卡| 日本一区二区三区在线不卡| 国产无一区二区| 国产精品传媒在线| 亚洲自拍欧美精品| 亚洲线精品一区二区三区| 香蕉成人啪国产精品视频综合网| 亚洲123区在线观看| 三级在线观看一区二区| 另类小说图片综合网| 韩国成人在线视频| av在线免费不卡| 欧美三级一区二区| 日韩你懂的在线观看| 久久久精品国产免费观看同学| 欧美极品xxx| 日韩—二三区免费观看av| 水蜜桃久久夜色精品一区的特点 | 中文字幕在线一区免费| 亚洲欧美aⅴ...| 三级欧美在线一区| 精品一区二区国语对白| 成人午夜在线免费| 91久久免费观看| 日韩欧美一级精品久久| 中文av一区二区| 亚洲电影中文字幕在线观看| 裸体歌舞表演一区二区| 成人黄色a**站在线观看| 欧美日韩一级大片网址| 欧美成人在线直播| 亚洲色图视频网| 久久99久久久欧美国产| 99精品偷自拍| 日韩欧美国产午夜精品| 国产精品人妖ts系列视频| 亚洲va国产天堂va久久en| 国产成人在线免费| 欧美日韩精品三区| 欧美激情一二三区| 日韩精品电影一区亚洲| 成人18精品视频| 欧美一区二区三区免费大片 | 欧美一区二区黄| 中国色在线观看另类| 香蕉成人啪国产精品视频综合网| 国产成人av资源| 欧美精品九九99久久| 最新国产精品久久精品| 男女激情视频一区| 色吊一区二区三区| 国产区在线观看成人精品 | 3d成人动漫网站| 中文字幕亚洲在| 国内一区二区在线| 欧美日本国产视频| 亚洲人成网站精品片在线观看| 精品一区二区成人精品| 69p69国产精品| 一区二区欧美在线观看| 成人免费毛片aaaaa**| 欧美mv日韩mv国产网站app| 亚洲网友自拍偷拍| 日韩久久久精品| 亚洲一区自拍偷拍| 成人激情文学综合网| 2022国产精品视频| 激情成人综合网| 欧美一级一级性生活免费录像| 亚洲男人的天堂av| 99精品在线观看视频| 中文乱码免费一区二区| 国产成人啪免费观看软件| 日韩视频中午一区| 日韩精品视频网站| 欧美精品v日韩精品v韩国精品v| 一区二区三区 在线观看视频| 91美女片黄在线| 依依成人综合视频| 欧美视频在线一区二区三区|