当前位置: 首页 > news >正文

扫雷小游戏

食用指南:

本篇文章介绍了如何使用c语言实现扫雷小游戏。十分详细!

--欢迎各位交流--


1.功能说明

  • 在控制台实现
  • 通过菜单选择玩、继续游戏或者退出游戏
  • 在9*9的棋盘上实现
  • 默认随机布置10个雷
  • 排查雷:不是雷,显示周围雷的个数;是雷,炸死并提示游戏结束
  • 找出其他不是雷的位置,游戏结束
  • 页面:

2.分析

可以通过多文件来写 例:分为game.h(写头文件和函数声明)、game.c(编写游戏内容)、text.c(编写主程序)

2.1二维数组存储信息

2.1.1数组大小设置

使用俩个数组来实现棋盘信息的存储,一个用于雷位置信息的存储,一个用于棋盘展示信息的存储。

由于排查雷时需要排查位置的周围,所以当排查最后一排或最右边一排时,会溢出数组,那么我们就需要扩大数组大小,在上下左右各加一行/一竖,也就是11*11的棋盘大小。(可以在头文件中声明符号表示该大小,方便修改)

2.1.2数组初始化

之后便是初始化数组了,我们可以另外编写一个函数用于数组初始化

  • 用于存储雷的信息的数组全部初始化为‘0’用于展示的数组全部初始化为‘*’
  • 写俩个循环太麻烦,可以直接添加一个函数参数用于写入修改的内容

2.2打印棋盘

我们只需要打印9*9的棋盘即可,但是不太美观,可以添加循环打印行数,在循环内部添加语句打印列数,这样就能快速看出几行几列。

想要更美观可以在棋盘打印前加上 ----扫雷游戏----

2.3布置雷

雷的布置需要生成随机坐标x,y,而随机坐标的生成就需要靠随机数的生成。

生成随机数会用到srand()函数和rand()函数,具体可参考前面猜数字小游戏中的解释。

把生成的随机数放入x,y中,将数组中对应的位置由‘0’改为‘1‘即可完成雷的布置。需要注意的是,在修改之前需要判断是否被修改过,也就是此处是否为’0‘,若为’0‘,则修改,反之则不修改。

2.3排查雷

排查雷和布置雷都在9*9的范围内操作。

设置一个变量win,当win<71(除去10个雷)时才能排查雷,当排查的位置不是雷,加一;当win等于71时,则排雷成功并打印含有雷信息的棋盘。(游戏结束)

当玩家输入要排查的坐标时,要先判断该坐标是否在范围内。在范围内才可排查。

排查时,先判断该位置是否为’*‘,如果是,那么可以排查;如果不是,就代表被排查过,无需再次排查。

排查的位置如果是’1‘,玩家被炸死;不是’1‘,就需要统计雷的个数。

所以我们接下来的问题就是如何统计不是雷的位置周围雷的个数。

我们知道字符’1‘的ASCCI码值为49,’0‘为48,那么’1‘-’0‘=1,如果让该坐标周围的字符都减去字符’0‘,再将数值相加,就能得到雷的个数了。(数值为1那么此处为雷,个数加1)

3.完整代码

game.h

game.c

text.c


以上就是本篇全部内容

如有错误,欢迎一起沟通交流

“我们未来见”

--Promising--

http://www.jsqmd.com/news/718579/

相关文章:

  • 众智商学院CPPM深圳班通知函 - 众智商学院课程中心
  • 千万别在朋友圈-网络上和空气斗智斗勇
  • R3nzSkin国服换肤:英雄联盟免费皮肤个性化定制终极方案
  • 用QGC规划航线让Gazebo里的垂起固定翼自动飞行:一个完整的任务流程演示
  • 融资路演上有哪些要说-哪些不要说的
  • 49F继电器选购指南:选型要点与拿样流程费用全解析 - 速递信息
  • 挽回超50亿损失:韩宝玉律师胜诉案例解析 - 速递信息
  • 大模型能力飙升,价格却“变便宜”?用户付费意愿为何未升?
  • Vin象棋:用AI重新定义你的象棋对弈体验,5分钟上手智能连线
  • 让我们来讲讲白嫖的故事
  • 去黑头泥膜红黑榜 这5款泥膜去黑头效果真的绝绝子 - 全网最美
  • 配对t检验怎么做:软件操作步骤与结果指标解读
  • 你只要关心你做的事情的结果-不要关注整体的结果
  • 千万别自作聪明-闭门造车的去做一个产品和服务
  • Java适配国产中间件最后72小时:紧急绕过TongWeb ClassLoader隔离缺陷的3种热修复方案(附源码级补丁)
  • 基于Dify-Eval构建LLM应用自动化评估体系:从数据驱动到效果验证
  • 免费GPU内存检测神器:MemtestCL终极完整使用指南
  • 人活着唯一能靠的只有自己-但自己却往往一无所知
  • 2026年3月轻婚照门店有哪些,旅拍婚纱摄影/轻婚照/订婚照/日照金山婚纱照/民国婚纱照/婚纱照,轻婚照场地推荐 - 品牌推荐师
  • 年初一我们来聊聊不同的人看待赚钱这个事儿的态度
  • 千万不要去尝试卖东西-我们不会成功的
  • 抖音无水印下载神器:3分钟掌握批量下载与资源管理全技巧
  • 人社部职业鉴定中心实例案例
  • 官宣|VFrame 企划正式成立:九州合唱团登场,九州网络用 RVC 重构跨 IP 虚拟歌手音乐生态
  • 三步告别魔兽争霸3闪退:WarcraftHelper现代兼容性修复指南
  • 年龄大了-没钱没积累-但想要开始找别的出路了
  • 千万不要问别人怎么赚钱等类似的问题-太愚蠢了
  • 保姆级教程:在Ubuntu 22.04上用V4L2驱动USB摄像头,实现实时视频流(附完整代码)
  • 【转行大模型】大龄程序员转行AI大模型:高薪、前沿与实战全攻略
  • Android开发调试:不用Root,用run-as命令查看App沙盒数据的保姆级教程