C语言实现扫雷【经典】
前言
本篇文章要实现的是扫雷游戏,其代码实现与上一篇的三子棋游戏类同,都是在棋盘的基础上,与电脑进行对抗,不同的是,扫雷游戏一开始电脑就已经随机布置好了所有“雷”。
请戳 --->
三子棋
扫雷游戏
- 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语言实现扫雷【经典】相关推荐
- 超详细分解c 语言——实现扫雷游戏(详解)
之前利用三子棋程序,介绍探讨了 c语言简单游戏编写主要模块及使用方法. 今天,我们就利用这个经典扫雷游戏,来加强对于程序思路的编写及思路. 目录 前引 游戏规则介绍 一.基本游戏思路(游戏实现方法) ...
- C语言实现扫雷——详解
目录 功能设计 效果展示 设计思路 总结 功能设计 扫雷大家应该都玩过,这是一个十分经典的游戏,今天我将给大家讲解如何用C语言实现扫雷,我的这个扫雷有如下几个功能: 显示该点周围雷的个数 第一次下子, ...
- 【每日算法】C语言8大经典排序算法(2)
接上文--->[每日算法]C语言8大经典排序算法(1) 二.插入类排序 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中 ...
- 16道嵌入式C语言面试题(经典) 预处理器(Preprocessor)
16道嵌入式C语言面试题(经典) 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_ ...
- 二分法查找c语言程序_C语言的那些经典程序 第十四期
戳"在看"一起来充电吧! C语言的那些经典程序 第十四期 本期小C给大家带来三个用C语言解决实际问题的典例.如果全都理解,相信肯定能给大家带来收获!接下来让我们看看是哪些程序吧! ...
- c语言sort函数_C语言的那些经典程序 第八期
戳"在看"一起来充电吧! C语言的那些经典程序 第八期 上期带大家欣赏的指针经典程序,感觉如何?这期我们准备了几个新指针的内容,灵活运用指针可以大大减少程序的复杂度,接下来就让小C ...
- 用c语言编写最大最小值_C语言学习教程,用C语言编写扫雷游戏
本文实例为大家分享了C语言实现扫雷游戏及其优化的具体代码,供大家参考,具体内容如下 关于扫雷优化 1.核心思想:使用两个二维数组进行设计,一个用于显示,一个用于后台雷的布置. 2.使用宏常量,后期可以 ...
- c语言考试常考大题,C语言题库经典题 考试常考题.doc
C语言题库经典题 考试常考题.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3. ...
- c++扫雷游戏代码_C语言学习教程,用C语言编写扫雷游戏
本文实例为大家分享了C语言实现扫雷游戏及其优化的具体代码,供大家参考,具体内容如下 关于扫雷优化 1.核心思想:使用两个二维数组进行设计,一个用于显示,一个用于后台雷的布置. 2.使用宏常量,后期可以 ...
- C语言实现扫雷完整算法详解~(附完整代码~)
扫雷是一个常见小游戏,那么如何用C语言实现扫雷呢?学习了二维数组之后,我们可将扫雷的网格区域存储为二维数组,从而使用C语言实现扫雷. 目录 1.算法基本思路 2.算法详解 1.初始化数组与打印数组 2 ...
最新文章
- LeetCode 746. Min Cost Climbing Stairs--动态规划--Java,C++,Python解法
- python语言最适合的应用领域是_Python语言及其应用领域研究
- MySQL权限管理-安全与效率的折中
- Spring(24)——自定义BeanDefinitionRegistryPostProcessor
- matlab关于噪声课设,基于matlab的有噪声的语音信号处理的课程设计.doc
- html传递guid参数,C#中的Guid.ToString鲜为人知参数用法
- 106. Leetcode 122. 买卖股票的最佳时机 II (动态规划-股票交易)
- QDoc主题命令Topic Commands
- day06 hashlib模块
- android cursor相关的性能问题,Android Mms之:深入理解对话列表管理
- 自定义对话框(jDialog)
- python天下第一什么梗_「PHP 是最好的语言」这个梗是怎么来的?
- teechart的addarray_【TeeChart Pro ActiveX教程】(六):使用系列(下)
- excel如何批量查询手机号归属地
- 【数学建模】CUMCM历年题分类
- 项目管理和产品立项流程图
- qt c语言混合编程 pdf,QT中的C++技术 pdf
- 博客营销的一般流程及案例
- 一本指南为各种各样的秃头发型
- 最大流 edmonds carp