手机吞吃蛇游戏的设计与开发
摘 要
J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的Java特性而提高开发的效率。
随着手机的日益普及、JAVA功能在移动设备上的实现,JAVA应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。本文主要介绍了一款手机吞吃蛇游戏,本设计着眼于J2ME技术的应用,采用JDK1.6,NetBeans 5.5作为开发工具,使用WTK2.5作为模拟器测试,开发一款吞吃蛇的手机游戏程序。本程序将老少皆宜的经典作品移植到手机上来,为更流行的硬件平台提供应用软件。这些都将能很好的满足未来人们对手机游戏的需求。吞吃蛇游戏基于JAVA平台编写,满足一般手机用户的娱乐需求。
关键词: J2ME;手机游戏;Java,吞吃蛇
The Design and the development of the gobbled snake mobile game
Abstract
J2ME (Java 2 Micro Edition) was a new development technology which born based on each different kinds of equipment, especially the rapid development of mobile communication equipment. It locates in the application of the expensive electronic products, has provided the revolutionary solution to the intellectualization and the diversification of the equipment and enhances the development the efficiency because of the Java characteristic that "Write Once, run anywhere"
With the popularization of the handset and the realization of the JAVA function on the mobile equipment The increment service of the handset which produced by the JAVA application procedure gradually manifests its influence,and plays a noticeable role on riching people's life content and providing the quick information.This thesis mainly introduced a gobbled snake game in the handset, this design focuses on the application of the J2ME technology, takes JDK1.6, NetBeans5.5 as the developmentkit, uses WTK2.5 as the simulator to test, develops a handset game procedure of the gobbled snake game. This procedure transplants the classical work which both good for young and old to the handset, provides the application software for the more popular hardware platform. These will be able to satisfy the peoples' demands to the handset's games. The gobbled snake game based on the JAVA platform compilation, satisfied the entertainment demand of the common handset user.
Keyword: J2ME; Handset game; Java, the gobbled snake
目 录
论文总页数:21页
1引 言 1
2手机吞吃蛇游戏系统分析 2
2.1系统需求分析 2
2.1.1游戏背景 2
2.1.2游戏功能 2
2.1.3游戏的操作性要求: 3
2.1.4 游戏的实用性 3
2.2系统设计目标 3
2.2.1游戏设计思想 3
2.2.2 模块框架结构 4
2.2.3 关键技术问题 4
2.3系统开发环境 5
2.4系统运行环境 5
3贪吃蛇游戏系统设计 6
3.1程序流程 6
3.1.1结构构造 6
3.1.2系统流程图 6
3.1.3系统流程说明 7
3.2数据结构设计 8
4系统实现及核心代码 11
4.1系统实现 11
4.2 核心代码 13
5系统测试 15
5.1测试方法 15
5.2 测试结果 15
5.3 测试结论 17
5.4 程序运行截图 17
结 论 19
参考文献 19
致 谢 20
声 明 21
1引 言
在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端:
1.传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。
2.传统手机访问互联网是通过WAP,所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。
而JAVA技术在无线应用方面的优势非常明显:
1.应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。
2.JAVA技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面;
3.JAVA技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。
基于以上分析,JAVA手机将是未来手机的发展方向,是业界的热点。
J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的JAVA特性而提高开发的效率。
JAVA手机游戏在国内大约开始于2004年,由于市场不规范,出产了一批非常劣质的手机游戏,不过那些开发商和运营商都从中挣到了钱。由于JAVA语言本身的特点,JAVA游戏不会受到手机平台的太大的限制,所以很是受欢迎。本文就将以计算机网络为载体,利用JAVA技术对吞吃蛇游戏的功能模块做一次尝试。
丰富的社会交互: 不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完了所有的游戏路径很快就会厌烦这个游戏。对于一个基于订阅的游戏,重要的是与别的玩家合作以增强所玩游戏的智力和随机性。在今天纷繁复杂的多玩家游戏中具有丰富社会交互的游戏证明是成功的。
利用手机技术的优点:巨额的手机技术研发费用都花在提高设备和网络的可用性和可靠性上面。因此,手机设备硬件和网络协议与桌面/控制台世界(如全球定位系统(GPS)扩展、条形码扫描仪、和短消息服务(SMS)/多媒体信息服务(MMS)通讯)有着非常大的差别。好的手机游戏应该利用那些更新的设备特征和网络基础设备的优点。
游戏是人们生活中不可或缺的,一个人从小到大,真正伴随他成长的东西,游戏占有着很重要的地位.不论是一个玩具,还是一个能和伙伴一起开心的小游戏,都是能给我们留下很多美好的回忆.所以不论是什么样的游戏,只要它能迎合人们内心的某种需求,它的市场总会是好的.
2手机吞吃蛇游戏系统分析
2.1系统需求分析
2.1.1游戏背景
贪吃蛇,是个简单的小游戏,但却能给人以放松,让我们从繁重的日常生活中解脱出来.而只有我们的身心得到了娱乐才能更好的投入到新的工作.现在的人,不管是已经工作的,还是还未进入社会的学生,都面临着很大的压力,而这样一款能让我们随时随地都能享受的游戏,其魅力还是不可估量的.
贪吃蛇,之所以取这样的名字,去用意还是很明显的.贪吃蛇其实并不贪,它是人不断向前追求的象征.就像现代的人只有不断努力向前才能得到自己想要的.而食物也是随机出现的,就像现在社会存在的机会,而我们只有找好自己的目标才能成功.
虽然现在市面上存在着各种各样的游戏版本,可是贪吃蛇其市场还是相当大的.因为它的特殊在于它能吸引人更深入,爱不释手.随着游戏速度不断加快,其刺激性也更强.
可以说该游戏的优势在于它的简单易行,不论是手机,还是小游戏机,都能很快顺利的运行.对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游戏刚好迎合了他们的需求.
手机吞吃蛇游戏基于JAVA平台编写,采用J2ME技术开发的一款手机游戏。手机游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。JAVA是基于虚拟机的半解释型编译系统,其执行效率较C++等完全编译后的程序会低很多,程序如果不进行精简和优化,将可能导致运行的不流畅。游戏的结束、开始、动态信息画面作为构成一个程序都是必不可少的重要部分。良好的用户界面更是吸引用户的硬指标,相关的美术构图和人性化设置也需要有一定的考虑。
2.1.2游戏功能
本游戏对游戏声音的控制、游戏等级的控制、最高分的记录、游戏暂停、游戏重新开始、游戏结束这些功能都要求能在手机模拟器上运行。
贪食蛇的玩法很简单,用键盘上的方向键控制贪食蛇的运动方向,游戏的目的是控制贪食蛇吃掉更多的食品,但是不能碰到四周的墙壁,也不能让贪食蛇的首尾相接,否则游戏失败。游戏最终是要在手机上允许。能够使用键盘控制贪食蛇的运动,生成新的点,并且能够根据点数进行记分.
2.1.3游戏的操作性要求:
易于学习: 既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习游戏技巧。消费者不会花几个小时去研究一个3元的手动操作的游戏。保持游戏的简单是最基本的要求。
可中断性: 多任务处理是手机生活方式的基本特征。手机用户常常在任务(如等一个电子邮件或者等车)之间有一小段时间。而游戏、日历管理、通讯和工作数据访问使用的是同一个设备。所以一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏和工作模式之间顺利切换。
2.1.4 游戏的实用性
丰富的社会交互: 不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完了所有的游戏路径很快就会厌烦这个游戏。重要的是与别的玩家合作以增强所玩游戏的智力和随机性。在今天纷繁复杂的多玩家游戏中具有丰富社会交互的游戏证明是成功的。
2.2系统设计目标
2.2.1游戏设计思想
本科期间做过很多课程设计,大多规模很小。在数据库、各种应用软件和游戏中,我仍觉得对游戏的设计有极大的热情。因为其各个模块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能最终看到成品,有无比自豪的心情。大学期间做过图书馆管理程序等简单的数据库管理系统的课程设计,思想大致相似,变化范围有限,没有太多自己可发挥的余地。大家作品的最终结果都离不开同一个模式。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥,正式商业的软件的人性化界面和各个游戏间迥异的结构每每会让人有去开发的冲动。综合运用以前所学习的知识,设计一个JAVA手机游戏,并能实现以下的功能:游戏声音的控制、游戏等级的控制、最高分的记录、游戏暂停、游戏重新开始、游戏的结束。
手机已经与现代生活方式紧紧地结合在一起。他们是最普遍携带的个人用品中仅次于钥匙和钱包的东西。传统的台式机游戏将目标锁定在低级趣味的人和青少年身上,而手机游戏则每个人都可以访问的到——随时,随地。尽管每个手机游戏都不贵,但是巨大的使用量(如:每人每星期一个新游戏)将使得这个市场商机无限。但是,对于开发者来说,将控制台游戏迁移到手机游戏工程很大。因为他们所面向的对象、生活方式和分布式模型都有着极大的区别。
由于J2ME平台被认为是最杰出的手机游戏平台,它为开发者、设备制造商、网络通信公司和消费者广泛接受。它有一些非常重要的特征对所有组织都有益。因此本文采用它来进行设计。利用Java撰写手机上的程序当然有其缺点,最广为人知的可能就是执行效率的问题,Java在执行速度这个议题上一直让人诟病。不过笔者认为,随着技术的发达,将会有更快更省电的嵌入系统专用CPU出现,Java One中也传出将针对J2ME开发专用芯片,让Java在 手机上的程序可以跑得更快,因此效率上的总是其实是可以忽略的。更何况,当Sun在设计J2ME的时候,也用了很多方式企图加快Java 在手机上的执行速度。
2.2.2 模块框架结构
贪食蛇游戏是一条不停游动的蛇不断的捕食来达到自身的增长,但是若蛇碰到自身的身体或者碰到了任何障碍物,则游戏结束。
设计初期要做的工作
寻找规律,建立对象模型:
首先从物理的角度来分析蛇的运动规律。它是蠕动的,像水一样流动。他有个特性就是身体的每一个点都经过他头部所在的点,他每一个时刻骨节所要运动的目的地是他前一个骨节所在的位置。
不难看出,其中的对象模型为:
蛇,骨骼,骨节,头
抽象的接口为:
蛇,骨骼,骨节,头,图元
接下来将各个流程分解成模块,开始编码。 |