如何用c语言在控制台实现经典游戏----扫雷

一,游戏规则

1.1扫雷游戏的玩法规则

对于经典游戏扫雷游戏玩法的实现的玩法,对于规则的整理如下:

 1,有若干行、若干列方块组成,方块下有着一定数量的地雷

2,用户选择一个方块进行操作:

>检查下面是否有雷

>标记方块为地雷

>取消标记

3,用户点开或者排查某个方块:

>如果方块下面是地雷游戏结束(游戏失败)

>如果不是地雷,显示周围8个格子下隐藏的地雷数,如果周围地雷数为0则打开相邻的8个格子,以及周围相邻的格子

>如果已经点开检查所有下面没有地雷的方块游戏胜利

可以参考扫雷网页版扫雷游戏在线玩 - Minesweeper (saolei123.com)

二,游戏实现

2.1棋盘

这个是网页版的的棋盘

这个是用控制台模拟的棋盘

我们看到,这个扫雷棋盘,是一个9*9的矩阵,所以在c语言中我们就要用一个二维数组来模拟,

然后我们就可以规定:

>棋盘可操作得到区域是一个9*9的二维字符数组

>棋盘有两个,一个用来埋雷,一个用来展示排查雷的情况

>埋雷的棋盘,'1'代表该位置有雷,'0'代表该位置没有雷

注意:实际的棋盘要大俩行

因为我们排雷的时候是要对排查位置周围8个坐标的雷的个数进行统计,并且显示出来,但是问题是对于一个9*9的数组有些位置并没有那么多坐标,那么数组周围的坐标到底是什么,就有可能产生越界的可能

所以中间被蓝色环绕的区域是我们的实际操作区域,但是我们要在其外围加一圈蓝色区域,防止越界

三,代码实现

3.1辅助函数

1>菜单函数

2>初始化函数

3>打印棋盘

4>统计个数

字符'0'的ASCII码值是48,字符'1'的 ASCII码的值是49所以我们怎么的到整数1,那‘1’-'0'是不是就是整数1了

我们把周围8个字符的值算出来就是然后在减去8*'0'就可以的到雷的个数了

5>主函数

1是主函数,2是游戏函数,3是游戏过程

四,写后总结

1>是对自己目前所学知识的总结,同时过程中其实还有好多不理解的东西的一次实践

2>代码中还有许多缺陷,但是所学知识有限,无法解决,例如,没有可以选择难度的系统,没有标记,这个我会在后期学习中补齐,并且在输出一个于之相关的问章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值