目前手机网络游戏的迅速崛起,让游戏运营商们又发现了一个新的发展“特
区”,期待着手游能继网游之后成为新的经济增长点。手游为广大手机用户带来了
一种全新的休闲方式,他们可以随时随地利用手游放松紧张的情绪,缓解学习、工
作、生活中的种种压力。本章将介绍如何使用 Java 的 J2ME 技术开发一款以象棋为
核心的手机网络游戏。通过阅读本章,可以学习到:
J2ME 程序开发
HTTP 协议的有状态连接
J2ME 与 Tomcat 的通信
如何绘制游戏界面
游戏信息处理
使用 EclipseMe 工具
手机网络游戏
(J2ME+Servlet 实现)
10
第
章
Java 项目开发全程实录
10.1 开发背景
加入 WTO 之后,随着 3G 时代的即将到来,中国手机网络游戏迅速崛起,成为继网游之后又一
新的经济增长点。×××有限公司是一家手机游戏运营商,公司已经从网络版的手机游戏运营中获取了大
量的资金,现在总结了玩家的反馈信息,发现游戏玩家需要一些小型的休闲类游戏,例如纸牌、象棋、
围棋和一些智利游戏等。现需要委托其他单位开发一个网络版的手机象棋游戏。
10.2 系统分析
10.2.1 需求分析
通过与×××有限公司的沟通和需求分析,要求系统具有以下功能。
系统操作简单,界面友好。
运行速度快,保证程序的稳定性。
支持多人操作。
支持移动网络连接。
以 HTTP 协议通信。
10.2.2 可行性分析
从手机游戏依托的技术平台来看,目前 Java 手机游戏保持很高的增长速度。手机游戏将是未来游戏
市场的主要发展方向,只要拥有一部手机,就可以进入到全新的掌上游戏世界。游戏正成为无线增值服
务的主力军,各游戏开发商早已洞察到这一点。通信公司 2.5G 和 3G 通信技术的发展,给手机用户带来
了高达每秒 384K6ps 的移动带宽,将语音、图像、视频有序地结合起来,给手机用户带来了更加丰富多
彩的多媒体娱乐服务。借此东风,各游戏开发商将进入全新的无线网络游戏时代,市场潜力巨大。
手机版象棋游戏采用 MIDP 1.0 开发,在低端手机上运行的同时,保证了高端手机的兼容性,其
市场发展空间巨大。伴随着中国移动 GPRS 和中国联通 CDMA1X 数据业务的开展,手机游戏将是 3G
数据业务一个重要的应用领域。
·198·
第 10 章 手机网络游戏(J2ME+Servlet 实现)
10.3 系统设计
10.3.1 系统目标
根据需求分析的描述以及与用户的沟通,现制定系统实现目标如下。
界面设计简洁、友好、美观大方,保证直接上手便可游戏。
操作简单、快捷方便。
规则简单,方便游戏者进行游戏。
实现智能规则判断。
支持大型 Web 服务器,以 Http 协议通信。
向 PC 端开发靠拢,为以后 PC 与手机互联奠定基础。
10.3.2 系统功能结构
本系统的服务器端包括消息接收和桌面管理,功能结构如图 10.1 所示。客户端包括主窗体、游戏界
面、消息处理等模块,其功能结构如图 10.2 所示。
主机服务器端
消息接收
登
录
信
息
处
理
落
座
信
息
处
理
开
始
信
息
处
理
走
棋
信
息
处
理
退
出
信
息
处
理
桌面管理
更
新
单
个
桌
面
获
取
桌
面
列
表
更
新
所
有
桌
面
手机客户端
主窗体
桌
面
更
新
处
理
落
座
信
息
处
理
获
取
玩
家
列
表
落
座
消
息
处
理
退
出
信
息
处
理
游戏界面
绘
制
棋
盘
规
则
处
理
绘
制
棋
子
消息处理
消
息
发
送
图 10.1 服务器端系统功能结构 图 10.2 客户端系统功能结构
10.3.3 构建开发环境(根据语言的实际情况写)
在开发手机游戏时,分别使用了以下软、硬件环境。
硬件平台:
CPU:P 800GHzⅢ 。
内存:256MB 以上。
硬盘:500MB 以上空间。
显卡:32MB 以上显存。
·199·
Java 项目开发全程实录
软件平台:
操作系统:Windows 2003(SP1)。
Java 开发包:JDK 1.6。
J2ME 开发包:Wireless Toolkit 2.5.2 for CLDC。
分辨率:最佳效果 1024×768 像素。
手机分辨率:最佳效果为 240×292 像素。
开发工具:Eclipse 3.2+MyEclipse 5.1+EclipseMe 1.7.7。
10.3.4 系统预览
手机版象棋游戏的界面根据具体游戏进度而变换,下面仅列出几个典型界面的预览,其他页面参
见光盘中的源程序。
游戏的开局界面如图 10.3 所示,该界面是游戏的主界面,包含游戏的规则算法、控制走棋、吃棋、
选棋、退出、开始等操作。如图 10.4 所示是游戏进行到死局的界面效果,在该界面中,红棋已经无路可
走,它被对方的“炮”和“车”将死。
·200·
第 10 章 手机网络游戏(J2ME+Servlet 实现)
图 10.3 开局界面(光盘\…\GameCanvas.java) 图 10.4 死局界面(光盘\…\GameCanvas.java)
输棋的界面如图 10.5 所示,该界面在玩家输棋的时候提示玩家“抱歉,您失败了”。游戏胜利界
面如图 10.6 所示,该界面在玩家取得胜利的时候提示玩家“恭喜,您获胜了”。
图 10.5 输棋界面(光盘\…\GameCanvas.java) 图 10.6 胜利界面(光盘\…\GameCanvas.java)
说明:由于路径太长,因此省略了部分路径,省略的路径是“TM\10\xiangqi\src\com\lzw”。
10.3.5 文件夹组织结构
在进行系统开发之前,需要规划文件夹组织结构。也就是说,建立多个文件夹,对各个功能模块
进行划分,实现统一管理。这样做的好处在于:易于开发、管理和维护。开发本游戏时,服务器文件夹
组织结构和客户端文件夹组织结构分别如图 10.7 和图 10.8 所示。
·201·