基于VB扫雷游戏程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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