零基础自学C语言|简易版扫雷

本文介绍了如何创建游戏菜单,处理玩家输入和错误重试,以及在扫雷游戏中使用二维数组表示地图和雷区,包括边界处理方法。详细步骤包括初始化棋盘、安全开启第一个格子、布雷规则和循环直到游戏结束。

一,菜单的创建

在写扫雷前,我们要写出一个菜单,方便玩家选择退出或者开始游戏:

我们要在玩家输入错误的选项时让玩家重新选,同时,玩家在玩完一把游戏后可以选择再玩一把,这种效果可以用循环实现。

二,扫雷游戏

接下来我们要创建两个二维数组,一个用来存放玩家看到的地图,一个用来存放雷区。

值得注意的是:

(1)地图中,刚开始每个格子上都是“*”,而扫过的地点变为数字,因此地图是字符类型的二维数组

(2)雷区中,我们可以用0表示没有雷,用1表示有雷,在计算某一个格子周围的雷数时,只需将周围的数字相加,因此,雷区的二维数组是整型类型的:

(3)排雷时,如果我们在排边上的雷,此时代码计算周围的雷数,可能会越界,怎么解决呢?只要我们在创建数组时,多创建一圈,也就是两行两列,并且把周围一圈都算成0就可以解决问题:

三,开始写扫雷

(1)我们先进行棋盘和雷区的初始化

我们要先让玩家开出第一个格子,防止玩家第一个格子就踩到雷:

然后我们再开始布雷,布雷不能布在周围一圈和玩家开出的第一个格子

先计算玩家开出第一个格子周围的雷数,在赋值给地图上的格子,注意,赋值前要将整型转化成字符类型:

最后再让玩家开第二个雷,再计算,以此循环往复:

注意当玩家达成胜利或者失败条件时,要退出循环。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值