图5闯关设计界面
14
5 软件功能调试
(1)对开发完成的扫雷游戏进行功能测试,检验是否实现了扫雷的主要功能
1)实现难度选择功能。 2)实现闯关功能。 3)实现左键踩雷功能。 4)实现右键标记功能。 5)实现复原功能。
(2)在扫雷游戏功能调试的过程中,我遇到了如下问题和解决方法:
1) 切换难度后一开始加载的部分有问题,说的清楚点就是窗体加载时默认加载初级难度,而如果切换成中级或者高级难度的话,雷区是在原有基础上生成的,也就是中级难度雷区包含了初级难度的雷区,而我当时调试事旧的雷区总是无法正常显示,但是新生成的雷区却能正常运行。我通过查阅大量资料和自己动手实验后,发现问题出在资源没有释放掉上,也就是如果重新利用雷区的话需要把旧有雷区所占用的资源释放掉。但是奈何技术不够硬,没有完美结果,只能使用笨方法来实现,最后虽然成功的解决了问题但这是在牺牲了大量系统运行资源上建立的。
2)在设计游戏时,我是仿照windos xp自带扫雷进行设计的,但是当时运行时报错,高级难度报错索引超出界限。我后来上网问人和百度查找还是没有发现问题出在哪里,但是初级难度和中级难度却能完美运行,我后来不断修改代码惊醒测试,只发现雷区是正方形就,没问题,否则就会报错,因为这个问题无法解决,所以最后布的不修改计划,将高级雷区设计成正方形。
3)我的扫雷游戏已经完成的差不多了,但是我的扫雷布局不好,而且窗体边框可以拖动,这会造成游戏变地很难看,我我查阅了资料后将窗体的AutoSizeMode属性设置成GrowOnly,并且指定窗体大小。
4)在多次修改后我的扫雷软件基本完成,但是没有鼠标左键+右键功能,虽然我知道这个功能很重要,但是经过我好几天的查阅资料和实验后,发现c#没有鼠标左右键事件,虽然有中键事件可以代替,但最终没有加上去是因为我发现button控件更本就无法实现扫雷游戏中左右键点击时的压下效果,因为这个问题根本无法解决,也找不到替代方案,所以最后只能舍弃掉这个重要的功能了。
5)在扫雷游戏完成后我开始附加模块的设计,我仔细考虑了很久,扫雷游戏是个特殊的游戏,他不能用一般游戏的难度设计来套用,如时间长短难度设计,雷数变化难度
15
设计。我决定另辟蹊径,利用连胜来增加游戏难度,而且我还设计了玩家完成后会获得一个惊喜大礼包。这更能调动玩家的兴趣。经过我的多次切身体会,初级难度游戏本身难度就不大,所以需要玩家连胜10次才能完成;中级难度比较容易,所以玩家只要连续完成5次就够了 ;高级难度本身就很难胜利,更何况是连胜能,所以2次足矣。
16
结论与谢辞
在我决定好毕业设计的课题之后,在宋老师的悉心指导下完成了整体设计。然后我就根据毕业设计任务书所计划的所要完成任务内容,认真的安排了自己的课余时间,并对所要实现的功能进行了详细的了解。然后便开始整个扫雷软件的设计。这次毕业设计的课题虽然难度不是很大,但是相对于我来说是有点困难的,要完成这份毕业设计是少不了学习及回顾所学的知识。工作量增加了不少,但是确实也让我把原先的专业知识重新巩固了一遍,也学习了很多原本没有学习到的知识。在设计与制作过程中,我充分利用自己所学的知识,也是因为原先本人就对本课题的设计进行了分析,在软件制作的过程中不断的分析问题,以及解决问题,让我觉得自己的对原本掌握的知识有了更深一步的了解,也对自己原先就不会的知识有了更多的了解。当然这个软件肯定存在着很多的不足,由于个人条件个人能力问题,这个软件还存在很多缺陷很多问题,光是一个界面美工就很粗糙,界面太过简陋,对于一个完善的游戏而言,我也只是完成了一部分功能,还有很多功能没有实现,但是对于我个人而言,这已经是我能力所能的极限了,所以虽然问题很多,但我对于自己还是很满意的。
这次毕业设计,我首先要特别感谢我指导老师,时刻关心着我,鼓励着我,并督促着我完成我们要完成的任务。还有感谢我们班的王梓轩同学帮助我修改论文,在我遇到问题的时候,细心的指导,在老师和同学的帮助下,我的毕业设计顺利完成了。
17
参考文献
[1] 王小科,徐薇.C#从入门到精通.清华大学出版社.2010-7.
[2] 丁宝康,董健全.数据库使用教程[M].北京.清华大学出版社,2003:12-210. [3] 李德奇.windons 程序设计案例教程(C#).大连理工大学出版社,2007-11. [4] 梁冰,吕双,王小科. C#程序开发范例宝典.人民邮电出版社,2009-10. [5]明日科技,C#从入门到精通[M],清华大学出版社2012-09.
18