您好,欢迎访问三七文档
目录1引言.............................................................................................................................12VisualBasic概况...................................................................................................22.1VB简介...............................................................................................................22.2本设计运用的技术............................................................................................23可行性分析.................................................................................................................64总体设计.....................................................................................................................74.1设计构想.............................................................................................................74.2流程规划.............................................................................................................75详细设计.....................................................................................................................95.1画面规划.............................................................................................................95.2设计过程..........................................................................................................105.2.1添加菜单.................................................................................................105.2.2自定义窗体设计.....................................................................................105.2.3关于窗体设计..........................................................................................115.4运行界面..........................................................................................................116系统测试...................................................................................................................13结束语..........................................................................................................................14参考文献......................................................................................................................16附录..............................................................................................................................17唐山学院课程设计11引言本论文研究的是以VisualBasic6.0为开发环境,设计并开发一款扫雷游戏,其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了制作游戏的整体思路及整个游戏设计的流程规划,然后介绍了雷区的布置及地雷随机产生的实现方法;重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为重要,鼠标事件是利用鼠标所发出的信息了解使用者的意图,进而做出相对应的动作,而清除未靠近地雷区方块由于引进了“递归”这个概念而使其简单化。扫雷游戏是WINDOWS系统自带的一个娱乐性的小游戏,在玩扫雷游戏的过程中也可以很好的培养耐心和细心,同时在无聊得时候可以用以休闲娱乐,如果我们自己也能动手做一个小程序来实现这个功能,自然能乐在其中。本次设计只是完成了扫雷游戏的基本功能,在细节方面仍有待完善。唐山学院课程设计22VisualBasic概况2.1VB简介VISUALBASIC是微软公司出品的一个快速可视化程序开发工具软件。借助微软在操作系统和办公自动化软件的垄断地位,VB在短短的几年内风靡全球。VB是极具特色和功能强大的软件,主要表现:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的代码。同时众多的ACTIVE控件,提高了软件的使用效率。可以用于可以开发多媒体、数据库、网络、图形等方面的应用程序。VB应用程序语言的基本特点[1]:1可视化界面设计VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉WINDOWS应用程序的用户来说是一点也不陌生,如“窗体”,“菜单”,“命令按扭”,“工具按扭”,“检查框”等等,用户只要利用鼠标、键盘把这些控件对象拖动到合适的位置,设置其大小、形状、属性等,就可以设计出所需的应用程序界面。2事件驱动编程在使用VB设计应用程序是,必须首先确定应用程序如何同用户进行交互。例如发生鼠标单击、键盘输入等事件是,由用户编写代码控制这些事件的响应,这就是所谓的事件驱动编程。3与数据库的连接性VISUALBASIC提供了与底层数据库系统紧密的连接。VISUALBASIC支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。开发人员和利用内置的高性能数据库引擎——JET生成独立应用或脱离服务器运行的服务以上的应用。2.2本设计运用的技术这个游戏里运用了VB里的组件及语法作为游戏运算和显示,其相关语法及组件如下表1所示:唐山学院课程设计3表1使用的语法及组件组件及语法说明For...Next利用循环布置地雷区、按下时检查非地雷方块Load(Unload)动态加载或删除指令产生表示地雷方块图案的Image组件Mousedown与Mouseup事件判断按下或放开方块时的按键为左键或右键Imagelist组件存储游戏过程中所需的图案Image组件利用此显示地雷方块Timer组件设定触发时间,来控制方块游戏时间PictureBox组件利用此组件作为地雷方块的布置区域递归利用递归展开非地雷的方块详细说明如下:1.For...Next循环应用在游戏设计上,利用了两个二维数组分别记录地雷的分布状况及地雷区及表面探测情形。利用数据循环的对比,不但速度快,而且在设计阶段,程序的架构比较清楚。2.Load及Unload动态增加或删除组件利用Load及Unload指令,可动态新增及删除组件。在游戏的雷区,依照使用者自定义的地图类型,布置未探测的地雷方块。加载组件后,通过Image组件的Move属性,将组件布置于预定的位置。Move函数的原型如下:组件.MoveX坐标,[Y坐标],[组件宽度][组件高度]再配合双循环的变量值,可以控制组件布置于窗体的方向及方式。3.MouseDown与MouseUp事件在游戏过程中,利用鼠标所发出的信息了解使用者的意图,进而做出相应的动作。在MouseDown与MouseUp事件中,可以捕捉鼠标所按下或放开的按键为何、鼠标光标在该组件上的坐标及是否同时按下辅助键等。用Button参数值表示鼠标上的按钮数值。其意义如下:1:左键2:右键4:中央键若同时按下不止一个按键时,则传回数值为按键数相加。例如同时按下左键唐山学院课程设计4及右键,则Button值为1+2=3.在本游戏中,利用右键的MouseDown事件标示“已标示”方块,利用左键的MouseDown事件,标示使用者准备按下的方块,利用左键的MouseUp事件确定翻开的方块。4.ImageList组件利用Imagelist可以存储显示方块的图形[2]。将组件布置于窗体上后编辑组件属性,通过【插入图片】按钮和【删除图片】按钮即可编辑组件内所存放的图片。如图1所示。因为一个Imagelist组件内必须存储大小相同的图片,所在这款游戏设计中,显示的图片共分为三个部分:游戏状态图形、数字计数图形和地雷区标示图形。图1ImageList组件属性利用ListImage集合对象的Picture方法,即可将ListImage组件内的图片指定给图形显示组件,语法如下:Set图形组件.Picture=Imagelist.ListImage(图片索引).Picture5.Image组件利用Image组件作为游戏执行阶段所有图形的显示。在游戏画面中,计数数字、游戏状态表情及地雷区方块图形等,都利用Image组件作为显示组件,再搭配ImageList组件所存储的图形,便可在执行阶段在同一个Image组件上变换不同的图片。6.Timer组件在游戏中,地雷引爆的可能有2中,第一种为使用者翻开(踩到)地雷方块,第二种为设定时间内未探测完所有地雷而引爆。其中第二种的行为,可以通过Timer组件来加以控制。利用Timer组件在固定时间即会触发事件的特性,在事件触发时便将计数值加1,直到判断计数值超过限定值时,即引爆地雷。唐山学院课程设计57.PictureBox组件PictureBox为容器类型的组件,可以加入其它组件在内[3]。在游戏中利用了PictureBox的两个特性:容器特性和立体框架。分述如下:●容器特性:只要容器本身显示的行为改变,在容器内的组件也会跟着改变。当游戏初始时,地雷区的显示组件会循环执行,逐一布置在画面上,但由于执行循环时多个Image组件要显示图形,造成分时系统执行频率显示上会出现不流畅的情形,若在循环之前,先将容器本身的Visible属性设为False,在循环执行完成后再将Visible属性设为True,则显示就会变得流畅许多。●立体框架:通过组件本身立体框线的属性设定,可以为游戏画面的显示上营造出层次感。8.递归递归就是一个程序能被自己所定义的语句调用。在游戏过程中,当使用者按下非地雷
本文标题:VB 扫雷游戏程序
链接地址:https://www.777doc.com/doc-4006420 .html