VB扫雷游戏设计(论文+源代码) 第6页
Call setMineImage((yy * MAP_X + xx), mapArr(xx, yy))
End Select
End If
End If
End If
Next yy
Next xx
End Sub
3.3.4游戏难度的选择
这里我设置了“初级”,“中级”,“高级”以及“自定义”四个不同的难度级别,“初级”,“中级”,“高级”中的雷区大小和地雷总数是已经设计好了的,如果玩家想要自己设置这些参数,可单击“游戏”→“自定义”,然后在“设置”中输入行数,列数及地雷数,在这里我对行数及列数做出了一个限定,及行数和列数的最大值分别为24和30,当在设置地雷数的时候,如果地雷数大于或等于行数和列数的乘积,或者地雷数小于零,地雷数都将自动的转换为:地雷数=(行数-1)×(列数-1)。
3.4游戏的判断
3.4.1游戏成功完成
当在规定的时间内将所有的雷都正确的标示出来,游戏就会有一个弹出框提示你在多长时间内完成当前难度下的游戏。
还有一种情况便是当只剩下地雷未探测的时候,及雷区方块总数-已清除的方块数=地雷总数的话,游戏也将成功完成。
3.4.2游戏失败
当鼠标左键按下的方块为地雷方块事,地雷将会被引爆,游戏立即结束。
当在设定时间内未探测完所有的地雷,地雷也将会引爆,对于这第二种行为,我们可以通过Timer组件来加以控制。利用Timer组件在固定时间即会触发时间的特性,在事件触发时便将计数值加一,直到判断计数值超过限定值时,即地雷引爆。具体代码如下所示:
'定时器
Private Sub Timer1_Timer()
TIME_COUNTER = TIME_COUNTER + 1
'时间计数显示
Call setNowTimer
'设定状态图示
If TIME_COUNTER = 999 Then
isDie = True
Timer1.Enabled = False
mapFaceArr(xxx, yyy) = 0
Call showMine
'设定状态图示
Call setStateImage
MsgBox "您探测地雷的时间已超过,地雷已引爆。", , "超时"
End If
End Sub
4 游戏测试结果
在程序代码基本完成后,经过不断的调试与修改,最后测试本次所设计的扫雷游戏能够正常运行,在基本功能与画面上与Windows自带的扫雷游戏没有太大差别,没有出现明显的错误和漏洞,但是在一些细节方面仍然需要完善,比如在游戏中可以加入一些声音的提示,在游戏完成和失败的时候可以弹出一些小的Flash动画,还有就是可以加入一个扫雷英雄榜等等。总的来说本次设计在功能上已经基本达到要求,其他细节方面有待以后完善。
结 论
毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的一个程序的设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际问题的能力,同时也提高我查阅文献资料、对程序整体的把握等其他能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富。这是我们都希望看到的也正是我们进行毕业设计的目的所在。
虽然毕业设计内容繁多,过程繁琐但我的收获却更加丰富。各种组件的运用,各种算法的应用,各种控件的利用我都是随着设计的不断深入而不断熟悉并逐步掌握的。和老师以及同学的沟通交流更使我对程序整体的规划与设计有了新的认识也对自己提出了新的要求。
提高是有限的但提高也是全面的,正是这一次设计让我积累了许多实际经验,也必然会让我在未来的工作学习中表现出更高的应变能力和理解力。
顺利如期的完成本次毕业设计给了我很大的信心,但是也让我看到了自己许多不足的地方,学习其实就是一个不断完善的过程,正视自己的不足之处,在以后的工作和学习中不断的弥补这些不足之处,在以后的生活中也要保持同样的态度,不断的完善自己。
参考文献
[1] 唐任仲.工程应用软件开发技术[M].北京:化学工业出版社,1999。
[2] 李怀明.Visual Basic 6.0 中文版 参考详解[M].北京:清华大学出版社,1999。
[3] 李善茂.Visual Basic 6.0 高级编程技巧[M].西安:电子工业出版社,1999。
[4] 谭浩强.Visual Basic 6.0 中文版 提高与应用[M].西安:电子工业出版社,1999。
[5] 冯锋,王运坚.Visual Basic 程序设计基础教程[M].西安:电子工业出版社,1999。
[6] 何斌,刘醒.Visual Basic 6.0 应用指南[M].成都:四川大学出版社,1998。
[7] 伍俊良.VB课程设计与系统开发案例[M].北京:清华大学出版社,2002。
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页