j2me设计论文--手机推箱子游戏设计内容摘要:

mport。 public class BoxMan extends GameCanvas implements Runnable{ Image image,winImage,allOver。 int[][] map。 int curX,curY,nextFirstX ,nextFirstY ,nextSecondX ,nextSecondY。 int direction。 //1 for up,2 for down,3 for left,4 for right TiledLayer bg。 Sprite winSprite,allOverSprite。 LayerManager layerManager。 Graphics g。 MapSet mymap = new MapSet()。 int currentMap = 1。 int redBoxAll = 0,redBoxNow = 0。 boolean win = false。 public BoxMan(){ super(true)。 map = new int[10][8]。 layerManager = new LayerManager()。 g = ()。 try{ image = (/Game/)。 winImage = (/Game/)。 allOver = (/Game/)。 } catch(Exception e){ (())。 } 本科课程设计论文 12 winSprite = new Sprite(winImage)。 allOverSprite = new Sprite(allOver)。 (getWidth()/()/2, getHeight()/()/2)。 (false)。 (false)。 bg = new TiledLayer(8, 11, image, 30, 30)。 (allOverSprite)。 (winSprite)。 (bg)。 setMap(currentMap)。 for(int i = 0。 i。 i++){ for(int j = 0。 j map[i].length。 j++) (j, i, map[i][j])。 } for(int i = 0。 i。 i++){ for(int j = 0。 jmap[i].length。 j++){ if(map[i][j] == 7 ||map[i][j] == 8){ curX = i。 curY = j。 //find the current locateion where the man is break。 } } } (g, 0, 0)。 Thread t = new Thread(this)。 ()。 } public void run() { while(true){ int keyStates = ()。 if(win == false){ 本科课程设计论文 13 if((keyStates amp。 LEFT_PRESSED) != 0) { direction = 3。 moveMan()。 updateLayer()。 } if((keyStates amp。 RIGHT_PRESSED) != 0) { direction = 4。 moveMan()。 updateLayer()。 } if((keyStates amp。 UP_PRESSED) != 0) { direction = 1。 moveMan()。 updateLayer()。 } if((keyStates amp。 DOWN_PRESSED) != 0){ direction = 2。 moveMan()。 updateLayer()。 }} else{//win == true if((keyStates amp。 FIRE_PRESSED) != 0){ (false)。 if(currentMap != ()){ win = false。 setMap(++currentMap)。 } else { win = true。 (true)。 (g, 0, 0)。 flushGraphics()。 本科课程设计论文 14 } } } try{ (100)。 } catch(InterruptedException e){ ()。 } } } public void moveMan(){ nextFirstX = curX。 nextFirstY = curY。 nextSecondX = curX。 nextSecondY = curY。 switch(direction){ case 1:{//up nextFirstX = curX 1。 nextSecondX = curX 2。 break。 } case 2:{//down nextFirstX = curX + 1。 nextSecondX = curX + 2。 break。 } case 3:{//left nextFirstY = curY 1。 nextSecondY = curY 2。 break。 } case 4:{//right nextFirstY = curY + 1。 nextSecondY = curY + 2。 break。 } } 本科课程设计论文 15 try{ if(map[nextFirstX][nextFirstY] == 4 || map[nextFirstX][nextFirstY] == 5){ //box is in front of the man if(map[nextSecondX][nextSecondY] == 2) map[nextSecondX][nextSecondY] = 4。 else if(map[nextSecondX][nextSecondY] == 1) return。 else if(map[nextSecondX][nextSecondY] == 6) map[nextSe。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。