📄 lw.txt
字号:
在飞机横向飞行中,使用以下语句判断飞机是否开火:
if(((cboss.getX()<=c1.getX()-10)||(cboss.getX()<=c1.getX()+60))&&(jbsz==0))
当每发一组子弹后,jbsz=1,则飞机无法开火,知道子弹
飞出屏幕,jbsz才重新设定为0。而((cboss.getX()<=
c1.getX()-10)||(cboss.getX()<=c1.getX()+60)表示当
玩家飞机处于BOSS的左右各10个象素的范围内时。BOSS
开火。关尾参见图4-10。
4.8本章小结
第四章中按照相应的步骤描述了所有关键类的具体算
图4-10关尾
法实现,引用了相关函数进行了具体流程的解释,并对原
理稍复杂的函数做了详细的分析。对游戏有关的各运行面也做了展示。
5 测试
5.1 打包测试的过程
使用Eclipse完成代码的调试之后,需要使用WTK生成包(即jar和jad文件),其过程如下:首先,使用WTK的新建项目功能建立一个新项目,要求与Eclipse工作区下的项目名称、MIDlet类名相同(图5-1)。
图5-1
新建项目后,将Eclipse工作区下的.java文件拷入src文件夹,将.class文件拷入class文件夹(需要新建),将pic文件夹拷入res文件夹,点击生成,如一切正常,将如图片5-2所示。
之后,选择项目-包-生成包。如图5-3所示。
图5-3
生成的jar和jad文件存储在lzhhdm/bin目录下。
运行Motorola SDK v4.2 for J2ME,使用MOTOA760手机模拟器进行测试。参考图5-4。点击Lanuch按纽,进入如图5-5的界面,即可以进行游戏测试了。
图5-4
测试的过程,实际上就是找不同的同学玩这款游戏,以期望发现BUG。实际上,几乎每一版本都会产生很多BUG。
5.2 发现的BUG及解决情况
几乎每一个计算机程序都会有这样
那样的不足,尤其是未经过精心维护的
非商业软件。即使是作为操作系统的各
种版本的Windows也时常会发生许多类
型的错误和漏洞。本游戏程序对于初涉
此领域的毕业设计课题来说,尤其在开
始初期,感觉逻辑复杂,难以控制,因
此产生了大量BUG,其中一些BUG还没有
解决,所有发现的BUG如下:
1.玩家子弹出现顺序问题;
2.玩家飞机爆炸后仍然可以控制爆
炸图片;
3.当过关后仍然会发生碰撞;
图5-5
4.当玩家击落可奖人飞机的同时玩
家被击落,并且此为玩家的最后
一架飞机,虽然显示援军到达,但
图5-5
游戏仍然结束。
5.有某组飞机在飞机被击中后仍能发射子弹;
6.sboos左侧子弹发射后不停在原位置刷新问题;
7. 游戏运行一段时间后变的很卡;
其中,1、2、3、4条BUG已经解决(方法已在第4章相关位置进行了说明)。4、5、6没有解决,其中,4、5、6三条如果有足够的时间可以解决。第7条以现有水平无法解决,因为出现这种情况的原因估计是内存的问题,而由于水平的关系,现在的代码变量过多,并且效率低下,有很多重复的地方,解决的方法只能是在水平提高的情况下重写整个程序。
5.3 未完善的功能
经过汇总测试人员的建议,本游戏应该完善的功能如下
1. 由于每按一次开火,就会对玩家子弹的精灵数组进行一次循环检查,使得本运行效率就不高的KVM运行异常缓慢。即使刷屏没有间隔也不会提高速度;
2. 最好有接宝物的设置,增强可玩性;
3. 由于没由合适的图片,使得敌人设置单一;
4. 地图本应由外部文件读入,但设计初期并没有掌握这项技术;
5. 手机游戏最好只有一个类,而我却有4个;
7. 没有添加成绩记录,即英雄榜;
6. 最大的遗憾,敌人不够智能化。
希望不远的将来,我能够有能力对这个游戏进行重写,以解决BUG、完善功能。
6 总结
6.1 本程序的总结和展望
本程序设计实现了手机上以J2ME为平台的飞行射击游戏的开发,敌人运行的方式由程序进行控制,具有一定的可玩性和复杂性。经过了细心的调试和排错解决了绝大部分的问题。
但是我的水平实在有限,在第5章列举的众多BUG和遗憾就可以看出这一点来,但我相信,随着时间的推移,个人水平的增长,我一定会重写这个程序,使其更加完善,
6.2 感想
这款游戏作为我的毕业设计,是本人目前做过的最有意义的程序,这期间对J2ME的学习,使我又回到了初学PASCAL的时候。
本科期间做过很多课程设计,大多规模很小。在数据库、各种应用软件和游戏中,我仍觉得对游戏的设计有极大的热情。因为其各个模块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能最终看到成品,有无比自豪的心情。大学期间做过图书馆管理程序等简单的数据库管理系统的课程设计,思想大致相似,变化范围有限,没有太多自己可发挥的余地。大家作品的最终结果都离不开同一个模式。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥,正式商业的软件的人性化界面和各个游戏间迥异的结构每每会让人有去开发的冲动。
学习J2ME的困难远远超出了想象,在设计初期,为了解决地图的滚动、玩家飞机如何不飞出上下边界两个问题竟然花费了数天的时间。很多相关的技术,如需要使用到的线程、Game包的新功能、高级、低级图形界面的使用、贴图等,每一项都需要花一定的时间去掌握和熟悉。更为困难的是,J2ME为一种刚出现仅几年的新技术,国内的参考资料非常少,仅有的几本也停留在简单的介绍阶段。台湾的王森写了本较好的书,给了我很大的帮助,但对设计该游戏来说,仍只够入门。
幸运的是,互联网上有那么多无私的人,由Jason Lam著,Deaboway Chou译的电子书《J2ME&Gaming》给了我很大的帮助,作者、译者的辛勤劳动的成果免费放在网上由大家下载,是开源精神的完美体现。
致 谢
首先感谢我的指导老师马慧彬副教授,她在我的毕业设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新兴的技术。
感谢黄明旭、包明辉同学对游戏进行测试,感谢包明辉同学对游戏相关图片的修改。
感谢答辩组对本毕业设计的考核,如果可以得到专家的认可将对我的学习和工作给予极大的鼓励。你们客观的评价和建议我将牢记在心,在今后的发展中扬长避短,更加努力的严格要求自己。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -