基于java的扫雷游戏的设计

扫雷游戏的基本功能:点击鼠标左键于未知区域,如果未知区域有雷,游戏停止,显示所有的地雷。如果没雷,则显示周围雷数,如果周围没雷,则再查看周围八个区域是否有雷直到有雷为止并显示,玩家需要尽快找出雷区中的所有不是地雷的方块,而不许踩到地雷。

扫雷游戏的设计主要是对Java语音中Gui图形化界面的应用.

扫雷游戏的基本功能:点击鼠标左键于未知区域,如果未知区域有雷,游戏停止,显示所有的地雷。如果没雷,则显示周围雷数,如果周围没雷,则再查看周围八个区域是否有雷直到有雷为止并显示,这其实是一个递归过程。点击鼠标右键于未知区域,则将其置为有雷而不管是否真的有雷。可选择初、中、高三级并可自定义雷数和区域大小以及游戏时间,剩余雷数等。
扫雷游戏分为初级、中级、高级和自定义四个级别。单击游戏菜单可以选择“初级”、“中级”、“高级”或“自定义”; 选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器;用户要揭开某个方块,可单击它。若所点方块下有雷,用户便输了这一局,若所点方块下无雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷;如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记“雷”;用户每标记出一个扫雷标记(无论用户的标记是否正确),程
序将显示的剩余雷数减少一个;扫雷胜利后,游戏中的标签会显示“你赢了!”;如果在扫雷过程中一不小心碰到了雷,游戏会显示“你输了!”。
所以本程序需实现的主要功能有:用户可以自定义级别,并确定雷的个数;具有计时功能,即显示用户完成扫雷所花费的时间;用户识别雷右击可标记“雷”。

流程规划大致上可以分为三个部分,分别为:画面初始、游戏者按下第一个方块和为非地雷方块时展开。
画面初始时,以游戏者最后一次设定的地雷区大小为范围画出地雷区,但此时并未产生地雷。当游戏者按下第一个方块时产生地雷资料并启动定时器,为何在游戏者按下第一个方块才产生地雷资料呢?其主要的用意在于不要让游戏者第一次就踩到地雷,这样在某种程度上可以提高游戏者游玩的气氛。接着就是如何判断按下的方块是非地雷时的处理,这也是整个游戏的技术核心,我们可以通过递归的观念来检查周边的方块是否含有地雷及是否继续往外翻开。
程序的执行方面必须判断:以按下方块为中心,检查周围八个方块是否为非地雷方块,若其中有一个方块是非地雷方块时,则又以其为中心,向外检查周围八个方块是否为非地雷方块,如此反复的执行即构成递归的使用条件。

游戏的判断
游戏成功完成,当在规定的时间内将所有的雷都正确的标示出来,游戏就会有一个弹出框提示你在多长时间内完成当前难度下的游戏。还有一种情况便是当只剩下地雷未探测的时候,及雷区方块总数-已清除的方块数=地雷总数的话,游戏也将成功完成。
游戏失败,当鼠标左键按下的方块为地雷方块事,地雷将会被引爆,游戏立即结束。
当在设定时间内未探测完所有的地雷,地雷也将会引爆,对于这第二种行为,我们可以通过Timer组件来加以控制。利用Timer组件在固定时间即会触发时间的特性,在事件触发时便将计数值加一,直到判断计数值超过限定值时,即地雷引爆。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1 绪论 1
1.2 扫雷游戏的玩法 2
1.3 扫雷游戏与科学 2
1.4 开发语言及工具 3
1.4.1 java语言及特点 3
1.4.2 开发工具简介 5
2 扫雷游戏的分析 5
2.1 游戏可行性分析 5
2.2 游戏需求分析 5
2.3 游戏功能分析 6
3 扫雷游戏设计 6
3.1 游戏功能设计 6
3.2 游戏总体设计 7
3.2.1 算法思想 7
3.2.2 游戏界面设计 8
3.3 游戏详细设计 9
3.3.1 雷区设计流程图 9
3.3.2 游戏类设计 10
3.3.3 游戏外部文件的设计 11
4 扫雷游戏的实现 11
4.1 随机布雷的实现 11
4.2 点击后提示数字的实现 13
4.3 游戏结束的实现 14
5 游戏的运行效果 15
5.1 游戏界面 15
5.2 游戏胜利 15
5.3 游戏失败 16
6 扫雷技巧 16
6.1 活用定式 16
6.2 局部优化 17
7 总结 18
参 考 文 献 19
致 谢 20

         游戏界面可以分为三个模块:菜单栏,游戏数据显示区域以及雷区。     (1)菜单栏:      菜单栏包括游戏难度的选择和排行榜的查询以及游戏帮助。     (2)游戏数据显示区域:      游戏数据显示区域包括地雷计数区、计时区和重新开始按钮。     (3)雷区:      雷区就是玩家的游戏区域,当玩家在游戏过程中用鼠标点击某一模块,系统会自动作出相应的响应,这就是游戏中的鼠标事件。            简单玩法介绍:         当玩家点开第一个格子时雷区开始布雷同时计时开始。然后会在该格子上显示周围8个格子的雷数(如果没有雷则自动点开周围的格子),     玩家就需要通过这些数字来判断雷的位置,将是雷的格子标记为小红旗。若玩家认为已标记的格子时错误的,可以再次右击该格子来取消标记。     当某一格子被标记时,对于该格子的单击操作是无效的(防止玩家误点击导致游戏失败)。如果玩家将某一格周围8个格子中的雷标记了出来,     双击该格子会自动将周围的格子点击一遍,这样可以简化玩家的操作。当玩家将全部的地雷标记出来并且其他的格子点开时,游戏结束。     但是如果玩家不小心点到了地雷就会游戏失败,系统自动显示出所有的地雷。如果玩家标识的地雷数量超过了该难度下规定的雷数,     计数区会以负数显示超出的雷数并且游戏不会结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值