《J2ME手机拼图游戏毕业论文.doc》由会员分享,可在线阅读,更多相关《J2ME手机拼图游戏毕业论文.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、海洋大学寸金学院毕业论文(设计)毕业论文(设计)论文题目:手机拼图游戏Handset composite picture game系别:信息技术系专业:计算机科学与技术班级:姓名:学号:指导老师:职称:讲师日期:2011-05-20海洋大学寸金学院教务制I/37目录目录 I摘要 IIABSTRACTIII第 1 章引言 01.1 手机软件现状 01.2 手机游戏的发展 01.3 关于 J2ME11.4 拼图游戏 1第 2 章基于 J2ME 的手机游戏开发环境与技术介绍 22.1 开发环境 22.2 Java 语言特点 22.3 关于 ECLIPSE 与 EclipseME22.4 关于 JDK
2、 与 WTK3第 3 章手机游戏“拼图”的设计与实现 43.1 游戏设计 43.2 游戏实现(类与方法的介绍)43.2.1 MyPinTu 类 53.2.2 MyImage 类 103.2.3 MyCanvas 类 11第 4 章调试 274.1 目的 274.2 方法 274.3 未完善的功能 27结束语 29致 30参考文献 31II/37摘要J2ME(Java 2 Micro Edition)是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决方案。随着手机的日益普与、Java 功能在移
3、动设备上的实现,Java 应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活容、提供快捷的资讯起着不可忽视的作用。本论文着眼于设计和开发一款拼图游戏,在游戏设计中融入了图片的拆分和分散技术,并在游戏当中添加了难度和计时功能,以提高游戏的趣味性和挑战性。同时存在一个秘籍功能。这款游戏的名字叫拼图游戏。选择一图片后,选择其中一种难度后进行拼图,通过按方向键移动小图块,当把打乱后的小图块移到原来的位置时,游戏完成。本设计的特点是:可选图片,可选难度,可计时,在觉得无法完成时可输入秘籍,自动完成游戏。关键字:J2ME,手机游戏,JavaIII/37ABSTRACTABSTRACTJ2ME
4、is a kind of fast developing technology implemented on variousdevices especially mobile communication equipments.It focuses on applicationfor consumptive electronic products,providing revolutionary solution to theintelligentizetion and diversification of the equipment.Whencellphoneisgettingevermorep
5、opularnowadays,withtheimplementation of Java technology on mobile equipment,increment of capitalon communication service exhibits its force on peoples everyday life,providing them ever fast information just in hand.This paper focus on designand open a paragraph of the jigsaw puzzle game design,blend
6、ed in picturesof split and dispersed technology,and in the process added difficulty andtiming function,to improve the game interesting and challenging.There is aesotericafunction.The title of this game is puzzles.Choose a picture,Choose one of thedifficulty after the puzzles,after the key direction
7、of movement insets block,when the insets block after the disturb moved the original position,the gameis done.This design features are:optional pictures,optional difficulty,have clock,unable to complete the feel when input techniques,auto completegame.KeywordsKeywords:J2ME,mobile game,Java0/37第 1 章引言
8、1.1手机软件现状在信息社会中,手机与其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机与其他无线设备上网络势在必行。但是传统手机存在以下弊端:1.传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。2.传统手机访问互联网是通过 WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。而 Java 技术在的优势非常明显:1.应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。2.Java 技术提供了一个类库,它使的应用开
9、发商可以创建更为直觉、丰富的用户界面(GUI)。3.Java 技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。基于以上优势,Java 手机将是未来手机的发展方向,是业界的热点。1.2手机游戏的发展从 1997 年的第一款手机游戏贪吃蛇到目前,手机游戏已经不在停留在简单的俄罗斯方块之类的画面简单,规则单一的游戏,而是发展到可以与电脑相媲美的,具有很强交互性与娱乐性的复杂形式。如果能利用 JAVA 上的其他丰富功能,那么就可以实现更多的功能。随着手机游戏的发展,国外各大开发商纷纷运用 JAVA 进行游戏游戏开发。J2ME 作为一种基
10、于 JAVA 的便携设备开发平台。在各大手机开发公司得到了广泛应用。作为运行于手持设备上的应用程序,手机的硬件特征决定了手机游戏的特点。1.庞大的潜在用户群全球在使用的移动已经超过 10 亿部,而且这个数字每天都在不断增加。在除美国之外的各个发达国家,手机用户都比计算机用户多。1/372.便携性在控制台游戏时代,GameBoy 热销的一个原因就是便携性人们可以随时随地沉浸在自己喜欢的游戏中。和游戏控制台或者 PC 相比,手机虽然可能不是一个理想的游戏设备,但毕竟人们总是随时随身携带,这样手机游戏很可能成为人们消遣时间的首选。3.支持网络因为手机是网络设备,在一定限制因素下可以实现多人在线游戏。
11、1.3关于 J2MEJ2ME(Java 2 micro Edition)是一种高度优化的 Java 运行环境,是 sun 的 java2 的三大成员之一(J2SE,J2EE,J2ME)。专门用于开发消费性电子产品。针对市面上的大量消费类电子设备,例如 Papers、cellularphones(蜂窝),screen-phones(可视)、digital set-top boxes(数字机顶盒)、car navigation systems(汽车导航系统)等等。J2ME 技术在 1999 年的 JavaOne Developer Conference 大会上推出。J2ME技术将 Java 语言的
12、与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。1.4拼图游戏拼图操作能培养手眼协调能力拼图需要耐心的操作,以与手眼协调能力。只要一不协调就不能将数据块放在正确的位置。学习解决问题的方法与策略玩拼图能学习推理思考能力,因为尝试不同的选择,到决定正确的一块放下去。也就是经过假设,判断到选择的过程。能让玩家学习运用逻辑来解决问题的方法。本设计的拼图游戏利用 J2ME 的移动开发 MIDP 架构设计和开发,在游戏设计中融入了图片拆分和分散技术,并在游戏当中增加了难度选择和计时功能,以提高游戏的趣味性和挑战性。2/37第 2 章基于 J2ME 的手机游戏开发环境与技术介绍2.1
13、 开发环境操作系统:Windows XP开发环境:JDKWKT程序语言:Java2开发平台:EclipseEclipseME2.2Java 语言特点1.平台无关性Java 引进虚拟机原理,并运行于虚拟机,实现不同平台之间的 Java 接口。Java的数据类型与机器无关。2.安全性Java 的编程类似 C+,但舍弃了 C+的指针对存储器地址的直接操作,程序运行时,存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程序的非法访问。3.面向对象Java 吸收了 C+面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。4.
14、分布式Java 建立在 TCP/IP 网络平台上,提供了用和 FTP 协议传送和接收信息的库函数,使用其相关技术可以十分方便地构建分布式应用系统。5.健壮性Java 致力于检查程序在编译和运行时的错误,并自动回收存,减少了存出错的可能性。Java 取消了 C 语言的结构、指针、#define 语句、多重继承、goto 语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的存空间。2.3 关于 ECLIPSE 与 EclipseMEEclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Ec
15、lipse附带了一个标准的插件集,包括 Java 开发工具(JDT)。还包括插件开发环境(PDE)。3/37由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以与给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于Java 语言,Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如容管理系统。EclipseMe 对于 JavaME 程序开发,是一个比较流行的插件。Eclipse 的安装,只能让我们很方便
16、地编写 Java 程序,但是要方便地编写 JavaME 程序,并对 JavaME 移动应用提供运行模拟,还必须对 Eclipse 的功能进行加强。EclipseME 帮助你轻松的把无线工具包整合到 Eclipse 开发环境中。2.4 关于 JDK 与 WTKJDK(Java Development Kit)是 Sun Microsystems 针对 Java 开发员的产品。自从 Java 推出以来,JDK 已经成为使用最广泛的 Java SDK。JDK 是整个 Java 的核心,包括了 Java 运行环境,Java 工具和 Java 基础的类库。WTK(Wireless Tool Kit)是
17、Sun 公司针对 J2ME 推出的用于手机和 Palm 等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包。它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他 IDE 需集成采用的必备元素。4/37第 3 章手机游戏“拼图”的设计与实现3.1 游戏设计本游戏的规则是:选择一图片后,选择 3*4,3*4 记时记步,4*4 记时记步其中一种难度进入拼图游戏后,出现相应个数的图片方块游戏界面,其中一图片方块为空格,通过按手机的 4 个方向键可将空格对应的上、下、左、右
18、方向的小图块移动到空格中,同时移动的小图块的原位置变空格,当所有的小图块被移动到正确的位置后,系统会自动显示整原始图片,这就说明拼图已经完成。在拼图过程中,按住手机的选择键时可以显示原图,用来进行参照,松键的时候会自动回到原来的拼图状态。在记时记步难度下,屏幕下方会显示所用时间与成功移动方块的次数。按下暂停计时按钮,停止计时;按下继续计时按钮,继续计时。按下返回按钮或*号键返回选择图片与难度界面。本游戏存在一个秘籍,当按下#119,拼图自动完成。手机常用功能键如图 3.1 所示。图 3.1手机常用功能键图3.2 游戏实现(类与方法的介绍)在列表框选择对应的图片后,按下相应难度的按钮,进入拼图游
19、戏界面。通过图片所需大小的计算,从大的图片提取出所要显示的那部分图片,通过分割,打乱图片进入游戏操作。根据本游戏的设计,实现的程序代码由 MyPinTu、MyImage、MyCanvas几个类构成。具体分析如下:5/373.2.1 MyPinTu 类MyPinTu 类继承自 MIDlet,并实现 CommandListener 接口。MyPinTu 类是游戏的主类,控制着整个游戏的生命周期。根据游戏开始时的列表框,里面有几个选项供选择,因此,在 MyPinTu 类中的 startApp()先加载游戏选择菜单界面。其主要代码如下:packagepackage PinTu;importimport
20、 javax.microedition.lcduimand;importimport javax.microedition.lcduimandListener;importimport javax.microedition.lcdui.Display;importimport javax.microedition.lcdui.Displayable;importimport javax.microedition.lcdui.Font;importimport javax.microedition.lcdui.List;importimport javax.microedition.midlet
21、.MIDlet;importimport javax.microedition.midlet.MIDletStateChangeException;publicclasspublicclass MyPinTu extendsextends MIDlet implementsimplements CommandListenerprivateprivate Display dis;privateprivate List l;privateprivate String p_name;publicpublic MyPinTu()protectedvoidprotectedvoid destroyApp
22、(booleanboolean arg0)throwsthrowsMIDletStateChangeException protectedvoidprotectedvoid pauseApp()protectedvoidprotectedvoid startApp()throwsthrows MIDletStateChangeException dis=Display.getDisplay(thisthis);/获得当前MIDlet上的显示对象showList();dis.setCurrent(l);/将l设置为当前界面l.setCommandListener(thisthis);6/37pr
23、ivatevoidprivatevoid showList()l=newnew List(选择图片,List.IMPLICIT);/高级界面,列表框ll.append(草莓,nullnull);l.append(苹果,nullnull);l.append(美女,nullnull);l.append(熊,nullnull);l.append(樱桃,nullnull);Font f=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE);l.setFont(0,f);l.setFo
24、nt(1,f);l.setFont(2,f);l.setFont(3,f);l.setFont(4,f);l.addCommand(newnew Command(普通拼图,Command.ITEM,0);l.addCommand(newnew Command(3*3记时记步 拼图,Command.ITEM,1);l.addCommand(newnew Command(4*4记时记步 拼图,Command.ITEM,1);privatevoidprivatevoid zhuanh()ifif(p_name.equals(熊)p_name=xiong;elseifelseif(p_name.equ
25、als(樱桃)p_name=cherry;elseifelseif(p_name.equals(美女)p_name=meinv;elseifelseif(p_name.equals(苹果)p_name=apple;elseifelseif(p_name.equals(草莓)p_name=caomei;publicvoidpublicvoid commandAction(Command c,Displayable d)7/37List temp=(List)d;ifif(c.getLabel().equals(普通拼图)/选择普通3*4拼图p_name=temp.getString(temp.g
26、etSelectedIndex();MyCanvas mc=newnew MyCanvas(dis,temp,3,4);zhuanh();mc.addImage(/+p_name);mc.allimages();mc.setFullScreenMode(truetrue);mc.Fenge();dis.setCurrent(mc);/转到画布界面mc.addCommand(newnew Command(返回,Command.BACK,1);ifif(c.getLabel().equals(3*3记时记步 拼图)/选择3*3记时记步拼图p_name=temp.getString(temp.get
27、SelectedIndex();MyCanvas mc=newnew MyCanvas(dis,temp,3,3);zhuanh();mc.addImage(/+p_name);mc.allimages();mc.Fenge();dis.setCurrent(mc);/转到画布界面mc.addCommand(newnew Command(返回,Command.BACK,1);mc.addCommand(newnew Command(暂停计时,Command.SCREEN,1);ifif(c.getLabel().equals(4*4记时记步 拼图)/选择4*4记时记步拼图p_name=temp
28、.getString(temp.getSelectedIndex();MyCanvas mc=newnew MyCanvas(dis,temp,4,4);zhuanh();mc.addImage(/+p_name);mc.allimages();mc.Fenge();8/37dis.setCurrent(mc);/转到画布界面mc.addCommand(newnew Command(返回,Command.BACK,1);mc.addCommand(newnew Command(暂停计时,Command.SCREEN,1);该类中使用了3个方法,下面分别介绍这3个方法:startApp()方法:
29、当 MIDlet 运行时,startApp 函数自动调用,应用程序进入运行(Active)状态,此时程序正在运行中,将列表框 l 设置为当前界面。并将 l 上的Command 按钮和事件处理类(CommandListener)对象绑定。showList()方法:该方法完善列表框(如图 3_1),实现了刚进入游戏时的选择界面,并在 l 界面添加 3 个软键按键“普通拼图”、“3*3 记时记步 拼图”、“4*4 记时记步 拼图”按钮。commandAction()方法:commandAction()方法为实现 CommandListener 接口后必须重写的方法。实现对 l 界面选择“普通拼图”、
30、“3*3 记时记步 拼图”、“4*4 记时记步 拼图”3 个软键按键的方法响应。默认选择草莓图片,按右软键后:选择“普通拼图”后按选择键,实例化MyCanvas类的对象mc(传参dis,temp,3,4),并实现 mc 的方法,转到画布界面,在画布界面添加“返回”软键按键(界面如图 3_2);选择“3*3 记时记步 拼图”后按选择键,实例化 MyCanvas 类的对象 mc(传参dis,temp,3,3),并实现对象 mc 的方法,转到画布界面,在画布界面添加“返回”和“暂停计时”软键按键(界面如图 3_3);选择“4*4 记时记步 拼图”后按选择键,实例化 MyCanvas 类的对象 mc(
31、传参dis,temp,4,4),并实现对象 mc 的方法,转到画布界面,在画布界面添加“返回”和“暂停计时”软键按键(界面如图 3_4)。9/37图 3_1 列表框界面图图 3_2普通拼图界面图图 3_33*3 记时记步拼图界面图图 3_44*4 记时记步拼图界面图10/373.2.2 MyImage 类定义了 MyImage 类来表示分割后的小图块,其主要代码如下:packagepackage PinTu;importimport javax.microedition.lcdui.Image;publicclasspublicclass MyImageMyImage privatepriva
32、te Image image=nullnull;privateintprivateintold_x=0;privateintprivateintold_y=0;privateintprivateintx=0;privateintprivateinty=0;publicpublic MyImage(Image image,intint old_x,intint old_y)supersuper();thisthis.image=image;thisthis.old_x=old_x;thisthis.old_y=old_y;thisthis.x=old_x;thisthis.y=old_y;pub
33、licintpublicint getX()returnreturnx;publicvoidpublicvoid setX(intint x)thisthis.x=x;publicintpublicint getY()returnreturny;publicvoidpublicvoid setY(intint y)thisthis.y=y;11/37publicpublic Image getImage()returnreturnimage;publicintpublicint getOld_x()returnreturnold_x;publicintpublicint getOld_y()r
34、eturnreturnold_y;publicbooleanpublicboolean check()ifif(old_x=x&old_y=y)returntruereturntrue;returnfalsereturnfalse;该类 3 个参数,image 用来表示小图块,old_x 与 ole_y 表示小图块起始坐标。同时用 2 个变量 x 和 y 来改变小图块的坐标,初始值分别等于 old_x 与 ole_y。包含的方法分别实现:得到 x;修改 x;得到 y;修改 y;得到表示小方块的参数;得到该小方块的初始坐标 old_x;得到该小方块的初始坐标 old_y。最后的 check()方
35、法是判断小图块改变后的坐标 x 与 y 是否与初始坐标 old_x 与ole_y 相等,是的话返回 true,不是返回 false。3.2.3 MyCanvas 类MyCanvas 类继承自 Canvas,实现 CommandListener 与 Runnable 接口。主要代码如下:packagepackage PinTu;importimport java.io.IOException;importimport java.util.Random;12/37importimport javax.microedition.lcdui.Canvas;importimport javax.micr
36、oedition.lcduimand;importimport javax.microedition.lcduimandListener;importimport javax.microedition.lcdui.Display;importimport javax.microedition.lcdui.Displayable;importimport javax.microedition.lcdui.Font;importimport javax.microedition.lcdui.Form;importimport javax.microedition.lcdui.Graphics;im
37、portimport javax.microedition.lcdui.Image;importimport javax.microedition.lcdui.List;importimport javax.microedition.lcdui.game.Sprite;publicclasspublicclass MyCanvas extendsextends Canvas implementsimplements CommandListener,Runnableprivateprivate Image image=nullnull;privateintprivateintxuanz_x;pr
38、ivateintprivateintxuanz_y;privateprivate MyImage is;privateprivate MyImage Nimage=nullnull;publicintpublicintnull_x;publicintpublicintnull_y;privatebooleanprivatebooleangame_key=falsefalse;privatebooleanprivatebooleangame_miji;privateprivate Display d=nullnull;privateprivate List l=nullnull;privatep
39、rivate String miji=;privateprivate String miji_temp=;privateintprivateintjishu;privateintprivateintjishi;privateintprivateintshuz;publicbooleanpublicbooleanbRUN;/构造函数13/37publicpublic MyCanvas(Display d,List l,intint xuanz_x,intint xuanz_y)supersuper();game_miji=truetrue;thisthis.d=d;thisthis.l=l;th
40、isthis.xuanz_x=xuanz_x;thisthis.xuanz_y=xuanz_y;null_x=xuanz_x-1;null_y=xuanz_y-1;is=newnew MyImagexuanz_xxuanz_y;jishu=0;jishi=0;thisthis.setCommandListener(thisthis);bRUN=truetrue;Thread th=newnew Thread(thisthis);th.start();/画布函数protectedvoidprotectedvoid paint(Graphics arg0)arg0.setColor(255,255
41、,255);arg0.fillRect(0,0,thisthis.getWidth(),thisthis.getHeight();forfor(intint i=0;ixuanz_x;i+)forfor(intint j=0;jxuanz_y;j+)ifif(isij!=nullnull)arg0.drawImage(isij.getImage(),isij.getX(),isij.getY(),0);elseelseifif(xuanz_x=3&xuanz_y=4)arg0.fillRect(null_x*80,null_y*80,75,75);14/37ifif(xuanz_x=3&xua
42、nz_y=3)arg0.fillRect(null_x*80,null_y*80,75,75);ifif(xuanz_x=4&xuanz_y=4)arg0.fillRect(null_x*60,null_y*60,55,55);ifif(game_key)ifif(xuanz_x=3&xuanz_y=4)arg0.drawImage(image,0,0,0);ifif(xuanz_x=3&xuanz_y=3)|(xuanz_x=4&xuanz_y=4)arg0.drawRegion(image,0,thisthis.getHeight()-240,240,240,Sprite.TRANS_NO
43、NE,0,0,Graphics.LEFT|Graphics.TOP);ifif(xuanz_x=3&xuanz_y=3)|(xuanz_x=4&xuanz_y=4)arg0.setColor(0,0,0);Font font=Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE);arg0.setFont(font);arg0.drawString(时间+:+Integer.toString(jishi)+(秒)+移动次数+:+Integer.toString(jishu),t
44、histhis.getWidth()-20,thisthis.getHeight()-10,Graphics.BOTTOM|Graphics.RIGHT);ifif(jishu=9999|jishi=9999)Form fom=newnew Form(别浪费时间了);d.setCurrent(fom);/所用时间太长 移动次数太多 自动跳转fom.setCommandListener(thisthis);fom.addCommand(newnew Command(返回,Command.BACK,1);/加入图片15/37publicvoidpublicvoid addImage(String
45、p_name)trytry image=Image.createImage(p_name+.gif);catchcatch(IOException e)e.printStackTrace();/分割图片publicvoidpublicvoid allimages()forfor(intint i=0;ixuanz_x;i+)forfor(intint j=0;jxuanz_y;j+)ifif(xuanz_x=3&xuanz_y=4)isij=newnew MyImage(Image.createImage(image,i*80,j*80,79,79,Sprite.TRANS_NONE),i*8
46、0,j*80);ifif(xuanz_x=3&xuanz_y=3)isij=newnew MyImage(Image.createImage(image,i*80,thisthis.getHeight()-240+j*80,79,79,Sprite.TRANS_NONE),i*80,j*80);ifif(xuanz_x=4&xuanz_y=4)isij=newnew MyImage(Image.createImage(image,i*60,thisthis.getHeight()-240+j*60,59,59,Sprite.TRANS_NONE),i*60,j*60);Nimage=isnul
47、l_xnull_y;isnull_xnull_y=nullnull;/打乱图片publicvoidpublicvoid Fenge()16/37MyImage is_temp=newnew MyImagexuanz_xxuanz_y;Random r=newnew Random();forfor(intint i=0;ixuanz_x;i+)forfor(intint j=0;jxuanz_y;j+)whilewhile(truetrue)intint x=r.nextInt(xuanz_x);intint y=r.nextInt(xuanz_y);ifif(i=null_x&j=null_y
48、)breakbreak;ifif(x=null_x&y=null_y)continuecontinue;ifif(is_tempxy=nullnull)is_tempxy=isij;ifif(xuanz_x=3)is_tempxy.setX(x*80);is_tempxy.setY(y*80);ifif(xuanz_x=4)is_tempxy.setX(x*60);is_tempxy.setY(y*60);breakbreak;is=is_temp;/当按键一直按下的时候,自动调用protectedvoidprotectedvoid keyRepeated(intint keyCode)ifi
49、f(thisthis.getGameAction(keyCode)=Canvas.FIRE)17/37ifif(game_miji)game_key=truetrue;repaint();/当按键释放的时候,自动调用protectedvoidprotectedvoid keyReleased(intint keyCode)ifif(thisthis.getGameAction(keyCode)=Canvas.FIRE)ifif(game_miji)game_key=falsefalse;repaint();/当按键按下的时候,自动调用protectedvoidprotectedvoid key
50、Pressed(intint keyCode)ifif(thisthis.getGameAction(keyCode)!=Canvas.FIRE)ifif(keyCode=Canvas.KEY_STAR)/隐藏键,按*键回列表框l/try/Thread.sleep(0);d.setCurrent(l);bRUN=falsefalse;/catch(InterruptedException e)/TODOTODO Auto-generated catch block/e.printStackTrace();/ifif(game_key)returnreturn;ifif(thisthis.get