图6-3
(2) 按下键盘上的“下”方向按键。 (3) 查看任务是否向下移动,如图5-4:
图6-4
18
6.3 箱子放置到指定位置时变色显示功能测试
将箱子放置到指定位置时,箱子会变色的功能,具体步骤如下 (1) 推箱子游戏已经开始,如图6-5所示
图6-5
(2) 推动箱子到指定位置后,显示如图5-6所示
图6-6
19
6.4 支持地图扩展功能的演示
推箱子游戏是否支持地图扩展功能,步骤如下: (1) 查看第一关地图文件,其内容如下: (2) 与游戏显示的地图对照
图6-8 修改后的地图文件
(3) 重新进行第一关游戏,地图显示
图6-7 第一关地图文件
图6-9
20
7
特殊问题及解决方法
1、 问题1 问题描述
记录所有走过的步数总是不成功 解决方案
设置变量sum 解决结果
可以记录所有走过的步数,当游戏重新开始的时候本关的步数清零。
2、问题2 问题描述
在初始化地图函数时,由于每加载地图均要将目的地存储于 POINT DE[]中,由于人物移动过程
中当人物占领目的地时,目的地POINT DE[]存储内容也会随之改变,事实上DE里面的值是不会变的 解决方案
对POINT DE[]的值只初始化一次,记在选关按钮按下时,或游戏结束时才初始化,当人物移动时,当加载目的地图片时,不再对 POINT DE[]进行赋值。 解决结果
目的地的图片正常显示,成功判断当前关是否成功
8 设计小结
从工程实践开始前两周,原计划使用MFC开发程序,因为较WIN32应用程序熟悉,但是后来考虑到运用WIN32应用程序能使得开发更为灵活,且文件不至于冗余。刚刚使用WIN32应用程序开发的时候,对整个开发框架和消息机制的不熟悉,走了很多弯路,花了不少时间实践,从最初的需求分析设计,概要设计,我们小组都会集中实验室进行详细的探讨,虽然在探讨过程中不免会有不同意见,但是都能很好的协商,调节过来,本次实践不仅在编程知识上有了更深的理解,也加深了我们对团队合作的重要性的认识。
虽然本款游戏与传统上的推箱子游戏大同小异,但是我们尽了自己最大的努力去完善和修正它,小组成员都尽力扮演好自己的角色,对自己的分工也是按时按量的完成。为了此次项目能按时按量的完成,我们在明确自己的方向后,不断地在百度,谷歌,图书馆寻求为我们的答案。本次实践,我们的美工也是异常幸苦,为了满足我们程序主题的要求,不断地更新图片,有时候也会连续制作图片达3,4个小时。虽然这次的游戏没有预想中的那么好,但是通过本次学习,下个作品将会更加出彩。
编程工作不是那么容易的,有时候为了找一个小小的错误,会耗上我们一整下午的时间,我们需要一点一点的排除,不停地分析和排除可能出错的原因,所以编程是需要很大的勇气和耐心。有人说这是在浪费我们的时间,其实事实上当你自己独立的解决完一个问题后,你会有很大的收获。可以说,结果固然重要,但在解决问题的过程中,我们学会了如何分析和解决问题不是更有意义吗?!
9 参考文献
[1] 王慧芳,毕建权. 软件工程
[2] 罗伟坚. Visual C++经典游戏程序设计. 人民邮电出版社
21
设计过程中质疑(或答辩)记载: 1、如何打开地图? 答:CString str; str.Format(\ FILE *pFile=fopen(\ 然后打开将读取的文件放入缓冲区中即可 指导教师评语: 签名: 2013年 1 月 日
22