﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-josn1984-随笔分类-java程序代码</title><link>http://www.blogjava.net/josn1984/category/11190.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 11 May 2007 23:10:44 GMT</lastBuildDate><pubDate>Fri, 11 May 2007 23:10:44 GMT</pubDate><ttl>60</ttl><item><title>此J2ME程序已经完善，贴出来大家看看（可惜我没能及时做注释，还请大家见谅）</title><link>http://www.blogjava.net/josn1984/archive/2007/04/25/113378.html</link><dc:creator>香蕈阁</dc:creator><author>香蕈阁</author><pubDate>Tue, 24 Apr 2007 22:32:00 GMT</pubDate><guid>http://www.blogjava.net/josn1984/archive/2007/04/25/113378.html</guid><wfw:comment>http://www.blogjava.net/josn1984/comments/113378.html</wfw:comment><comments>http://www.blogjava.net/josn1984/archive/2007/04/25/113378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/josn1984/comments/commentRss/113378.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/josn1984/services/trackbacks/113378.html</trackback:ping><description><![CDATA[<p><span style="COLOR: #0000ff" twffan="done"><strong style="FONT-SIZE: 18pt">这个是主文件（后面的是执行的操作文件）：</strong><br></span>import javax.microedition.midlet.*;<br>import javax.microedition.lcdui.*;</p>
<p>public class LostInForest extends MIDlet implements CommandListener{<br>&nbsp;<br>&nbsp;private Display display;<br>&nbsp;private Canvas canvas;<br>&nbsp;private Command exitCmd;<br>&nbsp;MenuScreen menuScreen = new MenuScreen();<br>&nbsp;MyGameCanvas gameCanvas = new MyGameCanvas();<br>&nbsp;<br>&nbsp;private Command exitGame;<br>&nbsp;Alert aAlert = new Alert("Game Method","Login the game,point up,down,left,right contron",null,AlertType.INFO);<br>&nbsp;Alert bAlert = new Alert("Maker","our",null,AlertType.INFO);<br>&nbsp;<br>&nbsp;public LostInForest(){<br>&nbsp;&nbsp;exitCmd = new Command("exit",Command.EXIT,2);<br>&nbsp;&nbsp;exitGame = new Command("Exit Game",Command.EXIT,1);<br>&nbsp;&nbsp;aAlert.setTimeout(10000);<br>&nbsp;&nbsp;bAlert.setTimeout(10000);<br>&nbsp;&nbsp;aAlert.addCommand(exitCmd);<br>&nbsp;&nbsp;bAlert.addCommand(exitCmd);</p>
<p><br>&nbsp;&nbsp;gameCanvas.addCommand(exitGame);<br>&nbsp;&nbsp;gameCanvas.setCommandListener(this);<br>&nbsp;&nbsp;aAlert.setCommandListener(this);<br>&nbsp;&nbsp;bAlert.setCommandListener(this);<br>&nbsp;}<br>&nbsp;public void startApp() throws MIDletStateChangeException{<br>&nbsp;&nbsp;canvas = new MenuScreen();<br>&nbsp;&nbsp;display = Display.getDisplay(this);<br>&nbsp;&nbsp;display.setCurrent(canvas);<br>&nbsp;}<br>&nbsp;public void pauseApp(){}<br>&nbsp;public void destroyApp(boolean b){}<br>&nbsp;public void commandAction(Command cmd,Displayable dis){<br>&nbsp;&nbsp;if(cmd == exitCmd){<br>&nbsp;&nbsp;&nbsp;display.setCurrent(menuScreen);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else if(cmd == exitGame){<br>&nbsp;&nbsp;&nbsp;System.gc();<br>&nbsp;&nbsp;&nbsp;destroyApp(false);<br>&nbsp;&nbsp;&nbsp;notifyDestroyed();<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;class MenuScreen extends Canvas implements Runnable{<br>&nbsp;&nbsp;final Font lowFont = Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_PLAIN,Font.SIZE_MEDIUM);<br>&nbsp;&nbsp;final Font highFont = Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE);<br>&nbsp;&nbsp;final int lowColor = 0x000000AA;<br>&nbsp;&nbsp;final int highColor = 0x00FF0000;<br>&nbsp;&nbsp;final int highBGColor = 0x00AAAAAA;<br>&nbsp;&nbsp;int width;<br>&nbsp;&nbsp;int height;<br>&nbsp;&nbsp;int startHeight;<br>&nbsp;&nbsp;int menuHeight;<br>&nbsp;&nbsp;final int spacing = highFont.getHeight()/2;<br>&nbsp;&nbsp;final String[] mainMenu = {"Start Game","Game Method","Worker","Exit"};<br>&nbsp;&nbsp;int menuIdx;<br>&nbsp;&nbsp;Thread menuThread;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;public MenuScreen(){<br>&nbsp;&nbsp;&nbsp;width = getWidth();<br>&nbsp;&nbsp;&nbsp;height = getHeight();<br>&nbsp;&nbsp;&nbsp;menuHeight = (highFont.getHeight() * mainMenu.length)+((mainMenu.length-1)*spacing);<br>&nbsp;&nbsp;&nbsp;startHeight = (height - menuHeight)/2+4;<br>&nbsp;&nbsp;&nbsp;menuIdx = 0;<br>&nbsp;&nbsp;&nbsp;menuThread = new Thread(this);<br>&nbsp;&nbsp;&nbsp;menuThread.start();<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;public void run(){<br>&nbsp;&nbsp;&nbsp;while(true){<br>&nbsp;&nbsp;&nbsp;&nbsp;repaint();<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;public void paint(Graphics g){<br>&nbsp;&nbsp;&nbsp;g.setColor(0x00FFFF00);<br>&nbsp;&nbsp;&nbsp;g.fillRect(0,0,width,height);<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;g.setColor(00,00,00);<br>&nbsp;&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE));<br>&nbsp;&nbsp;&nbsp;Font label1 = Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE);<br>&nbsp;&nbsp;&nbsp;g.drawString("LostInForest",62,label1.getHeight()/2,Graphics.TOP|Graphics.LEFT);<br>&nbsp;&nbsp;&nbsp;g.setColor(00,00,00);<br>&nbsp;&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE));<br>&nbsp;&nbsp;&nbsp;g.drawString("LostInForest",0,24,Graphics.TOP|Graphics.LEFT);<br>&nbsp;&nbsp;&nbsp;g.setColor(00,00,00);<br>&nbsp;&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE));<br>&nbsp;&nbsp;&nbsp;g.drawString("<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#67;&#111;&#112;&#121;&#114;&#105;&#103;&#104;&#116;&#64;&#50;&#48;&#48;&#55;">Copyright@2007</a> SZPT",25,145,Graphics.LEFT|Graphics.TOP);<br>&nbsp;&nbsp;&nbsp;g.setColor(00,00,00);<br>&nbsp;&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD,Font.SIZE_LARGE));<br>&nbsp;&nbsp;&nbsp;g.drawString("All Rights Reserved.",30,160,Graphics.LEFT|Graphics.TOP);<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;for(int i = 0;i&lt;mainMenu.length;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;if(i == menuIdx){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(highBGColor);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillRect(0,startHeight + (i*highFont.getHeight())+spacing,width,highFont.getHeight());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setFont(highFont);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(highColor);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawString(mainMenu[i],(width - highFont.stringWidth(mainMenu[i]))/2,startHeight+(i*highFont.getHeight())+spacing,20);&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else{<br>&nbsp;&nbsp;&nbsp;g.setFont(lowFont);<br>&nbsp;&nbsp;&nbsp;g.setColor(lowColor);<br>&nbsp;&nbsp;&nbsp;g.drawString(mainMenu[i],(width - highFont.stringWidth(mainMenu[i]))/2,startHeight+(i*highFont.getHeight())+spacing,20);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;protected void keyPressed(int code){<br>&nbsp;&nbsp;&nbsp;if(getGameAction(code) == Canvas.UP&amp;&amp;menuIdx - 1 &gt;= 0){<br>&nbsp;&nbsp;&nbsp;&nbsp;menuIdx--;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;else if(getGameAction(code) == Canvas.DOWN&amp;&amp;menuIdx + 1 &lt; mainMenu.length){<br>&nbsp;&nbsp;&nbsp;&nbsp;menuIdx ++;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;if(getGameAction(code) == Canvas.FIRE){<br>&nbsp;&nbsp;&nbsp;&nbsp;if(mainMenu[menuIdx] == "Start Game"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameCanvas.start();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.setCurrent(gameCanvas);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(mainMenu[menuIdx] == "Game Method"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.setCurrent(aAlert);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(mainMenu[menuIdx] == "Maker"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.setCurrent(bAlert);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(mainMenu[menuIdx] == "Exit"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifyDestroyed();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}&nbsp;<br>&nbsp;}<br>}<br><span style="FONT-SIZE: 18pt; COLOR: #0000ff" twffan="done"><strong>这个是主操作文件：</strong></span><br>import javax.microedition.lcdui.*;<br>import javax.microedition.lcdui.game.*;<br>import javax.microedition.rms.*;</p>
<p>public class MyGameCanvas extends GameCanvas implements Runnable{<br>&nbsp;private boolean isPlay;<br>&nbsp;private long delay;<br>&nbsp;private int currentX,currentY;<br>&nbsp;private int width;<br>&nbsp;private int height;<br>&nbsp;Graphics g;<br>&nbsp;public Display display;<br>&nbsp;Image image = null;<br>&nbsp;Image tileImages = null;<br>&nbsp;private Sprite spriteRole;<br>&nbsp;private static int INDEX_OF_UP = 0;<br>&nbsp;private static int INDEX_OF_DOWN = 1;<br>&nbsp;private static int INDEX_OF_LEFT = 3;<br>&nbsp;private static int INDEX_OF_RIGHT = 2;<br>&nbsp;private TiledLayer tiledBackground;<br>&nbsp;private TiledLayer tiledLayer = null;<br>&nbsp;private LayerManager layerManager;<br>&nbsp;private RecordStore rs = null;<br>&nbsp;private int gameLifeValueInt = 3;<br>&nbsp;private String gameLifeValueString = null;<br>&nbsp;private int firstGate = 0;<br>&nbsp;private int[] map = {<br>&nbsp;};<br>&nbsp;<br>&nbsp;public MyGameCanvas(){<br>&nbsp;&nbsp;super(true);<br>&nbsp;&nbsp;width = getWidth() - 20;<br>&nbsp;&nbsp;height = getHeight() - 17;<br>&nbsp;&nbsp;currentX = 160;<br>&nbsp;&nbsp;currentY = 160;<br>&nbsp;&nbsp;delay = 20;<br>&nbsp;&nbsp;g = getGraphics();<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;image = Image.createImage("/player.png");<br>&nbsp;&nbsp;&nbsp;spriteRole = new Sprite(image,16,16);<br>&nbsp;&nbsp;&nbsp;tileImages = Image.createImage("/tiles.png");<br>&nbsp;&nbsp;&nbsp;tiledLayer = new TiledLayer(12,12,tileImages,16,16);<br>&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;layerManager = new LayerManager();<br>&nbsp;&nbsp;&nbsp;layerManager.append(tiledBackground);<br>&nbsp;&nbsp;&nbsp;layerManager.append(spriteRole);<br>&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;createNewDB();<br>&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;} <br>&nbsp;&nbsp;catch(Exception e){<br>&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;public void start(){<br>&nbsp;&nbsp;isPlay = true;<br>&nbsp;&nbsp;Thread t = new Thread(this);<br>&nbsp;&nbsp;t.start();<br>&nbsp;}<br>&nbsp;public void stop(){<br>&nbsp;&nbsp;isPlay = false;<br>&nbsp;}<br>&nbsp;public void run(){<br>&nbsp;&nbsp;while(isPlay){<br>&nbsp;&nbsp;&nbsp;input();<br>&nbsp;&nbsp;&nbsp;drawScreen(g);<br>&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(delay);<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;catch(InterruptedException ie){}<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;private void IntToString(){<br>&nbsp;&nbsp;gameLifeValueString = gameLifeValueInt + "";<br>&nbsp;}<br>&nbsp;private void createNewDB(){<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;rs = RecordStore.openRecordStore("GameDB",true);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;catch(RecordStoreNotFoundException rsnfe){}<br>&nbsp;&nbsp;catch(RecordStoreFullException rsfe){}<br>&nbsp;&nbsp;catch(RecordStoreException rse){}<br>&nbsp;}<br>&nbsp;private void addRecordToDB(String str){<br>&nbsp;&nbsp;byte rec[] = str.getBytes();<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;rs.addRecord(rec,0,rec.length);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;catch(RecordStoreFullException rse){}<br>&nbsp;&nbsp;catch(RecordStoreException rse){}<br>&nbsp;}<br>&nbsp;private String getRecordFromDB(){<br>&nbsp;&nbsp;byte data[] = new byte[5];<br>&nbsp;&nbsp;int dataLength = 0;<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;dataLength = rs.getRecord(1,data,0);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;catch(RecordStoreException rse){}<br>&nbsp;&nbsp;return new String(data,0,dataLength);<br>&nbsp;}<br>&nbsp;private void setRecordToDB(int recordID,String str,int offset,int len){<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;byte data[] = str.getBytes();<br>&nbsp;&nbsp;&nbsp;rs.setRecord(recordID,data,offset,len);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;catch(RecordStoreException rse){}<br>&nbsp;}<br>&nbsp;private void input(){<br>&nbsp;&nbsp;int keyStates = getKeyStates();<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;if((keyStates&amp;LEFT_PRESSED)!=0&amp;&amp;gameLifeValueInt &gt; 0){<br>&nbsp;&nbsp;&nbsp;&nbsp;int tempX = Math.max(0,currentX - 16);<br>&nbsp;&nbsp;&nbsp;&nbsp;int tempPoint = tempX/16+currentY*12/16;<br>&nbsp;&nbsp;&nbsp;&nbsp;if(map[tempPoint]==1){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentX = tempX;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==5){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentX = tempX;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt--;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==6){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentX&nbsp; = tempX;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;spriteRole.setFrame(INDEX_OF_LEFT);<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;else if((keyStates&amp;RIGHT_PRESSED)!=0&amp;&amp;gameLifeValueInt&gt;0){<br>&nbsp;&nbsp;&nbsp;int tempX = Math.min(width,currentX + 16);<br>&nbsp;&nbsp;&nbsp;int tempPoint = tempX/16+currentY*12/16;<br>&nbsp;&nbsp;&nbsp;&nbsp;if(map[tempPoint]==1){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentX = tempX;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==5){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentX = tempX;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt--;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==6){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentX&nbsp; = tempX;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;spriteRole.setFrame(INDEX_OF_RIGHT);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else if((keyStates&amp;UP_PRESSED)!=0&amp;&amp;gameLifeValueInt &gt; 0){<br>&nbsp;&nbsp;&nbsp;int tempY = Math.max(0,currentY - 16);<br>&nbsp;&nbsp;&nbsp;int tempPoint = currentX/16+tempY*12/16;<br>&nbsp;&nbsp;&nbsp;&nbsp;if(map[tempPoint]==1){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentY = tempY;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==5){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentY = tempY;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt--;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==6){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentY = tempY;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==2){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentY&nbsp; = tempY;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;firstGate = 100;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;spriteRole.setFrame(INDEX_OF_UP);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else if((keyStates&amp;DOWN_PRESSED)!=0&amp;&amp;gameLifeValueInt&gt;0){<br>&nbsp;&nbsp;&nbsp;if(currentY + 10&lt;height){<br>&nbsp;&nbsp;&nbsp;int tempY = Math.min(height,currentY + 16);<br>&nbsp;&nbsp;&nbsp;int tempPoint = currentX/16+tempY*12/16;<br>&nbsp;&nbsp;&nbsp;&nbsp;if(map[tempPoint]==1){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentY = tempY;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==5){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentY = tempY;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt--;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;else if(map[tempPoint]==6){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentY&nbsp; = tempY;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map[tempPoint] = 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String temp = getRecordFromDB();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt = Integer.parseInt(temp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gameLifeValueInt++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntToString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRecordToDB(1,gameLifeValueString,0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tiledBackground = initBackground();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;spriteRole.setFrame(INDEX_OF_DOWN);<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp; }<br>&nbsp;catch(ArrayIndexOutOfBoundsException e){}<br>&nbsp;}<br>&nbsp;<br>&nbsp;public void drawScreen(Graphics g){<br>&nbsp;g.setColor(0x00FFFFFF);<br>&nbsp;g.fillRect(22,22,getWidth(),getHeight());<br>&nbsp;layerManager.append(tiledBackground);<br>&nbsp;layerManager.paint(g,0,0);<br>&nbsp;spriteRole.setPosition(currentX,currentY);<br>&nbsp;spriteRole.paint(g);<br>&nbsp;g.setColor(255,255,255);<br>&nbsp;g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_MEDIUM));<br>&nbsp;g.drawString("Life:"+gameLifeValueInt,110,0,Graphics.RIGHT|Graphics.TOP);<br>&nbsp;if(gameLifeValueInt&lt;=0){<br>&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_LARGE));<br>&nbsp;&nbsp;g.drawString("In forest you ...",150,80,Graphics.RIGHT|Graphics.TOP);<br>&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_SMALL));<br>&nbsp;&nbsp;g.drawString("PLEASE RESTART",170,100,Graphics.RIGHT|Graphics.TOP);<br>&nbsp;}<br>&nbsp;else if(gameLifeValueInt&gt;=1&amp;&amp;firstGate == 100){<br>&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_LARGE));<br>&nbsp;&nbsp;g.drawString("you do it",160,80,Graphics.RIGHT|Graphics.TOP);<br>&nbsp;&nbsp;g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN,Font.SIZE_SMALL));<br>&nbsp;&nbsp;g.drawString("MISSION COMPLETE",170,100,Graphics.RIGHT|Graphics.TOP);<br>&nbsp;}<br>&nbsp;flushGraphics();<br>&nbsp; }<br>&nbsp; private TiledLayer initBackground() throws Exception{<br>&nbsp; &nbsp;for(int i = 0; i &lt; map.length; i ++){<br>&nbsp; &nbsp;&nbsp;int column = i % 12;<br>&nbsp; &nbsp;&nbsp;int row = (i - column)/12;<br>&nbsp; &nbsp;&nbsp;tiledLayer.setCell(column,row,map[i]); <br>&nbsp; &nbsp;}<br>&nbsp; &nbsp;return tiledLayer;<br>&nbsp; }<br>}<br><span style="FONT-SIZE: 18pt; COLOR: #0000ff" twffan="done"><strong style="FONT-SIZE: 14pt">至于地图，请大家自己看着程序自己随意构思一个好了。我没有在这里写入地图，呵呵！程序已经编译通过！</strong></span></p>
<img src ="http://www.blogjava.net/josn1984/aggbug/113378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/josn1984/" target="_blank">香蕈阁</a> 2007-04-25 06:32 <a href="http://www.blogjava.net/josn1984/archive/2007/04/25/113378.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>