用c语言完成 《简陋版扫雷》

用c语言实现的一个简单扫雷小游戏。

主要需要理解二维数组的使用,数组的范围。 以及不同的函数功能。

想要做一个扫雷游戏,这样的我还不会做

但是做一个这样的可以

但是只用c语言的黑框实现一个还是没问题的。

那就叫简陋版扫雷,简称   《简雷》

那么实现简雷,我考虑用二维数组实现。

用一个二维数组,每一个元素来代表需要确定的不同位置。

一个一个功能的完善。

首先完成游戏菜单界面menu()    用printf直接打印需要给出的选项。

再用scanf检测输出。

然后用switch进行判断输入元素,进入哪一个语句。 1 就进入game() 游戏主体函数。

0是直接break,输入其他则跳转到default。

完成开始菜单后,实现游戏功能。

对二维数组初始化。

初始化之前,我们需要确定棋盘大小,这里确定为9*9.

为了后续修改,以及代码可读性,我将行列分别用define进行定义,ROW,COL

考虑到后续对棋盘 “雷”数量的检查,边界问题,那么给数组添加一个边框。

也就是将数组变为11*11    用ROWS,COLS。

而游戏时展现的界面并不会把答案露出来,所以设置一个“后端数组”board 存放雷的信息,一个“前端数组”mine展示游玩界面。

Init_board()函数对两个数组初始化。board初始化为全0,mine赋值为全*

完成初始化后,我们要看一看是否初始化成功了,以及后续的显示功能。

设计一个显示函数。

而两个数组对应不同棋盘,需要两个显示函数。

由于边框不需要呈现出来,所以输出范围限定在1-9.

显示正常后证明,显示函数没问题了。

设置雷的位置。  

扫雷自然需要有雷,这里由于之前我将数组初始化为0,0不为雷,我就定义1为雷。 用循环的方式随机设置雷的位置。

雷设置成功后,调用print_board函数检查是否设置成功。

雷设置成功了,但是不能将雷的信息展示出来,我们就注释掉print_board.  

找到雷的函数实现

调用print_mine,呈现游戏界面,提示玩家输入一个坐标。

我们要判断输入的位置是否是雷,以及他的周围有几个雷。我的想法是,以输入坐标为中心的九宫格。 循环的检测是否为1.

循环完毕后就返回到mine数组,显示周围雷个数。

如果是1,则直接结束

如果检测了所有坐标玩,则输出成功。

以上就是所有函数的实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值