C语言实现简易版扫雷

news/2025/1/1 12:41:54/

扫雷对于很多人是一种回忆,那么我们如何用C语言程序去实现它呢?

这个是在浏览器找到的一个扫雷游戏

我用程序实现它利用到字符数组,将一个类似棋盘的东西打印出来,让人们输入坐标,然后进行扫雷。

为了程序的简易我一共设计了两个字符数组:

字符数组一:里面存放字符1与0,1代表是地雷

字符数组二:里面全部存放*,打印出来让我们扫雷

当然了两个字符数组大小相等,我们判断是否扫到雷,利用字符数组一。

字符数组数组二打印出来,当判断后,我们统计判断坐标周围有多少个雷,雷的个数存放到字符数组二对应的判断坐标。

程序的逻辑很清晰明了,同上次的三子棋游戏一样,我们一共创建三个文件

tese.c文件main函数部分

game.h函数声明部分

game.c游戏的实现

下面我们来结合代码来分析吧

框架部分

tese.c

main函数部分很简单易懂,我就不多做介绍了

通过main函数我们输入1,转跳到game()函数中

我们一步一步来,首先创建两个二维字符数组,然后初始化

布置好了棋盘,我们就到了防雷环节,我们要确保雷的随机性,通过我们熟悉的rand产生随机数

程序怎么实现呢

我们通过宏定义EASY来操作雷的个数,这样可以增加程序可操作性。

接下来我们创建一个打印函数更好的打印我们下面的字符数组

这个就是我们看到的扫雷页面了

雷放好了,页面也打印出来,我们就开始排雷了

我们要排雷的次数等于格子数-雷的个数

以上是分析,我们看到总体代码就很好理解了

不废话,上代码

test.c

game.h

game.c

将三个文件创建在同一个项目内,我们就可以玩我们的扫雷游戏啦


http://www.ppmy.cn/news/8057.html

相关文章

C语言函数栈帧的创建和销毁

前期学习的时候,我们可能有很多困惑,比如: 局部变量是怎么创建的? 为什么局部变量的值是随机值? 函数是怎么传参的?传参的顺序是怎样的? 形参和实参是什么关系? 函数调用是怎么…

Python数据分析案例13——文本特征抽取(TfidfVectorizer)

在做机器学习的时候,构建特征变量有很多时候都是文本型的,比如电影分类的时候的电影标题,房价预测的时候房子地址,股吧评论等......都是文本类型的数据。 文本型数据怎么构建特征,它又不是分类变量不能直接独立热编码…

MultipartFile实现文件上传和下载(Springboot)

MultipartFile是SpringMVC提供简化上传操作的工具类。在不使用框架之前,都是使用原生的HttpServletRequest来接收上传的数据,文件是以二进制流传递到后端的,然后需要我们自己转换为File类。使用了MultipartFile工具类之后,我们对文…

2022这一年:阳了、变轨和逆风

又到年末了,2022这一年应该会让人记忆深刻,于我而言这一年的感受有明显的分界线,在此之前的世界温暖一些,提供着能量,让人心生探索它的纷繁多彩;今年世界变得寒冷了,展示着它的严酷与无情。阳了…

2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇

2023年快要到来啦,很高兴这次我们又能一起度过~ 特辑最终篇!!! 视觉中国 目录 一、前言 二、跨年烟花 三、效果展示 四、详细介绍 五、编码实现 index.html js 六、获取代码 需要源码,可以私信我(⊙o⊙)&…

pytorch 咖啡豆识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章地址: 365天深度学习训练营-第P6周:好莱坞明星识别🍖 作者:K同学啊一、前期准备 1.设置GPU import torch from torch import nn …

【Eureka】如何实现注册,续约,剔除,服务发现

文章目录前言服务注册服务续约服务剔除(服务端去剔除过期服务)被动下线服务下线(主动下线)client发起的服务发现集群同步信息Work下载前言 Eureka是SpringCloud的具体实现之一,提供了服务注册,发现,续约,撤…

魔术小游戏

魔术游戏一、问题描述二、基本流程三、具体步骤1.在集合中随机生成起始牌2.菜单栏3.找到包含[选中牌]的一组牌在大集合中的索引4.洗牌5.发牌四、完整代码五、效果展示一、问题描述 这是一个魔术游戏,将15张牌分为三组,每组5张,让玩家从中任选…