基于的手机五子棋游戏的设计与实现样本.doc
《基于的手机五子棋游戏的设计与实现样本.doc》由会员分享,可在线阅读,更多相关《基于的手机五子棋游戏的设计与实现样本.doc(74页珍藏版)》请在咨信网上搜索。
毕业设计说明书 基于J2ME手机五子棋游戏 设计和实现 专业 计算机科学和技术 学生姓名 杨婷婷 班级 B计算机064 学号 指导老师 王 榕 完成日期 5月25日 基于J2ME手机五子棋游戏设计和实现 摘 要:J2ME(Java 2 Micro Edition)是多年来伴随多种不一样设备,尤其是移动通信设备飞速发展而诞生一项开发技术。它因其“write once,run anywhere”Java特征而提升了开发效率。伴随手机性能不停提升,手机休闲娱乐应用将成为PC休闲娱乐应用以后又一关键业务增加点。棋类游戏规则单一,比较适合在手机等便携终端推广。 因为含有跨平台、易于移植、占用空间小优势,J2ME成为移动应用开发平台主流,并提供了很多用以支持移动应用软件开发API。现将该技术用于这次手机游戏开发,能够实现游戏快速开发,不仅便于查看游戏运行过程中内存占用量和程序每一部分代码消耗了多少处理器时间,而且能够不停地优化代码,使代码含有高度复用性、可扩展性、可维护性。 游戏开发以J2ME为平台,利用Java技术,结合J2MEMIDP技术,并对于程序设计思想,关键类、方法等展开讨论。在对弈部分,分析设计走棋算法,选择适宜方法组织成代码,实现基础人工智能。过程中使用了J2ME中CLDC/MIDP软件体系,关键利用了MID Profile特定类支持,来完成游戏开发。 关键词:J2ME;CLDC;MIDP Design and Implementation of Gobang Cell-phone Game Based on J2ME Abstract: J2ME is a kind of fast developing technology implemented on various devices especially mobile communication equipments. It improves the efficiency of the development process because of its "write once, run anywhere" nature. The development trend of the entertainment market based on the cell phone is very obvious because the handset performance enhances unceasingly. The entertainment market based on the cell phone will to be the new important business growth point follow the PC entertainment market. As the rules of a single chess game, it is more suitable for mobile phones and other portable terminal extension. J2ME has been the preferred platform for development because of its platform independent and compatibility, and provides a lot of APIs to support the development of mobile application software. The technology for mobile game development, can achieve the rapid development of the game. It is not only easy to observe the memory consumption and processor consumed time during the operation of the game, but also can optimize the code, so that the code has a high degree of reusability, scalability, maintainability. The game has designed by J2ME, the Java technology and the MIDP technology. I studied the procedure thought, the important class and the method. In the playing chess part, I have analyzed the algorithm, choosed the appropriate way to organize the code and realized the basic artificial intelligence. On the other hand, I learned software system of CLDC/MIDP and the specific class of the MID Profile to complete the game development. Key words: J2ME;CLDC;MIDP 目 录 1 概述 1 1.1 课题研究背景 1 1.2 课题研究意义 2 2 开发技术背景 2 2.1 JAVA语言概述 2 2.2 J2ME介绍 3 2.3 J2ME体系结构 4 2.4 移动信息设备简表 7 2.5 开发平台 8 3 系统分析及总体设计 9 3.1 可行性分析 9 3.2 需求分析 9 3.3 系统概要设计 10 4 系统具体设计 13 4.1 界面设计 13 4.2 走棋算法 27 4.3 胜败判定 29 5 系统测试 30 5.1 测试方案 30 5.2 测试结果 30 6 结 束 语 35 参考文件 36 致 谢 37 附 录 38 附录1 程序清单 38 附录1.1 StartGame.java程序清单 38 附录1.2 Chesses.java程序清单 39 附录1.3 Chessboard.java程序清单 44 附录1.4 其它程序清单 49 基于J2ME手机五子棋游戏设计和实现 1 概述 1.1 课题研究背景 手机游戏实现方法关键包含嵌入式游戏、浏览器游戏、短消息服务游戏、J2ME和其它解释语言。Java 2 Micro Edition是一个针对移动电话和PDA这么小型设备Java语言。J2ME和台式机中Java相比还是有一定限制,不过它已经极大提升了移动电话支持游戏能力。而且含有一定优势:庞大潜在用户群、便携性、开发门槛较低。 手机是现代生活方法产物,如同因特网普及造成网络游戏高速发展一样,手机普及,对满足不一样功效手机软件需求也就越来越迫切,这就需要比很好手机软件开发平台,此时含有平台无关性优点J2ME开发平台也就应运而生。J2ME是Sun企业为消费电子和嵌入式设备软件需要而开发应用程序接口和技术规范,J2ME提供了由多家大型移动设备厂商一起设计和提出工业标准简表(简称MIDP)开发接口,因为这个MIDP简表不是某个特定商家所拥有,所以含有一定通用性,所以由J2ME开发软件对多家大型移动设备厂商生产支持MIDP简表手机全部适用,比如Nokia、Motorola和三星等多家手机厂商推出多款支持J2ME手机。 和传统主流PC游戏相比,手机游戏价值在于打发部分无聊时间,作为一个移动娱乐终端,手机游戏施展身手机会永远可能是在地铁站、公交车或是洗手间这些地方,可能在庞大游戏行业里,手机游戏将永远饰演着一个边缘者角色,因为谁也不能指望一个人在家时候用手机玩游戏或看电影。不过手机游戏市场是巨大,即便是只有十分之一用户来购置游戏,那也将是不可忽略商业机遇。 伴随移动开发技术不停升级和终端设备成本下降,多年来,手机在一般消费人群中得到了极大普及。凭借其便于携带、沟通迅捷、功效多样、私密性强等独有优势,手机已经成为一般民众不可替换随身工具。其益智、趣味和休闲特点迎合了消费者娱乐需要,手机游戏开发推广已经成为手机生产商和运行商关键业务增加点,游戏软件产业价值不停提升。手机游戏是手机一个高附加值操作软件,游戏编程是手机软件编程关键组成,同时也连续推进手机软件技术升级进步。手机游戏按手机平台分类,关键有J2ME、Brew、UniJa等。其中J2ME手机开发平台使用最为广泛。作为SUN企业针对微型嵌入式消费电子产品开发编程系统,J2ME技术是目前手机软件开发主流平台,各大手机生产厂商现在主流产品绝大全部使用J2ME技术。基于J2ME技术开发手机软件能够实现手机功效多样化和专业化,极大满足了大家对手机要求更高需求。 1.2 课题研究意义 本设计基于J2ME技术,开发一款五子棋游戏软件,能够供大家闲暇时间随时随地娱乐,提升棋艺。同时五子棋游戏程序开发实现这个课题,恰好提供给我这么一个研究机会,经过对人工智能中博弈方面研究,实现简单人机对弈设计。 经过对该课题研究和实践,首先,深入熟悉面向对象语言,加深对J2ME层次结构了解。经过NetBeans集成开发环境创建软件,最终形成一个含有基础功效手机五子棋游戏,可应用于便携式设备,适合于棋类爱好者。其次,了解手机游戏开发特点和现实状况。而且对人工智能中比较轻易实现人机博弈进行学习,更深刻地了解人工智能这门边缘学科实用性。 2 开发技术背景 2.1 JAVA语言概述 Java出现是源于对独立于平台语言需要,期望这种编程语言能编写出嵌入多种家用电器等设备芯片上、且易于维护程序。大家发觉当初编程语言全部有一个共同缺点,就是针对CPU芯片进行编译。这么,一旦电器设备更换了芯片就不能确保程序正确运行。九零年Sun企业成立了开发小组,开始致力于开发一个可移植、跨平台编程语言,该语言能生成正确运行于多种操作系统、多种芯片上代码。Java出现标志着真正分布式系统到来。 Java是一个跨平台、面向对象、分布式、解释、安全、结构、可移植、性能很优异多线程动态语言。 Java特点: 平台无关性:平台无关性是指Java能运行于不一样平台。Java引进虚拟机原理,并运行于虚拟机,实现不一样平台Java接口之间。使用Java编写程序能在世界范围内共享。Java数据类型和机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码解释实施功效,提供不一样平台接口。 安全性:Java编程类似C++,学习过C++读者将很快掌握Java精髓。Java舍弃了C++指针对存放器地址直接操作,程序运行时,内存由操作系统分配,这么能够避免病毒经过指针侵入系统。Java对程序提供了安全管理器,预防程序非法访问。 面向对象:Java吸收了C++面向对象概念,将数据封装于类中,利用类优点,实现了程序简练性和便于维护性。类封装性、继承性等相关对象特征,使程序代码只需一次编译,然后经过上述特征反复利用。程序员只需把关键精力用在类和接口设计和应用上。Java提供了众多通常对象类,经过继承即可使用父类方法。在Java中,类继承关系是单一非多重,一个子类只有一个父类,子类父类又有一个父类。Java提供Object类及其子类继承关系如同一棵倒立树形,根类为Object类,Object类功效强大,常常会使用到它及其它派生子类。 分布式:Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接收信息方法。这使得程序员使用网络上文件和使用本机文件一样轻易。 健壮性:Java致力于检验程序在编译和运行时错误。类型检验帮助检验出很多开发早期出现错误。Java自己操纵内存降低了内存犯错可能性。Java还实现了真数组,避免了覆盖数据可能,这些功效特征大大提升了开发Java应用程序周期。而且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功效。 2.2 J2ME介绍 J2ME是SUN企业针对嵌入式、消费类电子产品推出开发平台,和J2SE和J2EE共同组成Java技术三个关键分支。J2ME实际上是一系列规范集合,由JCP组织制订相关Java Specification Request(JSR)并公布,各个厂商会根据规范在自己产品上进行实现,不过必需要经过TCK测试,这么确保兼容性。J2ME是JAVA三大分支之一,专门用于开发基于消费性电子产品应用。J2ME支持个人手持移动设备,如手机、PDA等。手机用户能够经过支持JAVA功效终端,使用多个全新图形化、动态化和个性化移动增值服务。J2ME提升了移动电话支持游戏能力,比SMS或WAP更轻易控制和交互界面,而且能够经过无线网络连接到远程服务器。伴随JAVA手机普及,J2ME成为现在最流行移动游戏开发环境。 现在手机访问Internet只能访问WML网页,而不是主流HTML网页,也不能显示复杂图形格式,能提供功效很有限,而且,因为现有处理方案不够智能化,又不能访问当地存放区,假如进行在线交易会增加服务器负荷,使服务器反应速度变慢,使无线Internet应用受到了很大限制。J2ME出现则使上述问题迎刃而解。因为J2ME是基于Java语言,所以它天生就含有以下优点: A.动态内容传输 新应用、服务和内容能够经过不一样类型网络动态下载。 B.安全 类文件校验、明确定义应用程序编程接口和安全组件确保了第三方应用程序行为是可靠,不会对设备或网络造成损害。 C.交叉平台兼容性 标准化语言组件和库意味着因为支持配置和描述所带来约束使应用和内容能够在不一样设备之间灵活地传输。 D.离线获取 不用激活网络连接,应用就能够被使用。这种特点降低了传输费用,减轻了可能网络故障带来影响。 E.一个功效强大现代面向对象编程语言 Java相对于目前用于无线软件开发编程语言和工具来说含有愈加完善抽象机制和更高级程序结构,这使得应用开发愈加有效。这些特征使第三方软件开发商能够很轻易地介入应用程序开发,而且能够很方便地将应用程序安装到手机上,开发周期也大大缩短,而且还能支持应用程序动态下载和升级。J2ME应用程序除了能够愈加好地完善手机上已经有应用外,还深入增加了字典、 图书、游戏、定时提醒等新应用,并能访问电子邮件、即时消息、股票和电子地图等信息。 J2ME程序设计多个标准:第一,使用面向对象编程。即使使用面向过程编程能够减小文件尺寸,不过为了以后维护方便和利于扩展,还是要使用面向对象编程。第二,使用MVC模式。将模型、界面和控制分离。第三,自动存放用户设定 使用RMS来存放用户信息,这么不仅能够降低用户输入,而且对用户友好。很多程序做了自动登陆等。第四,部分系统设置许可用户关闭。如背景音乐、背景灯显示等。第五,将低级用户界面绘制动作放在一个独立线程里面去。第六,在需要大量时间才能完成工作时,给用户一个等候界面。 2.3 J2ME体系结构 Java 2技术是一系列产品集合,Java 2技术体系结构图2-1所表示。 图2-1 Java 2技术体系结构 其中,J2ME为运行在嵌入式消费类电子产品设备,如移动电话、PDA、游戏终端之上应用程序提供了一个健壮、灵活环境。和J2SE、J2EE和JavaCard一样,J2ME一样包含了一个小型虚拟机和一系列Java API。除此之外,J2ME还提供了灵活图形用户界面、健壮安全模型、广泛联网协议支持。 J2ME是一个经过很多部件和规范技术,这众多部件和规范帮助J2ME来满足这众多消费产品不一样需要。和全部爪哇程式语言技术一样,在它关键属于一个虚拟机。就像使用全部Java技术一样,J2ME关键也在一个虚拟机中。最初,用于J2ME应用程序虚拟机被称作Kilobyte virtual machine或简称KVM。就像它名称含义,KVM比较小,通常只有128K或更少。这比起通常了解和使用Java 2标准版Java虚拟机(JVM)32MB来说就小得多了。为了使J2ME程序广泛适适用于各类嵌入式平台,J2ME采取了模块化结构,底层是宿主机操作系统,内部则分为三层:Java Virtual Machine(虚拟机层);Configuration(配置层);Profile (简表层)。J2ME中有两类虚拟机:CVM(C虚拟机)和KVM(K虚拟机),CVM功效比KVM更为强大。其体系结构图2-2所表示。 Optional Packages Profiles Configuration Host Operating Syste Java Virtual Machines 图2-2 体系结构框图 Java 虚拟机(JVM)层:这一层是针对设备当地操作系统定制Java虚拟机实现,支持特定J2ME配置,就像使用全部Java技术一样,J2ME关键也在一个虚拟机中。 配置(Configuration)层:面正确是大量多种不一样小型嵌入式设备,它们在外观和功效上均各不相同。J2ME将这些设备进行分类,将部分共性提取出来形成适合于某个范围中设备可用规范,称为“配置”。读者也能够将配置了解成为对硬件描述,所以经过定义配置方法就能够清楚地描述硬件功效。 对大量软硬件特征不一样嵌入式设备,依据其外观和性能特点进行分类,提取其中共性形成一套规范称之为配置。配置在J2ME体系结构中起着承上启下作用,定义了针对存放空间、电源配置、网络连接等硬件功效和特征包含:要求了所支持Java编程语言特征;要求了所支持Java虚拟机特征;要求了所支持基础Java类库及其API函数。 到现在为止,经过Java规范定义只有两种配置:连接设备配置(CDC)和连接收限设备配置(CLDC)。CLDC和CDC大部分功效全部起源于J2SE。因为CDC和CLDC针对设备CPU处理能力和内存大小不一样,所以它们使用虚拟机和关键类库也不相同,CDC关键类库比CLDC要大,提供功效也更强。CLDC、CDC和J2SE之间关系图2-3所表示。 图2-3 CLDC、CDC和J2SE关系图 连接设备配置(Connected Device Configuration,CDC):为处理能力较强、内存空间更大、联网能力更出色且电源稳定设备设计。CDC目标设备包含关键包含电视机顶盒、车载娱乐系统、高端PDA等,它们通常含有32位或64位CPU,2MB以上能够用于Java平台实现和运行相关应用程序内存空间。连接收限设备配置(Connected Limited Device Configuration,CLDC):为含有间断性联网能力、较慢处理器、有限内存、没有稳定电源供给设备设计。CLDC目标设备关键包含移动电话,双向呼叫器和入门级PDA等,它们通常含有16位或32位CPU,配置128KB~512KB内存可用于Java平台实现和运行相关应用程序。CLCD关键面向J2ME开发平台,由两个部分组成:为应用程序提供最小Java语言类库和适合在资源受限设备上运行Java虚拟机(KVM)。 简表(Profiles)层:简表层定义了特定系列设备上可用应用程序编程接口(API)最小集。简表在一个特定配置上面实现。应用程序是针对特定简表编写,所以能够移植到支持该简表任何设备上。另外,一个设备能够同时支持多个简表。用户和开发人员看到最多就是这一层。 Java虚拟机是J2ME技术关键,不过配置和简表提供特殊环境类应用程序接口。配置是用于一组通用设备最小Java平台,而简表则为具体设备家族或尤其应用程序提供更具体功效。每个配置和简表处理通常或具体消费产品。配置和简表规范是由多个多样设备生产商和用户共同开发并建立。 简化地举例概括说明,假设假如想为小型信息家电编写Java应用程序话,需要两个前提:一个配置和最少一个简表。现在,通常是配置捆绑了虚拟机和一套针对各自平台所能够用横向分组设备Java类库;另外最少需要一个简表来为平台提供附加Java类,这个简表通常会为各自对应设备提供用户界面、输入和数据库类。有了这两个前提,就有了能够使用Java为不一样设备编写应用程序基础J2ME环境。 2.4 移动信息设备简表 移动信息设备简表(MIDP)为移动电话和入门级PDA设计,为移动应用程序提供了所需全部关键功效,包含应用程序模型、用户界面、持久性数据存放、联网能力及应用程序管理功效。现在应用很广泛MIDlet就是在MIDP中定义。CLDC和MIDP组成了完备Java运行环境大大提升了手持移动智能设备功效,而且最小化了设备内存和电源消耗。 MIDP框架图2-4所表示。 图2-4 MIDP框架图 MIDP提供关键应用程序功效,包含用户界面、网络连接、当地数据存放和应用程序生命周期管理。MIDlet生命周期步骤图图2-5所表示。 MIDP中含有下列API包: A. javax.microedition.lcdui: 用户界面(UI)API,它为MIDP应用提供了一整套实现用户界面功效特征。 B. javax.microediton.rms: 移动信息设备描述提供了一个让MIDlets持久性储存并在以后能够取回数据机制。 C. javax.microedition.midlet: 这个MIDlet包明确定义了MIDP应用,也定义了和应用环境之间交互。 D. javax.microedition.io: 移动信息设备还描述包含基于有限连接设备配置GenericConnection框架网络支持。 图2-5 MIDlet生命周期步骤图 2.5 开发平台 伴随手机软件开发发展,市场上同时并存很多手机游戏开发平台。现在手机访问Internet只能经过WAP(Wireless Application Protocol)方法,而且只能访问WML(Wireless Markup Language)网页,而不是主流HTML网页,也不能显示复杂图形格式。另外,WAP采取Brower/Serve方法访问Internet,能提供功效很有限,而且因为现有WAP处理方案不够智能化,又不能访问当地存放区,假如进行在线交易会增加服务器负荷,使服务器反应速度变慢,使无线Internet应用受到了很大限制。J2ME出现恰好有效处理了以上问题。其Java语言特征,使其含有以下优点: a.动态内容传输。新应用、服务和内容能够经过不一样类型网络动态下载。 b.安全。类文件校验、明确定义应用程序编程接口和安全组件确保了第二方应用程序行为是可靠,不会对设备或网络造成损害。 c.交叉平台兼容性。标准化语言组件和库意味着因为支持J2ME配置和描述所带来约束使应用和内容能够在不一样设备之间灵活地传输。 d.离线获取。不用激活网络连接,应用就能够被使用。这种特点降低了传输费用,减轻了可能网络故障带来影响。 e.现代面向对象思想。Java相对目前用于无线软件开发编程语言和工具来说含有愈加完善抽象机制和更高级程序结构,这使得应用开发愈加有效。 f.巨大开发者团体。 这些特征使第二方软件开发商能够很轻易地介入应用程序开发,而且能够很方便地将应用程序安装到手机上,开发周期大大缩短,而且还能支持应用程序动态下载和升级。J2ME定义和标准化了一个可移植无线应用开发环境,关键是针对第二方应用开发商,将设备软件开发向第二方开放,这个环境能够灵活地附加到设备制造商开发已经存在软件和硬件之上,而且不会对已经存在系统软件造成影响。这种嵌入式思想也极大地推进了J2ME发展壮大。 本设计关键是在Netbeans IDE开发环境下进行开发、测试和调试。基于J2ME平台,它将Java语言和平台无关特征移植到小型电子设备上,许可移动无线设备之间共享应用程序。NetBeans是一套完全以Java撰写而成、而且开放原始码开发工具。Java Studio Micro Edition大致上是把NetBeans IDE和J2ME Wireless Toolkit结合在一起产品。能够方便J2ME应用程序开发者更轻易追踪问题和除错。 四种模拟器种类,如表2-1所表示。 表2-1 模拟器版本 模拟器名称 说 明 DefaultColorPhone 一般彩屏电话 DefaultGrayPhone 一般灰屏电话 MediaControlSkin 有音频和视频控制一般电话 QwertyDevice 有Qwerty样式键盘掌上设备 3 系统分析及总体设计 3.1 可行性分析 3.1.1 技术可行性 五子棋是传统对弈游戏,历史悠久、规则单一。手机游戏实现方法关键包含嵌入式游戏、浏览器游戏、短消息服务游戏、J2ME和其它解释语言。Java 2 Micro Edition是一个针对移动电话和PDA这么小型设备Java语言,即使它和台式机中Java相比还是有一定限制,不过已经极大提升了移动电话支持游戏能力。 在NetBeans环境中编写并在模拟器中运行简单明了。 3.1.2 操作可行性 本游戏开发后可导入手机操作,供个人日常娱乐所用,完全使用手机键盘操作,操作简单,所以在这方面是完全可行。 3.2 需求分析 3.2.1 系统性能需求 首先,手机游戏最大问题在于每一款手机拥有自己屏幕大小和特定API及性能。游戏开发过程中,要考虑到游戏程序设计要能合乎大多数手机应用。J2ME提出一系列标准使得使用J2ME开发游戏能够在配置J2ME任何厂家移动设备上运行。软件最好操作简单轻易。受手机屏幕大小和显示影响。手机键盘不方便,游戏需要设计得轻易操作。 其次,软件含有些人工智能算法原理要简单,而且运行快速。对于人机游戏,不需要网络连接,游戏处理不会有太长等候时间。游戏是需要快速反应。手机处理器频率直接要求我们需要使用简单实用智能算法。 另外,所制作软件在结构上应含有很好可扩展性,便于以后功效扩展。 3.2.2 系统功效需求 A.游戏内容 此款游戏专题是五子棋对弈。无“禁手”规则基础是人人皆知。相同颜色棋子,五子一线为胜。 B.游戏方法 区分于通常生活中人和人对弈,用在手机上为人机对弈,在手机屏幕上结构一个游戏棋盘,而且设计黑、白棋子。利用人工智能相关知识实现对弈。 C.游戏对象 五子棋手机游戏是大众游戏,游戏者只要含有通常操作知识就能够进入游戏。对玩游戏者并没有什么特殊要求。 D.游戏目标 此款手机游戏为棋类游戏,就是为了让大家闲暇时间休闲、锻炼棋艺,游戏设计尽可能地模拟现实生活中场景。 a) 游戏开始界面:玩家可使用“开始”软键进入游戏。 b) 棋子选择功效:玩家可选择走棋前后次序,黑先白后。 c) 棋盘界面:对弈界面,使用上、下、左、右键来移动落子点位,使用确定按钮来落子,对应条件下可实现悔棋、暂停、重新开始游戏功效。 d) 胜败判定:包含人工智能,用以判定人和机器输赢情况,游戏无“禁手”,五子首先连成一线则为胜。 3.3 系统概要设计 3.3.1 模块划分 在完成了需求分析后,需要对此游戏进行总体计划,模块划分,基础步骤设计。在总体计划期间相对要考虑到游戏扩展性,因为在最初设计游戏时候不可能面面俱到,而且伴随技术发展,也需要游戏含有很好扩充性。 此次系统设计关键模块分为:欢迎模块、规则说明模块、对弈模块、胜败判定模块。各关键模块功效描述以下: 欢迎模块:这部分是游戏出现第一个界面,关键是为了说明已经进入五子棋游戏系统。 规则说明模块:此模块关键是游戏者选择界面。提供选择项有游戏说明,开始游戏和退出游戏。 对弈模块:该部分关键是进行人机对弈棋盘界面。该模块中包含悔棋、暂停游戏、放弃本局这些功效。 胜败判定模块:这部分即是对每次棋局结果判定,是人赢了或是机器获胜。 系统关键功效模块图3-1所表示。 落子走棋 实现悔棋 暂停/恢复游戏 放弃本局 基于J2ME手机五子棋游戏 欢迎模块 胜败判定模块 规则说明模块 对弈模块 图3-1 系统功效模块图 3.3.2 系统步骤 明确了关键模块功效后,就需要对此游戏软件基础步骤有一个总体计划,本款手机游戏软件基础步骤图图3-2所表示。 游戏规则界面 棋子类型选择 选择黑子 玩家先行 选择白子 机器先行 棋盘对弈界面 结果判定界面 开始游戏 退出游戏 图3-2 系统基础步骤图 3.3.3 系统用例图 游戏设计用例图图3-3所表示。 <<extend>> <<extend>> <<extend>> <<extend>> 选择棋子 人机对弈 落子走棋 悔棋 暂停游戏 放弃本局 玩家 图3-3 系统用例图 3.3.4 关键类介绍 J2ME是面向对象程序设计语言,类是其设计关键。程序总体设计阶段首要任务就是设计好对应类,只要类设计好了能够让程序一目了然。在这款游戏中,总共是分为了八个类,其实很多类全部是相对类似。首要类是MIDlet类子类Wuziqi,它是整个程序框架,程序运行必需从它开始。其次依据前面设计功效模块划分,对应要设计各个子类,如游戏欢迎界面、游戏说明界面、棋盘设计界面、棋子设计、对弈界面、人工智能实现界面等,另外J2ME技术关键就是在屏幕绘制基础上利用命令监听实现各个功效。 关键类作用说明: a) Wuziqi1.java 该java文件是设计MIDlet程序基础框架,该生命周期继承了javax.microedition.midlet.MIdlet抽象类。程序从该类开始实施。 b) StartGame.java 该文件生成类显示开始游戏入口和游戏说明。 c) Chessboard.java 该文件生成类用来创建棋盘对象,在画布上绘制棋盘,另外,取得棋盘上棋子信息。将手机上软键转化为游戏键进行走棋控制。棋盘可进行悔棋、暂停、放弃游戏。 d) Chesses.java 该文件生成类负责创建棋子对象,棋子对象能够获取本身颜色外观。 e) Point.java 该文件生成类用来创建棋盘棋点对象。能够判定该点上是否有棋子、指定目前点上棋子、获取目前点上棋子、移动目前点上棋子。 f) AI.java 该文件类关键是实现走棋算法和结局判定。 4 系统具体设计 4.1 界面设计 该部分关键说明手机游戏画面显示,包含一开始项目标创建、画面低级绘制、图像获取、UI组件显示及怎样进行游戏按键处理。 本程序设计关键使用了MIDP所提供javax.microedition.lcdui包中类来实现手机用户界面。 各个类如表4-1所表示。 表4-1 javax.microedition.lcdui包 类 描 述 接口 Choice 提供一个常规接口来管理选中项目 CommandListener 许可创建一个高级UI命令消息监听器 UI系统和工具类 Display 代表系统显示设备和输入设备管理器 Font 取得字体对象和它们尺寸 Image 提供一个类来保留图像对象(以PNG格式) AlertType 提供一个帮助类来定义能够创建Alert类型 Displayable 提供一个能够显示对象抽象基类 高级UI Command 抽象用户交互动作 Screen类 Screen 提供高级UI组件基类 Alert 提供一个Screen来警告部分事情 List 提供一个Screen对象包含一列被选项 Forms & Items ChoiceGroup 提供一个UI组件代表一列选项 ImageItem 提供一个图像Item Ticker 提供一个Item在display上面显示一条滚动文字 低级UI Graphics 提供二维图像工具 Canvas 提供一个创建低级UI图像基类 4.1.1 项目创建 首先是在NetBeans IDE环境中创建项目,图4-1所表示。然后设置项目名称,图4-2所表示。再选择对应平台,图4-3所表示。 图 4-1 新建项目 图 4-2 设置项目名称和位置 图4-3 选择平台 4.1.2 手机游戏外观设计 首先,MIDlet应用程序关键即为MIDlet类。MIDlet事件处理分为高级和低级事件处理,则可实现设备内应用程序和用户之间交互机制。该类是设计MIDlet程序基础框架,生命周期继承了javax.microedition.midlet.MIdlet抽象类。 在active状态调用destroyApp(boolean unconditional)或pauseApp()方法能够使得MIDlet进入destroyed或pause状态。所使用方法叙述如表4-2所表示。 表4-2 javax.microedition.MIDlet类 方 法 描 述 abstract void destroyApp(boolean unconditional) 应用程序管理器在应用程序关闭前,调用这个方法,能够保留状态和释放资源等 abstract void pauseApp() 在用户暂停游戏时,应用程序管理器调用MIDlet这个方法 abstract void startApp() 应用程序管理器调用MIDlet这个方法,告诉用户想要再次开始游戏 abstract void notifyDestroyed() 假如游戏者决定退出游戏,调用这个方法来通知应用程序管理器 abstract void notifyPaused() 调用该方法来通知管理器游戏者已经暂停了游戏 abstract void resumeRequest() 调用该方法告诉应用程序管理器MIDlet需要重新开始 应用程序管理器(AM)作用是管理MIDlet。它是一个主控程序,控制着正在发生事情。如背景知识中所介绍,MIDlet被创建后默认为暂停状态。当应用程序认为它准备完成,它会调用startApp()方法来通知MIDlet进入运行状态。 主MIDlet类组员结构图4-4所表示。 图4-4 主MIDlet类组员结构 管理画面显示功效javax.microedition.lcdui.Display类。这个Display类能够让javax.microedition.lcdui.Display类子类显示在画面上。Displayable类子类大致说来能够分为两种,分别为用来进行线和图形和图像低级描绘类,和用于显示警告和文本输入,选择列表等UI组件类。前者是指javax.micredition.lcdui.Canvas类,后者是指javax.microedition.lcdui.Screen类和其子类(Alert,Form,List类等)。它们之间关系以下图4-5所表示。 用来显示画面用Display对象,能够从Display类Static方法getDisplay(MIDlet)返回值获取。经过在获取Display 对象上设置Displayable对象,就能够让Displaya- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 手机 五子棋 游戏 设计 实现 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文