首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言扫雷教程——真保姆级

C语言扫雷教程——真保姆级

作者头像
小此方
发布2025-12-24 17:26:57
发布2025-12-24 17:26:57
1040
举报
文章被收录于专栏:博客专栏博客专栏

各位小伙伴们大家好。首先,非常感谢大家一直以来对我的支持。

今天,就由我来给大家带来Windows7金典小游戏《扫雷》的编程实现。

tips:需要的知识

1,C语言基础知识。

2,数据类型和变量,

3,分支语句。

4,循环语句。

5,数组,二维数组

6,基础的函数知识,自定义函数知识。

C语言扫雷对高手来说一般般,对新手来说难度较大。

正文开始:

一,扫雷游戏介绍与逻辑讲解。

经典扫雷游戏曾经是windows7系统自带的游戏。有非常悠久的历史。

其大体逻辑为:

设计者设计棋盘和安放炸弹》》》》玩家输入排查坐标》》》》

1,不是炸弹:告诉玩家该点周围有多少炸弹。

2,是炸弹:游戏结束并判定失败。

》》》》排查出所有的炸弹,游戏结束并判定胜利。

二,扫雷游戏的编程实现。

1.基础框架结构:
①玩与不玩:用分支分支语句实现:
②玩完还想,用循环语句实现:
③,菜单和游戏说明的设计:
④,调用函数

2,各种函数的设计和调用

①,创建两个棋盘(核心)

如图,我们创建了两个两给二维数组作为棋盘。宏定义行和列数ROW和COL。

这里讲一下为什么要设计ROWS和COLS这两个宏。

(图片来自比特官网)

在后面统计被选择格周围炸弹数量时,如果被选择格在边缘地块:会导致越界放访问:

解决办法是在棋盘外层再加装一圈。

此外,理解这两个棋盘,经过本人思考:是整个游戏设计的核心。

原因:

1,后面一切操作都在围绕这两个二维数组展开。

2,两个二维数组互为表里共同构成了整个游戏的框架,

3,bomb数组负责安放炸弹,show数组负责显示数字,在后续函数变量设置方面作用巨大。

②初始化两个棋盘:

首先,我们在原来单文件的基础上,需要准备三个文件

test。c负责游戏测试

game.c和game.h为一个整体模块:共同实现函数的设计:

game.c负责函数主体内容的制作,.h负责声明函数,存放宏定义和头文件。

然后,我们可以设计初始化函数了

图一为在测试中的函数调用。图二为在头文件中的函数声明。图三为函数实现。

通过嵌套循环来遍历二维数组中的每一个元素。

设计set形式变量来接收初始化的要求,实现“以一带二”即:两个数组由同一个函数控制初始化。

③,打印棋盘:

先上代码:

打印棋盘,只打表,不打里。不能让人看到雷埋在哪里。

同样使用嵌套循环遍历法打印。

加入行号和列号:

首先循环打印一行从0到9数组作为列号。

然后在给出每一行的行号k时插入行号。

④,安放炸弹:

先上代码:

首先,设置需要安放的十个雷(变量m)

用rand随机数做为坐标随机放置炸弹。

注意rand随机数的生成是伪随机,需要加上图三这句话才能变成真随机(这一点在猜数字中有讲解)

⑤计算格子周围炸弹数量:

把八个元素无脑加起来,除了注意数字和数字字符的转化方法(通过加减‘0’)外没什么好讲的。

⑥,排查雷

玩家输入坐标,进入判定,不是炸弹给出该坐标周围八格的炸弹数据。

每次猜中不是雷的格子使得count+1,用while循环直到等于ROW*COL-10.游戏结束判定胜利。

其中踩到是炸弹则炸死,结束游戏,判定失败。

至此,扫雷项目的最低级版本就完成了。

未来,我 将为大家带来更高级的版本。例如通过函数递归实现点一块一整片的效果。

感谢您的观看,您的点赞和收藏就是我最大的动力。谢谢!

我是小此方,我们下次再见。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • tips:需要的知识
  • 一,扫雷游戏介绍与逻辑讲解。
  • 二,扫雷游戏的编程实现。
    • 1.基础框架结构:
    • ①玩与不玩:用分支分支语句实现:
    • ②玩完还想,用循环语句实现:
    • ③,菜单和游戏说明的设计:
    • ④,调用函数
    • 2,各种函数的设计和调用
      • ①,创建两个棋盘(核心)
      • ②初始化两个棋盘:
    • ③,打印棋盘:
    • ④,安放炸弹:
    • ⑤计算格子周围炸弹数量:
    • ⑥,排查雷
  • 至此,扫雷项目的最低级版本就完成了。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档