基于j2me的手机五子棋游戏的设计内容摘要:
的功能特性。 B. : 移动信息设备描述提供了一种让 MIDlets持久性储存并在以后可以取回数据的机制。 C. : 这个 MIDlet包明确定义了 MIDP应用,也定义了和应用环境之间的交互。 D. : 移动信息设备还描述包括基于有限连接设备配置GenericConnection框架的网络支持。 基于 J2ME 的手机五子棋游戏的设计与实现 8 图 25 MIDlet生命周期流程图 开发平台 随着手机软件开发的发展,市场上同时并存许多手机游戏开 发平台。 目前的手机访问 Inter只能通过 WAP(Wireless Application Protocol)方式,而且只能访问 WML(Wireless Markup Language)网页,而不是主流的 HTML网页,也不能显示复杂的图形格式。 此外, WAP采用的 Brower/Serve方式访问 Inter,能提供的功能很有限,并且因为现有的 WAP解决方案不够智能化,又不能访问本地存储区,如果进行在线交易会增加服务器负荷,使服务器的反应速度变慢,使无线 Inter的应用受到了很大限制。 J2ME的出 现恰好有效的解决了以上问题。 其 Java语言的特性,使其具有以下优点 :。 新的应用、服务和内容可以通过不同类型的网络动态下载。 类文件校验、明确定义的应用程序编程接口和安全组件确保了第二方应用程序的行为是可靠的,不会对设备或者网络造成损害。 标准化语言组件和库意味着由于支持 J2ME配置和描述所带来的约束使应用和内容可以在不同设备之间灵活地传输。 不用激活网络连接,应用就可以被使用。 这种特点降低了传输费用,减轻了可能的网络故障带来的影响。 面向对象思想。 Java相对当前用于无线软件开发的编程语言和工具来说具有更加完善的抽象机制和更高级的程序构造,这使得应用开发更加有效。 这些特性使第二方软件开发商可以很容易地介入应用程序的开发,并且可以很方便地将应用程序安装到手机上,开发周期大大缩短,而且还能支持应用程序的动态下载和升级。 J2ME定义和标准化了一种可移植的无线应用开发环境,主要是针对第二方应用开发商,将设备软件开发向第二方开放,这个环境可以灵活地附加到设备制造商开发的已经存在的软件和硬件之上,并且不会对已经存在的系统软 件造成盐城工学院本科生毕业设计说明书( 2020) 9 影响。 这种嵌入式思想也极大地推动了 J2ME的发展壮大。 本设计主要是在 Netbeans IDE 开发环境下进行开发、测试与调试。 基于 J2ME平台,它将 Java 语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。 NetBeans 是一套完全以 Java 撰写而成、并且开放原始码的开发工具。 Java Studio Micro Edition 大致上是把 NetBeans IDE 和 J2ME Wireless Toolkit 结合在一起的产品。 可以方便 J2ME 应用程序的开发者更容易追踪问题与除错。 四种模拟器种类,如表 21所示。 表 21 模拟器版本 模拟器 名称 说 明 DefaultColorPhone 普通彩屏电话 DefaultGrayPhone 普通灰屏电话 MediaControlSkin 有音频和视频控制的普通电话 QwertyDevice 有 Qwerty样式键盘的掌上设备 3 系统分析及总体设计 可行性分析 技术可行性 五子棋是传统的对弈游戏, 历史悠久、规则单一。 手机游戏的实现方式主要包括嵌入式游戏、浏览器游戏 、短消息服务游戏、 J2ME 和其它的解释语言。 Java 2 Micro Edition 是一种针对移动电话和 PDA 这样的小型设备的 Java 语言,虽然它与台式机中的 Java相比还是有一定的限制,但是已经极大的提高了移动电话支持游戏的能力。 在 NetBeans 环境中编写并在模拟器中运行简单明了。 操作可行性 本游戏开发后可导入手机操作,供个人平常娱乐所用,完全使用手机键盘操作,操作简单,所以在这方面是完全可行的。 需求分析 系统的性能需求 首先,手机游戏最大的问题在于每一款手机拥有自 己的屏幕大小和特定的 API及性能。 游戏开发过程中,要考虑到游戏程序的设计要能合乎大多数手机的应用。 J2ME 提出的一系列标准使得使用 J2ME 开发的游戏可以在配备 J2ME 的任何厂家的移动设备上运行。 软件最好操作简单容易。 受手机屏幕大小和显示的影响。 手机键盘的不方便,游戏需要设计得容易操作。 其次,软件具有人工智能算法原理要简单,并且运行快速。 对于人机游戏,不需要网络连接,游戏处理不会有太长的等待时间。 游戏是需要快速反应的。 手机处基于 J2ME 的手机五子棋游戏的设计与实现 10 理器的频率直接要求我们需要使用简单实用的智能算法。 另外,所制作的软件在结构上应具有 很好的可扩展性,便于以后的功能扩展。 系统的功能需求 此款游戏主题是五子棋对弈。 无“禁手”的规则基本是人人皆知。 相同颜色的棋子,五子一线为胜。 区别于一般的生活中的人与人的对弈,用在手机上为人机对弈,在手机屏幕上构造一个游戏棋盘,并且设计黑、白棋子。 利用人工智能的相关知识实现对弈。 五子棋手机游戏是大众游戏,游戏者只要具备一般的操作知识就可以进入游戏。 对玩游戏者并没有什么特殊要求。 此款手机游戏为棋类游戏,就是为了让人们闲暇时间休闲、锻炼棋 艺,游戏设计尽可能地模拟现实生活中的场景。 a) 游戏开始界面:玩家可使用“开始”软键进入游戏。 b) 棋子选择功能:玩家可选择走棋先后顺序,黑先白后。 c) 棋盘界面:对弈界面, 使用上、下、左、右键来移动落子点位,使用确定按钮来落子 ,相应条件下可实现悔棋、暂停、重新开始游戏功能。 d) 胜负判断:涉及人工智能,用以判断人与机器的输赢状况,游戏无“禁手”,五子首先连成一线则为胜。 系统概要设计 模块划分 在完成了需求分析后,需要对此游戏进行总体的规划,模块的划分,基本的流程设计。 在总体 规划期间相对要考虑到游戏的扩展性,因为在最初设计游戏的时候不可能面面俱到,而且随着技术的发展,也需要游戏具有很好的扩充性。 此次系统设计的主要模块分为:欢迎模块、规则说明模块、对弈模块、胜负判断模块。 各主要模块的功能描述如下: 欢迎模块:这部分是游戏出现的第一个界面,主要是为了说明已经进入五子棋游戏系统。 规则说明模块:此模块主要是游戏者的选择界面。 提供的选择项有游戏说明,开始游戏和退出游戏。 对弈模块:该部分主要是进行人机对弈的棋盘界面。 该模块中包含悔棋、暂停游戏、放弃本局这些功能。 胜负判断模块:这部分 即是对每次棋局结果的判断,是人赢了或者是机器获胜。 系统主要功能模块如图 31所示。 盐城工学院本科生毕业设计说明书( 2020) 11 图 31 系统功能模块图 系统流程 明确了主要模块功能后,就需要对此游戏软件基本流程有一个总体规划,本款手机游戏软件基本流程图如图 32所示。 图 32 系统基本流程图 游戏规则界面 棋子类 型选择 选择黑子 玩家先行 选择白子 机器先行 棋盘对弈界面 结果判断界面 开始游戏 退出游戏 落子走棋 实现悔棋 暂停/恢复游戏 放弃本局 基于 J2ME的手机五子棋游戏 欢迎模块 胜负判断模块 规则说明模块 对弈模块 基于 J2ME 的手机五子棋游戏的设计与实现 12 系统用例图 游戏设计用例图如图 33 所示。 图 33 系统用例图 主要类的介绍 J2ME 是面向对象的程序设计语言,类是其设计的核心。 程序总体设计阶段首要任务就是设计好相应的类,只要类设计好了可以让程序一目了然。 在这款游戏中,总共是分为了八个类,其实很多类都是相对类似的。 首要的类是 MIDlet 类的子类Wuziqi,它是整个程序的框架,程序的运行必须从它开始。 其次根据前面设计的功能模块的划分,相应的要设计各个子类,如游戏欢迎界面、游戏说明界面、棋盘设计界面、棋子设计、对弈界面、人工智能的实现界面等,另外的 J2ME 技术主要就是在屏幕绘制的基础上利用命令监听实现各个功能。 主要类的作用说 明: a) 该 java 文件是设计 MIDlet 程序的基本框架,该生命周期继承了 抽象类。 程序从该类开始执行。 b) 该文件生成的类显示开始游戏入口以及游戏说明。 c) 该文件生成的类用来创建棋盘对象,在画布上绘制棋盘,另外,获得棋盘上棋子信息。 将手机上的软键转化为游戏键进行走棋控制。 棋盘可进行悔棋、暂停、放弃游戏。 d) 该文件生成的类 负责创建棋子对象,棋子对象可以获取本身的颜色外观。 e) 该文件生成的类用来创建棋盘的棋点对象。 可以判断该点上是否有棋子、指定当前点上的棋子、获取当前点上的棋子、移动当前点上的棋子。 f) 该文件类主要是实现走棋算法以及结局判断。 extend extend extend extend 选择棋子 人机对弈 落子走棋 悔棋 暂停游戏 放弃本局 玩家 盐城工学院本科生毕业设计说明书( 2020) 13 4 系统详细设计 界面设计 该部分主要说明手机游戏画面显示,包括一开始项目的创建、画面的低级绘制、图像的获取、 UI 组件的显示及如何进行游戏按键处理。 本程序的设计主要使用了 MIDP 所提供的 包中的类来实现手机的用户界面。 各个类如表 41 所示。 表 41 类 描 述 接口 Choice 提供一个常规的接口来管理选中的项目 CommandListener 允许创建一个高级的 UI命令消息的监听器 UI系统以及工具类 Display 代表系统显示设备和输入设备的管理器 Font 获得字体对象和它们的尺寸 Image 提供一个类来保存图像对象(以 PNG格式) AlertType 提供一个帮助类来定义可以创建的 Alert的类 型 Displayable 提供一个可以显示对象的抽象基类 高级 UI Command 抽象用户的交互动作 Screen类 Screen 提供高级 UI组件的基类 Alert 提供一个 Screen来警告一些事情 List 提供一个 Screen对象包括一列被选项 Forms amp。 Items ChoiceGroup 提供一个 UI组件代表一列选项 ImageItem 提供一个图像 Item Ticker 提供一个 Item在 display上面显示一条滚动的文字 低级 UI Graphics 提供 二维图像工具 Canvas 提供一个创建低级 UI图像的基类 基于 J2ME 的手机五子棋游戏的设计与实现 14 项目创建 首先是在 NetBeans IDE 环境中创建项目,如图 41所示。 然后设置项目名称,如图 42所示。 再选择相应的平台,如图 43所示。 图 41 新建项目 图 42 设置项目名称和位置 盐城工学院本科生毕业设计说明书( 2020) 15 图 43 选择平台 手机游戏外观设计 首先, MIDlet 应用程序的核心即为 MIDlet 类。 MIDlet 事件处理分为高级与低级事件处理,则可实现设备内的应用程序与用户之间的交互机制。 该类是设计 MIDlet程序的基本框架,生命周期继承了 抽象类。 在 active状态调用 destroyApp(boolean unconditional)或者 pauseApp()方法可以使得 MIDlet进入 destroyed或者 pause状态。 所使用的方法阐述如表 42所示。 表 42 方 法 描 述 abstract void destroyApp(boolean unconditional) 应 用程序管理器在应用程序关闭前,调用这个方法,可以保存状态和释放资源等 abstract void pauseApp() 在用户暂停游戏时,应用程序管理器调用 MIDlet的这个方法 abstract void startApp() 应用程序管理器调用 MIDlet的这个方法,告诉用户想要再次开始游戏 abstract void notifyDestroyed() 如果游戏者决定退出游戏,调用这个方法来通知应用程序管理器 abstract void notifyPau。基于j2me的手机五子棋游戏的设计
相关推荐
图 后台登录界面 21 管理员通过用户名登陆后台以后,可以看到如下界面。 如图 所示: 图 后台登录欢迎界面 在该页面中,我们可以对界面里的功能选项进行增加修改,以此对网站信息进行维护。 如图 所示: 图 后台维护界面 1 与 此同时,单个选项也同样可以进行修改,添加,删除功能。 如图 所示: 22 图 后台维护界面 2 23 4 总结 本次设计历时两个多月,在此确实感触良深。
请求,并对请求进行处理,将请求结果返回给客户机。 连接和无连接 网络中存在面向连接和无连接两种通信方式。 面向连接的通信方式要求通信双方(进程)必须先建立连接, 然后进行信息交互,通信结束后还须关闭连接。 该种通信方式可靠,适合大数据量传输(如因特网中的 TCP连接)。 无连接的通信方式不必先建立连接,而是直接进行通信,仅适合少量数据传输(如因特网中的 UDP 数据报)。 协议
e)。 } }//end get who add me as friend //处理上线结束 (Echo ing :+str)。 } (Close...)。 }catch(IOException e){}//捕或异常 finally {try{()。 } catch(IOException e){} } } } public class Server{//主服务器类 public static
装载的类只能访问某些文件系统。 [16] 6 5. 多线程 线程是操作系统的一种新概念,它 又被称作轻量进程,是比传统进程更小的可并发执行的单位。 Java 在两方面支持多线程。 一方面, Java 环境本身就是多线程的。 若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面, Java语言内置多线程控制,可以大大简化多线程应用程序开发。 Java 提供了一个类Thread
28ISD4004U3 11 中断状态也可用 RINT 指令读取。 OVF 标志 指示 ISD 的录、放操作已到达存储器的 末 尾。 EOM 标志 只在放音中检测到内部的 EOM标志时 , 此状态位才置 1。 ( 10) 行地址时钟 (RAC) 漏极开路输出。 每个 RAC 周期表示 ISD 存储器的操作进行了一行 (ISD4004 系列中的存贮器共 2400 行 )。 该信号 175ms
没有问题。 经济 方面 ,本系统为 教学阶段的最后一个环节,所以人力资源免费, 资源 学校方面 提供, 知道 老师义务知道。 成本 之 需要计算学校 资源 的 消耗 以及自己 制作 软件 期间的 消耗。 所以 成本方面很低,经济上完全可行。 音乐网站时序图 收听 音乐模块 用户可以根据自己的喜好收听喜欢的音乐 ,时序图 如图 收听 音乐时序图所示: 图 收听音乐 时序图 添加 评论模块 用户可以