一,知识点
本篇扫雷游戏用到了函数,随机数,scanf,switch 二维数组相关内容,若是有没学的请学完后再来看。
由于代码是个人学完后编的,中间有不妥的地方,以最终版效果为主。最后会附上完整代码。
下面进入正题吧:
二,准备页面:
首先用do while 或while循环打印一个可选择的页面:
运行结果
注意:每写完一部分都要运行一下保持代码连贯性,方便及时改正,养成习惯
三,准备棋盘
先来看一下棋盘整体的样子
可以根据选择棋盘大小,这里以(9*9)为例
先初始化棋盘saolei.c
定义二个二维数组 game.h
因为是头文件,所一一切定义在game.h,saolei.c,game.c写上#include “game.h”后就包含了game.h的内容了。
再来看看这个棋盘,因为在涂黑的情况下,如过9*9中左上角为雷,那就越界了,所以初始化实际上是11*11的棋盘,为了之后改的方便,直接在game.h中定义:
由于一次初始化俩次代码太多,这里用set代替*或‘0’ ,用一个双循环初始化棋盘,接下来就是打印棋盘:
打印是看的,要用9*9的棋盘
saolei.c
game.h
game.c
四,准备雷
saolei.c
game.h
game.c
rand是随机数,头文件时stdlibh,time.h,同时saolei.h中要有
五,排雷
saolei.c
game.h
game.c
因为要显示雷的数目,一般游戏是显示周围有多少雷:所以要计算周为雷的数目
因为棋盘放的是字符‘0’/‘1’,所以用‘1’ - ‘0’ = 1这个字符与整形转换公式来进行转换
以上是目标周围的坐标
如果被炸死,就显示雷,如果没被炸死,就显示棋盘和数目。
以上就是解析,下面是完整代码saolei.c
game.h game.c