欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于JAVA的手机游戏软件开发.pdf

    • 资源ID:80976455       资源大小:998.22KB        全文页数:24页
    • 资源格式: PDF        下载积分:19.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于JAVA的手机游戏软件开发.pdf

    1 摘要 过去的两年,移动手持设备领域实现了飞速的发展,并伴随着巨大的变革。在近几年的技术创新中,蓝牙可谓是最为吸引人的应用之一。JSR82的 JCP 蓝牙规范规范了一个标准的 J2ME 蓝牙开发平台,以保证开发出来的的程序可以在任何 J2ME 设备上运行。本文正是利用 J2ME 开发平台,通过对 JSR82的 JCP 蓝牙规范的深入研究,实现了一个基于蓝牙的联机俄罗斯方块游戏。该软件很好的完成了在蓝牙技术的基础上对数据的接收、传送等功能。并可以在支持 JAVA 的手机中成功使用。关键词:J2ME;蓝牙;Netbeans 2 ABSTRACT Over the past two years,the field of mobile handheld devices to achieve a rapid development,and accompanied by huge changes.In recent years,technological innovation,Bluetooth can be one of the most attractive applications.JSR82 Bluetooth specification JCP specification of a standard Bluetooth J2ME development platform to ensure that the procedures developed can run on any J2ME device.This article is the use of J2ME development platform,the JCP through JSR82-depth study of the Bluetooth specification,the realization of a Bluetooth-based online game Tetris.The software is very good in the Bluetooth technology was completed on the basis of data reception,transmission and other functions.JAVA can be in support of the successful use of mobile phones.Keywords J2ME;Bluetooth;Netbeans 3 目录 1 前言.1 2 研究方法.2 2.1 J2ME.2 2.1.1 不同的 java 版本.2 2.1.2 J2ME.2 2.2 开发平台的搭建.3 2.3 蓝牙技术.3 2.4 JSR82(JABWT)规范.3 3 游戏设计实现.4 3.1 结构设计.4 3.2 系统静态类图.5 3.3 MAINMIDLET类.6 3.4 TETRISBLOCK类.9 3.5 TETRISCANVAS类.10 3.6 BULETOOTHDISCOVERY类.14 4 结束语.19 致 谢.20 参考文献.21 1 1 前言 过去的两年,移动手持设备领域实现了飞速的发展,并伴随着巨大的变革。在近几年的技术创新中,蓝牙可谓是最为吸引人的应用之一。由于手机无线网络还处于研究阶段,而蓝牙在某种程度上可以认为是对手机无线网络的弥补。很多手机单机游戏对于喜爱游戏的玩家来说并不具有吸引力。如果可以通过蓝牙技术实现小区域联机游戏。那么,在某种程度上来说,这会成为很多喜欢游戏的消费者的首选,便可以在很大程度上提高手机的销量。2 2 研究方法 Java 2 分为有 3 个版本,其中 J2ME 是一个高度优化的 Java 运行环境,它专门为那些 CPU、内存都非常有限且带宽、屏幕分辨率也很小的无线手持设备而设计。JSR82 的 JCP 蓝牙规范规范了一个标准的 J2ME 蓝牙开发平台,以保证开发出来的的程序可以在任何 J2ME 设备上运行。而不必考虑硬件平台和协议栈的不同对应用程序产生的影响。因此,利用 JSR82 规范可以开发灵活高效的局域网联机游戏。2.1 J2ME 2.1.1 不同的 java 版本 当 Sun 公司引入 Java2后,他们认识到,一个版本是远远不够的。因为运行Java 的设备在迅速变革。最终他们将 Java2分成了3个版本:J2SE Java 2 Standard Edition J2EE Java 2 Enterprise Edition J2ME Java 2 Micro Edition J2SE 是一个以客户程序为基础的开发平台,它专为 PC 机用户设计。J2EE 是基于服务器程序的一个版本,它支持 Servlets,JSP 和 XML。而 J2ME 是一个精简版的 J2SE。每一个版本都为基于 JAVA 设计的应用程序提供了完整的运行平台,且均含有虚拟机和类。2.1.2 J2ME Java 2分为3个版本:Java2企业版(J2EE),Java2标准版(J2SE)和 Java2微缩版(J2ME)。J2ME 是 J2SE 的一个精简版,它专门为那些 CPU 和内存容量有限且屏幕分辨率也很低的小型设备而设计。例如 PDA,移动电话。Java 2微缩版,J2ME,是一个高度优化的 Java 运行平台。J2ME 技术拥有一个庞大的消费空间,它所覆盖的产品范围从最小的日常用品,比如智能卡或是传呼机到机顶盒,或者是一个和电脑能力相差不大的设备。随着便携式嵌入设备的飞速发展,在计算行业出现了一个新的领域,同时也带来了新的开发工具。而现在最理想的灵活的计算和信息环境就是其能够适应不同功能和不同制作方法的设备。迅速发展的移动和嵌入式设备,导致了一个新的计算时代,同时对这种技术也提出了新的要求。最关键的要求是必须有一个共同而灵活的计算和通讯环境,拥有在不同的装置上实现安装的和共享的能力。1999 年 6 月,Sun 微系统公司推出 J2ME。它专门为那些 CPU、内存都非常有限且带宽、屏幕分辨率也很小的无线手持设备而设计。总之 J2ME 是一个能够使我们在移动设备上实现下载和运行不同应用程序平台,J2ME 是一个开放式标准,这意味着任何人都可以使用它,而其他人可以随意的下载这个应用程序。用户将能够根据他们的需求和兴趣实现个性化的设备或是应用。3 2.2 开发平台的搭建“工欲善其事,必先利其器”,程序员也不例外。本实验使用 NETBeans IDE 5.0和 Mobility Pack 5.0 配置 J2ME 开发环境,它们可以显著提高 MIDP 应用程序的开发效率。安装前先确保计算机上已经正确地安装了 J2SDK 1.4.4(Java 2 Software Development Kit),并且可以正常工作。先安装 NETBeans IDE 5.0 中文版,因为 NETBeans IDE 比较耗费资源,所以建议在较高配置的计算机上使用,然后执行“文件”目录下的“新建项目”命令,弹出“新建项目”对话框,对话框中有5 个项目类可提供选择,包括“常规”、“WEB”、“企业”、“NETBeans 插件模块”等。这里并没有用于开发 MIDP 应用程序的类别,因为还没有安装 Mobility Pack 5.0 中文版,它是用于在 NETBeans IDE 中开发 MIDP 应用程序的可选插件包。安装完后,可以发现新建项目“类别”中增加了“移动”选项。现在就可以使用NETBeans IDE开发 MIDP应用程序了。只需要安装NETBeans IDE 和 Mobility Pack 就可以开发MIDP项目,比搭建基于 Eclipse和 EclipseMe的开发环境,NETBeans IDE 更加简单、友好。2.3 蓝牙技术 信息时代最大的特点便是更加方便快速的信息传播,正是基于这一点技术人员也在努力开发更加出色的信息数据传输方式。蓝牙,对于手机乃至整个 IT 业而言已经不仅仅是一项简单的技术,而是一种概念。当蓝牙联盟信誓旦旦地对未来前景作着美好的憧憬时,整个业界都为之震动。抛开传统连线的束缚,彻底地享受无拘无束的乐趣,蓝牙给予我们的承诺足以让人精神振奋。蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,利用“蓝牙”技术,能够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信,也能够成功地简化以上这些设备与因特网Internet 之间的通信,从而使这些现代通信设备与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的 2.4GHz ISM(即工业、科学、医学)频段。其数据速率为 1Mbps。采用时分双工传输方案实现全双工传输。蓝牙网络拓扑分微微网和分散网两种,微微网中有一个设备是主设备,其它设备均为从设备,任何从设备之间的通信必须经过主设备才能够传输。而在分散网中,跨越两个微微网间的设备即可以是主设备,也可以是分设备。2.4 JSR82(JABWT)规范 在 2002 年 4 月 5 日,Java 靠发社区(JCP)发布了给予 J2ME 平台的蓝牙 API规范 JSR82(Java 蓝牙无线技术 APIs,Java APIs forBluetooth Wireless Technology)。JSR82 规范定义的 API 中包括 21 个类及接口。JSR82 的最小需求时首先连接设备配置(CLDC),而可靠连接设备配置(CDC)是 CLDC 的超集,所以 JABWT 可以同时在 CLDC 和 CDC 上实现,即可以在使用任何 J2ME profile 色上面使用 JABWT。4 JSR82 规定了一个标准的 J2ME 蓝牙开发平台,保证靠发出来的程序可以在任何 J2ME 设备上运行,而不必考虑硬件平提案和协议栈的不同对应用程序产生的影响。基于 JSR82 的 J2ME 蓝牙开发模式不仅提高了开发效率,更是由于 JSR82规范通过统一的 Java 语言平台和标准的蓝牙开发平台,使用支持 J2ME 和 JSR82蓝牙规范的设备可以根据环境动态地下载并执行第三方的蓝牙应用代码。JSR82 被设计为支持数据传输,不支持语音传输;在核心协议中支持 L2CAP、RFCOMM、SDP 和 OBEX。JSR82 规范的 API 均以类或接口形式定义,总共定义了 12个类和 9 个接口。其中 javax.bluetooth 定义 9 各类和 4 个接口;javax.obex定义其余 3 个类和 5 个接口。它从便于开发的角度将所规定的 API 分为设备/服务发现(Disvovery)、通信(Communicatiuon)和设备管理(DeviceManagement)3 大类。发现类包括设备发现、服务发现和服务注册的类或接口;通信类包括在串行剖面层次、RFCOMM层次、L2CAP 层次和 OBEX 层次建立连接和使用连接的类或接口;设备管理类包括代表控制和管理的类或接口。基于 JSR82 的协议栈如下图,灰色部分为 JSR82 规范提供给 Java 平台开发者的蓝牙软件栈。图 2-1 基于 JSR82 的协议栈 3 游戏设计实现 3.1 结构设计 因为是联机游戏,为了区分变量,故在程序种定义了两组类成员变量和常量,类中除共享成员变量外,变量均需要定义本地玩家和远端玩家两份。蓝牙联网俄罗斯方块游戏初始化过程时序图如下图所示:基于蓝牙的应用和程序 JABWT(JSR82)服务发现协议(SDP)串口仿真协议(RFCOMM)对象交换协议(OBEX)逻辑链路与适配协议(L2CAP)主机控制器接口(HCI)蓝牙无线电(Bluetooth Radio)基带与链路管理协议(Basedband&Link Mangaer Protocol)5 MainMIDlet TetrisMap MasterSlaveSelect TetrisCanvas+run()()SingleThread+commandAction()MasterThread+commandAction()图 3-1 蓝牙联网俄罗斯方块初始化过程时序图 3.2 系统静态类图 本设计中用到了很多的类,例如:BluetoothConnection 类、BluetoothDiscovery类、ErrorScreen 类、MasterSlaveSelect 类、MasterThread 类、Role 类等等。该游戏项目主要分为两大模块:(1)基于 JSR82 的设备与服务的发现和建立连接(2)根据自身玩家和远端玩家的状态来决定屏幕的绘制。Game.buletooth包中主要是BuletoothConnection类和BuletoothDiscovery类。BuletoothDiscovery 类提供了一个封装后的 API,提供了简单的接口惊醒蓝牙设备及服务的发现,而 BuletoothConnection 类封装了建立连接后的 I/O 流。Game.tetris 包种主要的类是 TetrisCanvas、TetrisBlock 类。TetrisCanvas类封装了游戏逻辑,TetrisMap 类中保存的是游戏地图中的数据,TerisBlock 类中定义了 7 种方块及方块的绘制方法。这些类之间的关系可用图 3-2 表示。Disc Select MainMIDlet MasterThread SlaveThread Canvas1 Canvas2 6 Serialization 图 3-2 俄罗斯方块游戏中的类关系图 3.3 MainMIDlet 类 MainMIDlet 类派生自 MIDlet,并实现在 CommandListener 接口,是该 J2ME程序的入口类。该类主要提供了如下功能:(1)使用 LocalDevice.getLocalDevice().getFriendlyName()可获得本地设备的好友名称,在后面建立连接时使用。(2)引导程序进入玩家角色选择界面(Master/SlaveThread),由玩家选择是作为蓝牙联机的主/从设备还是进行单机游戏。(3)实现 pauseApp()、startApp()、destroyApp(boolean unconditional)方法,进行程序生命周期控制。MainMIDlet 类比较简单,源代码如下所示:package game.tetris;import game.bluetooth.*;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import javax.bluetooth.*;public class MainMIDlet extends MIDlet implements CommandListener private Display display;private BluetoothDiscovery disc;private TetrisCanvas canvas;private MasterSlaveSelect select;public MainMIDlet()7 /System.out.println(System.getProperty(microedition.m3g.version);display=Display.getDisplay(this);ErrorScreen.init(null,display);disc=new BluetoothDiscovery(display);/ketrisCanvas 的构造函数放到 M/SThread中,将 conn 数组传入ketrisCanvas 中 /ketrisCanvas=new KetrisCanvas(this);public void startApp()String name;try name=LocalDevice.getLocalDevice().getFriendlyName();/System.out.println(LocalDevice.getLocalDevice().getFriendlyName()=+name);catch(BluetoothStateException e)showAlertAndExit(,Please switch Bluetooth on!,AlertType.ERROR);return;disc.setServiceUUID(20000000000010008000006057028C19);disc.setName(name);startUI();/*通过 UserNameInterface 选择做 Master 还是 Slave */public void startUI()select=new MasterSlaveSelect(this);display.setCurrent(select);public void pauseApp()8 public void destroyApp(boolean unconditional)public void showAlertAndExit(String t,String s,AlertType type)Alert a=new Alert(t,s,null,type);a.addCommand(new Command(Exit,Command.EXIT,1);a.setCommandListener(this);display.setCurrent(a);public void Exit()destroyApp(false);notifyDestroyed();public void commandAction(Command c,Displayable s)switch(c.getCommandType()case Command.EXIT:Exit();break;public Display getDisplay()return display;public BluetoothDiscovery getDisc()return disc;public void setCanvas(TetrisCanvas _canvas)canvas=_canvas;public TetrisCanvas getCanvas()9 return canvas;下面对该类中主要的成员方法进行介绍。(1)MainMIDlet()方法 MainMIDlet()方法是本类的构造函数,实现如下功能:通过引用 Display 得到 Display 类对象。使用 ErrorScreen 的静态方法 init(Image img,Display disp)进行参数初始化。构造 BuletoothDiscovery类对象 disc。(2)startApp()方法 startApp()方法实现如下功能:调用 name=LocalDevice.getLocalDevice().getFriendlyName()得到本地设备名称。设置 disc 的 UUID 值和 name。调用 startUI()方法进行角色选择画面。(3)startUI()方法引导玩家进行角色选择画面。(4)showAlertAndExit(String t,String s,AlertType type)方法构造了一个Alert对象,标题为t,警告文本为s,警告类型为type。(5)Exit()方 法 调 用destroyApp(boolean unconditional)和notifyDestroyed()方法退出程序。3.4 TetrisBlock 类 TetrisBlock 类负责方块的数据格式定义和坐标控制。在 TetrisBlock 类中定义了 7 种方法的不同形状和对应的颜色,都有一个对应的 ID,分别为 17,且对于每种方块来说,其颜色均是固定的。方块 16 个 4*4的小方格组成,故在数据逻辑上可以使用 4*4 的二维数组表示,又由于每个方块都有 4 中旋转变化,故可以用 4*4*4 的三维数组表示一个方块的所有状态。例如,“T”形方块可以由如下数组来表示:protected int blockpattern7=0,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0 ,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0 ,10 0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0 ,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0 ;BRICK_COLORS 整形数组中保存的是每种方块的颜色,17 为活动方块颜色,8为为墙砖颜色。public class TetrisBlock /各种砖块,1-7 为活动砖块颜色,8 为墙砖颜色 public static final int BRICK_COLORS=0 x00FF0000,0 x0000FF00,0 x00FFFF00,0 x000000FF,0 x00FF00FF,0 x0000FFFF,0 x00C0DCC0,0 x00808080;因为每个方块均是由一个个的小方块组成,所以不吝主屏还是附屏对应的TetrisBlock对象,均需要设置参数gamearea_x、gamearea_y、brick_Width。这 3 个成员变量在setparameter()中进行设置,该方法程序代码如下:public void setParameter()gamearea_x=map.gamearea_x;gamearea_y=map.gamearea_y;brick_Width=map.brick_Width;3.5 TetrisCanvas 类 俄罗斯方块游戏的逻辑控制和对 TetrisMap类调用方块绘制方法均是在TetrisCanvas类中实现的,它继承自 Canvas 类,实现了 CommandLister 和Runnable 接口。游戏逻辑由 paint()、commandAction()、keyPressed()、paintRemote()、updateRemoteGameState()方法共同控制。11 TetrisCanvas 类中首先定义了如下几个成员变量来对本地玩家进行设定:static int mainWidth 本地玩家屏幕的宽度。static int mainHeight 本地玩家屏幕的高度。static int BRICK_WIDTH 本地玩家方块的边长。static int GAMEAREA_X 本地玩家游戏区域左上角的 X 坐标。static int GAMEAREA_Y 本地玩家游戏区域左上角的 Y 坐标。int gameState 代表本地玩家的游戏状态。因为游戏屏幕上还会绘制远端玩家的游戏信息,故需要设定远端玩家的参数值,它们的命令方法和代表本地玩家的成员变量类似,简单地增加一个_Remote后缀即可。它们的定义如下:static int GAMEAREA_X_REMOTE 端玩家游戏区域左上角的 X 坐标。static int GAMEAREA_Y_REMOTE 玩家游戏区域左上角的 Y 坐标。static int BRICK_WIDTH_REMOTE 玩家方块的边长。static int mainWidth_Remote 玩家屏幕的宽度。static int mainHeight_Remote远端玩家屏幕的高度。int gameState_Remote 代表远端玩家的游戏状态。游戏运行后的效果如图 3-3 所示:图 3-3 蓝牙联网俄罗斯方块游戏的运行效果 TetrisCanvas 类构造方法如下所示:public TetrisCanvas(MainMIDlet _midlet,BluetoothConnection btConns,String _role)12 midlet=_midlet;btConnections=btConns;role=_role;bug.println(role);if(!(Role.ROLE_SINGLE=role)setCanvas();setReceiveThread();else setSingleCanvas();TetrisCanvas 类的构造方法将一个 Midlet 的实例和 BuletoothConnection数组传入(因为是 1 对 1 游戏,故实际传入的 BuletoothConnection 数组长度为1),_role 为本地玩家所选择的角色。有 Master、Slave、Singe 三种,由game.buletooth 包中的Roel类定义。Role类定义如下:package game.bluetooth;public class Role public static final String ROLE_MASTER=Master;public static final String ROLE_SLAVE=Slave;public static final String ROLE_SINGLE=Single;为了便于理解、调试程序,设计程序时加入了一个单机版的功能,在游戏开始时显示的 List 子类 MasterSlaveSelect 实例中选择“Single”项,单击“选择”按钮,则进行单机模式。SetSingleCanvas()方法的具体代码如下:public void setSingleCanvas()mainHeight=getHeight();mainWidth=getWidth();offSet=0;/计算小砖块宽度 int min=mainWidth;13 /比较,使用高和宽中最小一个来计算 if(mainHeight=0;min-)if(min%16=0)break;/游戏区域为 min 的方形,且 min 为 16 的倍数 BRICK_WIDTH=min/16;/砖块厚度 GAMEAREA_X=(mainWidth-min)/2;GAMEAREA_Y=(mainHeight-min)/2;startDemoFlag=false;/还没有显示开始画面 gameState=GAME_START_DEMO;/游戏处于 demo 画面状态 map=new TetrisMap(this,true);block=new TetrisBlock(map,true);map.setTetrisBlock(block);addCommand();thread=new Thread(this);thread.start();(1)按键响应 按键响应在 TetrisCanvas 类实现父类的方法 keyPressed()中实现。按键是玩家对游戏过程实现控制的途径。接收到远端用户的相应信息后,本地玩家屏幕上方的附屏上就要有相应的绘图结果,绘图代表远端玩家的附屏方法为Paint_remote(),它有paint()方法调用,它的绘制过程及方法与 paint()是一样的。(2)发送数据 有一下几种情况触发数据的发送:按下命令按钮引起游戏状态的变化。游戏过程中引起状态的变化。失去连接。其中,游戏过程中引起状态的变化指的是不论是否有行被取消,只要有 方块落下固定在某个位置,则本地玩家必须将地图数据发送到远端。14(3)接收数据 SetReceiveThread()方法生成接收线程,接收来自远端用户的命令信息及数据,具体方法如下所示:public void setReceiveThread()for(int i=0;i=0;i-)if(!isSelected(i)urlStrings.removeElementAt(i);/返回到 searchService()方法,/这时urlStrings向量在已经存在建立连接的url值字符串 synchronized(block_m)block_m.notifyAll();break;第二、三步骤的主要代码如下所示:synchronized(block_m)discoveryAgent.startInquiry(DiscoveryAgent.LIAC,listener);block_m.wait();deviceList=null;if(progressBar!=null)progressBar.stop();if(!warning.equals()17 Alert al=new Alert(null,warning,null,AlertType.INFO);al.setTimeout(2000);display.setCurrent(al);synchronized(al)try al.wait(2000);catch(InterruptedException e)/构造一个列表 btConnections=new BluetoothConnectionurlStrings.size();/判断是否有设备被发现,如发现,进行下一步操作 if(urlStrings.size()0)progressBar=new PageProgressBar(Connecting.,urlStrings.size();/连接查询到的设备(这里只有一个设备会被返回)for(int i=0;iurlStrings.size();i+)de=(ServiceRecord)foundServiceRecords.elementAt(i).getAttributeValue(SERVICE_NAME_BASE_LANGUAGE);rname=(String)de.getValue();(PageProgressBar)progressBar).nextDevice();btConnectionsi=new BluetoothConnection(String)urlStrings.elementAt(i),localName,rname);/向远端玩家发送设置的代表自己的名称字符串 btConnectionsi.writeString(localName);progressBar.stop();18 /释放 progressBar progressBar=null;/释放 listener listener=null;return btConnections;通过选择查找到服务建立游戏连接后的初始画面如图 3-4:图 3-4 游戏连接后的初始画面 19 4 结束语 手机已经成为人们生活不可或缺的一部分,除了用来通讯,手机的功能也越来越多。因此对手机程序的要求也逐渐增加。手机的游戏功能也颇受人们青睐,而蓝牙也是最近几年十分盛行的技术。本文采用 Netbeans 作为开发工具,将这两者结合起来,初步实现了通过蓝牙互联手机,进行简单的俄罗斯方块游戏的功能。由于时间紧迫,以及本人水平有限,程序难免有缺陷,比如,在模拟器上游戏运行良好,但在手机上运行时会出现死机问题。我将在今后的时间里更深入学习 J2ME 和 Netbeans,力求解决问题。20 致 谢 在开发过程中张振宇老师给予了很多建议和意见,对于我完成整个毕业设计给予了极大的帮助,在此对张老师表示由衷的感谢。在开发过程中,我的同学们为我提供了很多便利条件,给我提了很多有参考价值的意见,在此表示深深的感谢。在学习 J2ME 的过程中,我参考了很多的书籍,王晓的J2ME 程序开发使用案例、Harvey M.Deitel 和 Paul J.Deitel 的高级 JAVA 2 大学教程等等,在此对这些书籍及其作者表示衷心的感谢。在具体的编码过程中,我借鉴了一些网上传播的实现方法及一些网友的意见,在此对这些知名和不知名的网友一并表示感谢,感谢他们无私的帮助。21 参考文献 1 Harvey M.Deitel/Paul J.Deitel/Sean E.Santry.高级 Java 2 大学教程M.北京:电子工业出版社,2003.2Jonathan Knudsen.Getting Started with JXTA for J2MEJ/OL.http:/ Java ME 手机开发M.北京:清华大学出版,2008.1王晓.J2ME 程序开发实用案例M.北京:清华大学出版社,2007.4The Connected Limited Device Configuration(CLDC).J/OL.http:/www.jcp.org/en/jsr/detail?id=139 5Java 2 Platform,Micro Edition(J2ME).J/OL.http:/ 6Jan-Erik Romren.Developing Peer-to-Peer Applications for Mobile Handheld DevicesJ/OL.http:/jan-erik.no/oppgaver%5CThe%20Report_Final.pdf.7The Mobile Information Device Profile(MIDP).J/OL.http:/ free encyclopedia.J/OL.http:/en.wikipedia.org/wiki/Peer-to-Peer 9张海藩.软件工程M.北京:人民邮电出版社,2002.10王晓.J2ME 程序开发实用案例M.北京:清华大学出版社,2007.

    注意事项

    本文(基于JAVA的手机游戏软件开发.pdf)为本站会员(l***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开