扫雷游戏 - 以及和三子棋之间的一些区别

我在这里发表一下思路:

1.首先这个和三子棋的封装概念是一样的,都需要利用到封装(在我上一篇文章三子棋中),看上去就更加美观一些。

其次,就是需要两个二维数组,这个和三子棋不一样,三子棋中只需要一个二维数组。

 

和图片一样,那我们来理解一下为什么需要两个二维数组。扫雷大家应该都玩过,我们需要把整个棋盘拆开来理解(画的不好别在意,我们假设只有‘1’是地雷,0都是安全区域)

 

我们肯定不能让游戏玩家直接看到这个界面(开挂另论),我们一开始看到的界面是不是都是如图二一样,都是一些特别的字符,或者是其他的图形

所以我们就需要利用两个二维数组才可以遍历这两种情况,第一个数组是把所有的雷的信息换句话说就是作为设计游戏人员才能看到的面板,第二个就把自己幻想成为一个游戏用户来思考能看见什么界面,或者说游戏流程。这是与三子棋不同的地方,而且扫雷麻烦的就是这两个数组之间的联系。

2.大体逻辑:

我们第一个数组存放完所有的雷之后,我们需要让这个棋盘的信息与原来初始化为全‘*’的棋盘的信息进行互通,利用scanf输入的值保存在第一个数组中,但是展现的是第二个数组,当第一个数组里的内容为0自然是没踩到雷,我们需要把它周围八个坐标的值加在一起,这里就是利用0,1来区分是雷或者非雷的好处因为可以直接利用数学计算来得到你将展现给用户的数字

之后各位还可以将这两个数组分别打印出来方便进行观察。

 这是我所认为的两个难点,还有一个是利用递归来展开这个棋盘中,0周围其余的地方也还是0的地方(我还在学习,目前没想出来)。

代码的连接放在:

game2_5_14/game2_5_14 · 李行者/study C - 码云 - 开源中国 (gitee.com)

game.c 声明游戏函数

game.h 定义游戏函数

test.c 游戏实现的大体逻辑

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老幺*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值