文档介绍:扫雷游戏的设计与开发
指导教师:
学生姓名:
编写目的
在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生的一部分,越来越多的人使用计算机办公、娱乐等等。
扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。本次的毕业设计我将利用Visual ,开发一款类似的“扫雷游戏”。
用户需求分析
本系统的具体功能及其操作流程,是实际调研所得到的。具有一定的实用性和可用性,,提高工作效率。
权衡了现有的各种数据库及其开发过程中的优缺点,。
游戏规则
流程规划大致上可以分为三个部分,分别为:画面初始、游戏者按下第一个方块和为非地雷方块时展开。
画面初始时,以游戏者最后一次设定的地雷区大小为范围画出地雷区,但此时并未产生地雷。当游戏者按下第一个方块时产生地雷资料并启动定时器,为何在游戏者按下第一个方块才产生地雷资料呢?其主要的用意在于不要让游戏者第一次就踩到地雷,这样在某种程度上可以提高游戏者游玩的气氛。接着就是如何判断按下的方块是非地雷时的处理,这也是整个游戏的技术核心,我们可以通过递归的观念来检查周边的方块是否含有地雷及是否继续往外翻开。
运行环境
软件环境:
Windows Xp/20008
系统流程
界面设计
说明如下:
①:游戏窗口(Form)。为了避免因改变窗口大小而造成画面呈现不美观,在这里将BorderStyle属性设定为3(双线固定对话框),即无法以窗口边缘进行窗口大小调整。
②:地雷数显示区(PictureBox)。
③:游戏状态(Image)。
④:游戏时间显示区(PictureBox)。
⑤:计数及状态区(PictureBox)。
⑥:地图区图样(Image)。
⑦:地雷区(PictureBox)。
⑧:存储图片的组件,包括游戏状态图片、地雷区图片、地雷数及秒数数字图片(Imagelist)。
⑨:秒数控制(Timer)。
鼠标事件
在本游戏中,我们利用右键的MouseDown事件来标示“已标示”方块,利用左键的MouseDown事件,来标示游戏者准备按下的方块,再利用左键的MouseUp事件来确定翻开的方块。这样的用意在于,假如游戏者发现按下的方块是错误的,此时只要不松开左键,同时按下右键,该方块就会被标示为“已标示”方块,若再松开左键,则该方块因为已成为“已标示”方块,所以就无法翻开。
地雷及雷区表面探测情况
因为两个数组维数皆为2,所以我们通过双循环做数据的对比工作。另外,当游戏玩家按下非地雷的方块时,程序必须自动将周边非地雷的方块翻开,这个动作我们也可以通过双循环的方式检查以按下的方块为中心与周边的8个方块所形成的3*3的二维数组,鼠标指针所指即是代表按下的方块,利用双循环作数据的对比,不但速度快,而且在设计阶段,程序的架构也比较清楚。程序设计时双循环常常搭配二维数组使用。
游戏难度的选择
设置了“初级”,“中级”,“高级”以及“自定义”四个不同的难度级别,“初级”,“中级”,“高级”中的雷区大小和地雷总数是已经设计好了的,如果玩家想要自己设置这些参数,可单击“游戏”→“自定义”,然后在“设置”中输入行数,列数及地雷数,在这里我对行数及列数做出了一个限定,及行数和列数的最大值分别为24和30,当在设置地雷数的时候,如果地雷数大于或等于行数和列数的乘积,或者地雷数小于零,地雷数都将自动的转换为:地雷数=(行数-1)×(列数-1)。