论文研究-基于J2ME的手机联网五子棋游戏开发 .pdf

所需积分/C币:7 2019-08-16 269KB .PDF
评分

基于J2ME的手机联网五子棋游戏开发,吴京京,张申,为了实现联网五子棋游戏在手机用户中的使用,本文通过在Eclips平台下,基于J2ME 技术,采用WTK(Wireless Tool Kit) 模拟器对其进行了开发。��
国武技论文在线 http:/www.paper.edu.cn 功能按钮模块( 本游戏与按钮相关的信息有:功能按钮分“开始”、“帮助”、“联网”、“退出”以及“服务 器”、“客户端”类型 在本游戏中进入开始界面后,选择“开始”按钮进入游戏界面,可进行单机游戏。若选择 联网”则进入联网界面,进入后选“服务器”可以建立游戏,等待其他玩家的加入。若其他玩 家已经建立游戏,则选择“客户端”可以搜索其他玩家,建立连接后即可对弈。选←帮助”可进 70入帮助界面査看游戏规则。选“退岀”即可退出本游戏程序。在游戏中或游戏结束的时候,选 重坑”可退出当前游戏,进入廾始界面重新选择。 当功能按钮被选择时,以←“高亮”图像显示,否则以“灰色”图像显示。 棋盘与棋了模块() 下棋界面不可能通过绘图来解决,否则,不仅难于控制和处理过多的元素,也会因过多 75的大型图片而无法控制程序的大小,失去手机程序和Java的优势。在程序设计中,界面采 用了 TiledLayer类实现。 TlledLayer是有一组图象格元素组成的整块虚拟图象。该类使不需 要高分辨率的图象就能创建人幅图面成为可能,这项技术通常应用在2D游戏平台的滚动背 景的绘图。这个类实现思想是将一块整图可被分割成相同大小的图象柊,每块格有其对应的 序号,按照行列递增 人工智能模块 游戏中很重要的一个地方是电脑人工智能(AⅠ),木游戏建立 Computer类来实现,呆 用棋谱式算法。这种算法的原理是:事先将常见的棋盘局部布局存储成棋谱,然后在走棋之 前只对棋盘进行一次遍历,依照棋谱选择关键的位置。这种算法的程序思路清晣,计算量也 相对较小,而且只要棋谱足够多,也可以使电脑的棋艺达到一定的高度。 85 联网模块( 联网部分包括客户端的开发和服务器的开发,具体如下: 客户端的开发:“蓝牙”客户端的开发流程包括:开始设备是否支持蓝牙—搜索 蓝牙设备,将找到的设备信息存入设备队列—设备是否搜索完毕从设备队列中搜索指 定的服务,将找到的服务存入服务队列—服务是否搜索完毕服务列表是为空—用 ∞0户选择服务——连接提供服务的服务器进行数据交换——关闭连接。 服务器端的开发:编写服务器程序,需要掌握进程与线程的知识。进程就是指亠个止在 执行的程序,例如止在执行的游戏程序。个进程通常会包含多个线程,每个线程完成各自 的任务,而且这些线程同时工作。例如」2ME的手机游戏就至少需要两个线程,一个负责处 理游戏功能,另一个则负责监听于机的呼叫等其他操作。只不过负责监听的线程是由系统自 95动建立的,当监听到于机呼叫等操作时,系统会通过 MIDLet框架及时通知应用程序的 游戏流程图 游戏的分析设计后还需要设定游戏的操作流程,游戏的操作仵应当充分考虑可用性和方使 性。联网五子棋游戏的总流程图如下图所示 3 国武技论文在线 http:/www.paper.edu.cn 创建 Midlet框架 创建 Game Canvas框架类 将 GameCanvas柱架类与 Midlet框架关联 创建 MyBut ton类,管理功能按钮 创建MyUI类,管理用户界面 创建 Computer类,管理人工智能 创建 Grids类,管理棋盘与棋子 创建 Network类,管理联网部分 图3联网五子棋的整体框架 Fig. 3 Network Gobang whole frame chart (1)人工智能( Computer)部分流程如下图所示: 定义数组存储棋盘 其他操作 一轮到电脑下棋? 对照棋谱遍历棋盘 「随机下棋=—在在与棋谱中相同布局? 按棋谱下棋 图4人工智能的流程 Fig. 4 Artificial Intelligence flow chart (2)联网对弈(蓝牙)服务器端的程序流程如下图所示: 开好 设备支持蓝牙 建立服务 监听客户的连接 有客户连接 C 创建新线程与该客户进行数据交换 110 图5联网对弈(蓝牙)服务器端的程序流程图 Fig. 5 Network(Bluetooth) versus on the server side program flow chart 4 国武技论文在线 http:/www.paper.edu.cn (3)联网对弈(蓝牙)的客户端程序流程如卜图所示 设备支持蓝 ( A 搜索蓝牙设者将找到的设备信息存入设备队歹 一设备搜索完早 备队列十搜索指定的服务 服务存入服务队 服务搜索完芊2 服务列表为G? 月户选择服务 连接提供服务的服务密 进行数据交 提不锖误信忘 关训链 图6联网对弈(蓝牙)的客户端程序流程图 Fig 6 Network(Bluetooth) versus on the client side program flow chart 游戏测试 Eclipse插件提供了直接将程序打包成JAR的方法,并同时生成与之配合的JAD 文件的。在WTK251中模拟器下载测试。调出两个模拟器,都点击联网进入联网界面, 120个选择服务器,另一个选择客户端。选择服务器后,出现如下图所示界面,点击“是”后等待 客户连接。 是否可楼? allelo 回回p 回 可回回断酱包 100 Midel smile 忏开穿齧盔牙雉。这表示其他 轰牙设备可以连接到警的设客上 回回回pep回回回 是弓进行炷楼? pdp回回回 图7等待客户连接 Fig. 7 Waiting for client to connect 125 另一个选择客户端后,査找网络,选择已査到的网络进行连接。选中所要连接的网络后, 出现如下图所示界面,选择“是”连接网络 国武技论文在线 http:/www.paper.edu.cn 回 lolololololo 是否可以连整 ppp國國p 回回回回園岛网路回回回 BTFive Midet Suite 回回回p回回回回回 」建客户于谁接 是否要进行连核? 回回回p回回回回 图8选择网络、连接网终 130 Fig. Select the network, connect to it 进入联网游戏界面,实现双人对弈。 结束语 本游戏的特色主要有以下几点 135 在游戏中,通过棋谱式算法实现了电脑的人工智能(AⅠ)。这种算法的稈序思路清晰, 计算量也相对较小。而且只要棋谱烂够多,也可以使电脑的棋艺达到一定的高度。这样游戏 才能具备可玩性 木游戏充分考虑了玩家的游戏心理。既可以实现单杋版的五子棋,又可以通过“蓝才” 联网实现双人对弈。让玩家感受到游戏的挑战性 l40 联网时就使用了一个 Network类同时实现了客户端与服务器的开发。采用软件重用技术 省略了者之间部分相同的代码,使程序更简洁。 本游戏采用图片添加的浮动功能按钮,美观、活泼,容易吸引玩家。 随着游戏技术的不断成熟,手机游戏的公共忙方面可能成为它最人的吸引力之一。手机 通信已经使廿界变得很小,而手机游戏则允许人们一起玩游戏而不关心其实际位置,从而使 145这种情况达到一个新的水。手机游戏不但能够克服地理位置的障碍,而且能够突破语言和 文化的障碍。因此,开发手机游戏是非常有必要的。 参考文献 l」郎锐:孙方.J2M手机程序 Eclipse开发基础M北京:机械业出版社,2006 15012」张鹏.手机游戏50例M」北京:海洋出版社,2007 [3]施争JME无线移动游戏发[M北京:人民邮电出版社,2006 [4](关)方约翰游戏人工智能[M]北京:北京邮电大学出版社,2007 [5]荣钦科技.J2ME手机游戏设计技术与实战M北京:电子工业出版社,2007 [6](美) Michael morrison.J2ME手机游戏编程入门[M]北京:人民邮电出版社,2005 155

...展开详情
立即下载 最低0.43元/次 身份认证VIP会员低至7折
举报 举报 收藏 收藏
分享
img

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐