前言
  本篇文章要实现的是扫雷游戏,其代码实现与上一篇的三子棋游戏类同,都是在棋盘的基础上,与电脑进行对抗,不同的是,扫雷游戏一开始电脑就已经随机布置好了所有“雷”。

请戳 --->三子棋

扫雷游戏

  • 1. 扫雷游戏玩法
  • 2. 设计思路
    • 2.1 准备工作
    • 2.2 主函数设计
    • 2.3 设计棋盘
      • 2.3.1 初始化棋盘
      • 2.3.2 打印棋盘
    • 2.4 布置雷
    • 2.5 排除雷
      • 2.5.1 代码实现
  • 3. 总结
    • 3.1 game.h文件所有内容
    • 3.2 game()游戏函数整体
  • 结束语

1. 扫雷游戏玩法

经典玩法:

扫雷就是要把所有非地雷的格子揭开即胜利;踩到地雷格子就算失败

游戏主区域由很多个方格组成。选择一个方格,方格即被打开并显示出方格中的数字

而方格中数字则表示其周围的8个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有0颗雷,则其周围格子会自动打开。

本机玩法:

游戏开始,玩家在棋盘格上输入正确的行列坐标选择位置,若选择到的是非地雷,就会显示出周围8个格子存在雷的数量,直到把所有非雷的格子都选出来,游戏胜利;若“踩雷”了,则游戏失败

看似简单的扫雷游戏,想要胜利,走的每一步都需要推算

2. 设计思路

游戏都需要一个开关去控制它,所以一个菜单界面是必不可少的,通过菜单去选择play还是exit

而对于游戏的实现:

1.首先需要创建一个n*n的棋盘格,可以用二维数组实现,自定义它的大小

2.在玩家选择位置前,就要布置好雷的数量,随机埋下雷的位置,并用一个二维数组来存放布置好的雷

3.玩家通过提示,输入正确的坐标选择位置,如果选择的是非雷坐标,就显示出周围雷的数量,用一个二维数组来存放排查出的雷的信息(数量)

坐标选择后的状态有两种:

  • 选择的坐标是非雷的,显示周围雷的数量,一直到排查完所有的雷,即所有的坐标都选择完了且没有踩雷,游戏胜利
  • 选择的坐标是有雷的,游戏失败

2.1 准备工作

C语言实现扫雷【经典】相关推荐

  1. 超详细分解c 语言——实现扫雷游戏(详解)

    之前利用三子棋程序,介绍探讨了 c语言简单游戏编写主要模块及使用方法. 今天,我们就利用这个经典扫雷游戏,来加强对于程序思路的编写及思路. 目录 前引 游戏规则介绍 一.基本游戏思路(游戏实现方法) ...

  2. C语言实现扫雷——详解

    目录 功能设计 效果展示 设计思路 总结 功能设计 扫雷大家应该都玩过,这是一个十分经典的游戏,今天我将给大家讲解如何用C语言实现扫雷,我的这个扫雷有如下几个功能: 显示该点周围雷的个数 第一次下子, ...

  3. 【每日算法】C语言8大经典排序算法(2)

    接上文--->[每日算法]C语言8大经典排序算法(1) 二.插入类排序 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中 ...

  4. 16道嵌入式C语言面试题(经典) 预处理器(Preprocessor)

    16道嵌入式C语言面试题(经典) 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_ ...

  5. 二分法查找c语言程序_C语言的那些经典程序 第十四期

    戳"在看"一起来充电吧! C语言的那些经典程序 第十四期 本期小C给大家带来三个用C语言解决实际问题的典例.如果全都理解,相信肯定能给大家带来收获!接下来让我们看看是哪些程序吧! ...

  6. c语言sort函数_C语言的那些经典程序 第八期

    戳"在看"一起来充电吧! C语言的那些经典程序 第八期 上期带大家欣赏的指针经典程序,感觉如何?这期我们准备了几个新指针的内容,灵活运用指针可以大大减少程序的复杂度,接下来就让小C ...

  7. 用c语言编写最大最小值_C语言学习教程,用C语言编写扫雷游戏

    本文实例为大家分享了C语言实现扫雷游戏及其优化的具体代码,供大家参考,具体内容如下 关于扫雷优化 1.核心思想:使用两个二维数组进行设计,一个用于显示,一个用于后台雷的布置. 2.使用宏常量,后期可以 ...

  8. c语言考试常考大题,C语言题库经典题 考试常考题.doc

    C语言题库经典题 考试常考题.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3. ...

  9. c++扫雷游戏代码_C语言学习教程,用C语言编写扫雷游戏

    本文实例为大家分享了C语言实现扫雷游戏及其优化的具体代码,供大家参考,具体内容如下 关于扫雷优化 1.核心思想:使用两个二维数组进行设计,一个用于显示,一个用于后台雷的布置. 2.使用宏常量,后期可以 ...

  10. C语言实现扫雷完整算法详解~(附完整代码~)

    扫雷是一个常见小游戏,那么如何用C语言实现扫雷呢?学习了二维数组之后,我们可将扫雷的网格区域存储为二维数组,从而使用C语言实现扫雷. 目录 1.算法基本思路 2.算法详解 1.初始化数组与打印数组 2 ...

最新文章

  1. LeetCode 746. Min Cost Climbing Stairs--动态规划--Java,C++,Python解法
  2. python语言最适合的应用领域是_Python语言及其应用领域研究
  3. MySQL权限管理-安全与效率的折中
  4. Spring(24)——自定义BeanDefinitionRegistryPostProcessor
  5. matlab关于噪声课设,基于matlab的有噪声的语音信号处理的课程设计.doc
  6. html传递guid参数,C#中的Guid.ToString鲜为人知参数用法
  7. 106. Leetcode 122. 买卖股票的最佳时机 II (动态规划-股票交易)
  8. QDoc主题命令Topic Commands
  9. day06 hashlib模块
  10. android cursor相关的性能问题,Android Mms之:深入理解对话列表管理
  11. 自定义对话框(jDialog)
  12. python天下第一什么梗_「PHP 是最好的语言」这个梗是怎么来的?
  13. teechart的addarray_【TeeChart Pro ActiveX教程】(六):使用系列(下)
  14. excel如何批量查询手机号归属地
  15. 【数学建模】CUMCM历年题分类
  16. 项目管理和产品立项流程图
  17. qt c语言混合编程 pdf,QT中的C++技术 pdf
  18. 博客营销的一般流程及案例
  19. 一本指南为各种各样的秃头发型
  20. 最大流 edmonds carp

热门文章

  1. NumPy和Matplotlib绘图
  2. 【好工具】Snipaste:秒杀 QQ 截图的截图 / 贴图工具
  3. VR 使用什么技术开发
  4. docker启动mysql报错
  5. 【毕设狗】【单片机毕业设计】基于单片机的智能垃圾桶设计-仿真设计
  6. 算力网络一体化支撑方案及应用场景探索
  7. Weblogic漏洞 - Weblogic 弱口令漏洞
  8. 菜鸟教程C语言学习笔记2
  9. OC基础——Protocal(协议)
  10. 电商进入“后补贴时代”,为什么玩家集体做起长期投入?