天津理工大学2010届本科毕业设计说明书
图 6.1 等待开始画面
游戏可以正常开始,我方坦克创建顺利,分数和生命数初始化正常。
图6.2 坦克 隐藏树下
- 27 -
天津理工大学2010届本科毕业设计说明书
图 6.3 系统占用情况
我方坦克可以流畅的移动,来顺利的闪躲敌人子弹,并且爆破时可以顺利生爆破画面,生命数顺利减一,分数也正常增加。并且游戏可以长时间运行,敌人运行和炮口的AI行为和设计方案一致。可以自动瞄准。我方也可以顺利开炮,并且上方炮弹可以顺利击中对方。
连续快速开炮bug已解决,在开炮初始化VX,VY时 初始化成4,而不要不初始化,以免造成内存的使用错误。
图6.4 战斗中
游戏可以正常结束,并且游戏可以顺利的重新开始。
- 28 -
天津理工大学2010届本科毕业设计说明书
图 6.5 游戏结束
6.4 白盒测试
1.测试我方坦克边界运行方式是否为环绕型。
经测试,我方坦克可以正常在游戏的一侧消失,而从另一侧出现。此处与程序。 if ((ptNewPosition.x + ptSpriteSize.x) < m_rcBounds.left) else if (ptNewPosition.x > m_rcBounds.right) if ((ptNewPosition.y + ptSpriteSize.y) < m_rcBounds.top) else if (ptNewPosition.y > m_rcBounds.bottom) 所设计的完全一致。
2.测试我放子弹是否可以在未打中的情况下自动爆破。 经测试我方子弹可以正常爆破,然后播放爆炸画面以及声音。 3.测试敌人出现是否随着级别的增加而提高出现频率。 测试结果与预期相同,并且可以播放爆炸声音。 4.测试奖子。
测试结果 奖子的出现频率可以随着级别的增加而降低出现频率,而每一种奖子的效果也可以正常实现。
获得无敌清除以前的无敌时间,重新开始计算不会累加。获得加一命,如果为满命则不会增加生命上限。获的减一条命,如果仅剩一条命则不会死亡。
- 29 -
天津理工大学2010届本科毕业设计说明书
第七章 总结与展望
7.1 游戏特点
本游戏是一款休闲射击游戏,它可以完全按照现实坦克的移动方法转动底座,旋转炮口准备开炮,并且两者可以同时进行。
在操作方面需要使用键盘方向键控制坦克的移动,用鼠标瞄准,左键开炮。这种CS式的第三视角操作,可以充分的是玩家发挥操作到位,意识超前的快感。并且随着难度增加,敌人坦克树木的不断增加,会制造出一夫当关万夫莫开之势。一辆银白色的坦克在沙漠上驰骋所向披靡。
敌人坦克的运动方式有多种,运动速度也不一致并且边界动作也有多种,这些加起来就可以制造出变幻莫测的敌坦克阵型。做到无bug可以通关。
最终将我方坦克的边界动作设置成了环绕,这样可以是玩家的操作更具创造性,更容易制造置之死的而后已的场面,这是十分壮观的。还有这种运动方式可以暂时躲避敌人的进攻,但是人的思考速度就要在此时体现,玩家的坦克会立刻从另一侧出现,并且敌人会马上向这里进攻,所以玩家玩了穿越后一定要能够迅速的适应新的坐标位置,察觉到周围的敌人坦克走势。
7.2 总结
这款游戏作为我的毕业设计,是本人目前做过的最有意义的程序,这期间对window API的学习,使我又回想到了初学C++的时候。
本科期间做过很多课程设计,大多规模很小。在数据库、各种应用软件和游戏中,我仍觉得对游戏的设计有极大的热情。因为其各个模块间的联系十分紧密,代码重复执行率高,当经过无数次的调试、修改后,能最终看到成品,有无比自豪的心情。大学期间做过图书馆管理程序等简单的数据库管理系统的课程设计,思想大致相似,变化范围有限,没有太多自己可发挥的余地。大家作品的最终结果都离不开同一个模式。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥,正式商业的软件的人性化界面和各个游戏间迥异的结构每每会让人有去开发的冲动。
学习API的困难远远超出了想象,在设计初期,为了解决位图的显示、玩家坦克如何自由操作两个问题竟然花费了数天的时间。还有很多 窗口创建 消息体制使用等等。每一项都需要花一定的时间去掌握和熟悉。更为困难的是,API 的书记比较少,大多是介绍MFC的,所以又十分感谢《游戏编程》 Michael Morrison ,这本书带领我走进了API的游戏世界。
这次程序设计是我做的最大的一次,也是最为艰难的。一个主要的原因就是前期设计不够完善,导致许多后期设计比较紊乱。现在可是深刻的体会到了软件工程的学问了,编码只
- 30 -
天津理工大学2010届本科毕业设计说明书
是一小部分而已。
7.3 后续版本展望
在下一个版本中,游戏将会添加局域网功能,并且多人局域网游戏将成为主要功能,此游戏将会作为一个单人的游戏模式嵌入到2.0版本中。我将继续使用Windows API,而通信模型出不采用 Windows 的完全端口。
局域网对战中将为为两大类,第一类为携手抗敌,第二类为同台竞技。携手抗敌和单机版基本类似,是两个或多个玩家可以同时与电脑对战,并且会为坦克添加技能以增加队友的合作能力。也会添加新的操作模式,比如一个人需要同时操作两辆坦克,操作是连在一起的,也就是如果一台坦克移动,那么另一台坦克会做完全相同的动作或者是完全相反的动作,这样的模式也可能会添加到,第二种竞技类之中。
而第二类则是为玩家之间的竞技。多个玩家可以暂时的合纵连横,这样不仅添加了战术性还会使游戏更加有趣味性。但是最后只能有一个人封神。这会使曾经的战友怎么处理呢?
单机游戏也要有相应的改进,暂时只是想到添加BOSS功能和一些促进操作技巧的技能。 铁甲风云2.0版,计划将在12月份,制作完毕。
- 31 -