经典游戏扫雷详解--你也可以写出扫雷和玩好扫雷(上)

简介: 经典游戏扫雷详解--你也可以写出扫雷和玩好扫雷(上)

扫雷小游戏


经典游戏扫雷,在学习C语言基础后,今天试着用C语言去实现这个经典小游戏。


1.游戏介绍



扫雷想必大家都不陌生,但是,是不是还有很多人不知道怎么扫雷呢?是不是一点就踩雷被呢?别看了,说的就是你!那么,下面就给大家介绍一下这个游戏的玩法。

044248eda1f5426d80200316b8b3413c.png


注意:(改图截自扫雷游戏网页版)


图例:

左上角的数字 10–表示雷的个数(此时为8由于我已经手动标了两处旗,表明我已经排除两个雷了)


右上角的数字目前为 002–表示的是排查出雷的个数(图中的两个小旗)

 游戏规则:
 我们看序号 1 ,以我们画圈的哪个数字 1为中心画一个九宫格,此时九宫格内只有一个方块,而我们这个中心数字又
 是 1,表明以这个数字为中心的九宫格内的八个方块里有一个雷,并且,此时这个九宫格内只有一个方块还没有点开,
 其他地方都点开了并且显示了数字说明不是雷,因此这一个方块里一定是雷,我们插上小旗表明已经排除此处是雷。
 我们再来看序号 2,同样以我们画圈的那个数字 1 为中心画一个九宫格,但由于九宫格最底下那一行已经超出了游戏
 范围,因此在边界线上的数字为中心画九宫格只需要考虑九宫格边界线以内的情况就可以。同理,此时中心数字是 1 
 表明现在这个九宫格内的八个方块有一个一定是雷,由于只有一个方块没有排除,其他均已排除并显示数字表明不是
 雷,只有这最有一个方块没排除,因此一定是雷。    
 最后,如果中心数字是 2  哪以中心数字 2 为九宫格内的八个方块内一定有两个雷,其他数字同理。
 现在,应该没有人不会了吧。


2.扫雷代码逻辑


1.创建数组


由上面玩游戏的过程可以体会到,我们需要两个二维素组来分别存放雷和
  展示雷


2.初始化素组


我们看到,一开始点开这个游戏界面的时候,只有小方块,因此我们也需
  要将它进行一个初始化


3.展示(打印)数组


存放好后的信息都已经放在了数组里,玩家进行游戏时,需要根据我们展示的信息来
  完成扫雷,因此我们需要将这个数组打印出来给玩家观察


4.设置雷(埋雷)


在进行扫雷之前,需要规定多大的棋盘里一共需要埋下多少颗雷来让玩家进行扫雷


5.扫雷


当上述准备过程都已经完成后,那接下来就是扫雷的过程啦,根据我们的玩法规则,结
合展示的信息完成扫雷


6.展开该坐标周围没有雷的全部方块


image.png


扫雷展开过程 效果展示


(该视频录制扫雷网页版)

 下面我们一起来观察一下这个展开效果。视频中可以观察到,前几次我点开的每一个方
 块都只有这一个方块没了并且显示了数字,根据我们的规则,以这个数字为中心的九宫
 格是有该数字个雷的,因此他的周围没有展开
 我的最后一步,点开了右下角的一个方块,一下子周围很多方块都消失了,这就是展开
 的效果,根据规则我们可以知道,展开是需要一定前提的:
 1.这个坐标本身不是雷
 2.这个坐标九宫格内的其他坐标不能是雷


7. 判断输赢


到最后,如果玩家找到了所有的雷,那么意味着排雷成功,若是中途触雷,则直接判定失败


相关文章
|
Windows
Winform控件优化之背景透明那些事1:Button控件等背景透明
WinForm不支持真正的透明,其控件透明的实现都是背景颜色设置和对应位置的父控件背景相同。 Winform中控件的背景透明只有三种:Button控件的透明、其他控件的透明...
3911 0
Winform控件优化之背景透明那些事1:Button控件等背景透明
|
Ubuntu Java Python
ROS2通讯中间件安装与使用
本文记录主要ROS2的安装、如何JAVA和PYTHON对ROS2消息的订阅和发布。
|
网络协议 网络安全
|
12月前
|
Linux
CentOS分区表损坏修复方法
以上就是CentOS分区表损坏的修复方法,无论你是选择轻装使用fdisk,还是深度潜行使用TestDisk,都能找到照亮分区的灯塔,走出困境。恩,随风者无畏,享受这个过程,你会发现其乐无穷。
488 19
|
Linux
SecureCRT连接Linux时乱码问题
本文详细介绍了在使用SecureCRT连接Linux服务器时出现乱码问题的解决方法,包括设置SecureCRT字符编码、检查和配置Linux服务器字符编码、调整终端设置等。通过这些方法,您可以有效解决SecureCRT连接Linux时的乱码问题,确保正常的终端显示和操作。希望本文能帮助您在实际操作中更好地解决类似问题,提高工作效率。
1367 17
|
数据可视化 API 开发者
R1类模型推理能力评测手把手实战
随着DeepSeek-R1模型的广泛应用,越来越多的开发者开始尝试复现类似的模型,以提升其推理能力。
828 3
|
并行计算 TensorFlow 算法框架/工具
Windows10下CUDA9.0+CUDNN7.0.5的完美安装教程
该文介绍了如何在Windows 10上安装CUDA 9.0和cuDNN 7.0.5以支持Tensorflow-gpu 1.10.0。首先,解释了安装CUDA的原因,然后详细步骤包括:从NVIDIA官网下载CUDA 9.0,选择自定义安装并关闭不必要的组件,检查显卡驱动版本以决定是否安装Display Driver,最后确认安装成功。接着,下载cuDNN需要注册NVIDIA账户,解压后将文件复制到CUDA安装目录。整个过程旨在确保与Tensorflow-gpu 1.10.0的兼容性。
1250 2
仿美团饿了么程序,外卖人9.0外卖订餐源码(PC+微信)
仿美团饿了么程序,外卖人9.0商业版外卖订餐源码,PC+微信+WAP+短信宝,多城市多色版 非常不错的独立版外卖跑腿网站源码,喜欢的可以下载调试看看吧!!
426 0
|
机器学习/深度学习 人工智能 自然语言处理
蚂蚁集团持续探索生成式AI,20篇论文入选AI顶会NeurlPS
NeurlPS官方数据显示,本届会议共有12343篇有效论文投稿,接收率为26.1%。蚂蚁集团20篇论文被收录。 据了解,蚂蚁此次入选的论文,覆盖计算机视觉、自然语言处理、图神经网络、图像处理等多个人工智能和机器学习领域的前沿主题。其中七成以上论文聚焦生成式AI在高速发展中遇到的一些挑战和难题。
蚂蚁集团持续探索生成式AI,20篇论文入选AI顶会NeurlPS
|
弹性计算 Ubuntu Unix
阿里云服务器操作系统选择哪个版本?
阿里云服务器操作系统分为Linux和Windows两大类,Linux可以选择Alibaba Cloud Linux,Windows可以选择Windows Server 2022 数据中心版 64位中文版,阿里云百科来详细说下阿里云服务器操作系统有哪些?以及选择哪个操作系统比较好:
2208 0
阿里云服务器操作系统选择哪个版本?