一.游戏规则和实现思路
1.扫雷游戏想必大家都玩过吧,这个游戏的目的就是在一个9x9的棋盘上找出所有没有地雷的格子并且不才到地雷,当然也可以设置棋盘大小和地雷个数。这篇文章主要是实现9x9大小的扫雷游戏。
2.游戏规则:
1.棋盘上的某些个字里有地雷,其他格子是空白的
2.游戏开始时,棋盘还是那个会有些数字,这个数字表示这个格子周围八个格子中的地雷数量
3.通过点击格子,如果格子是空白的则显示该格子周围的地雷数量,如果是地雷则你被炸死了游戏结束。
4.如果打开格子的周围的地雷数量与数字相符合,则该格子周围的其他格子也会被打开。
5.当你在不踩到地雷的情况下,找出所有没有地雷的格子,则胜利。
3.游戏实现思路
1.首先我们需要去创建菜单界面函数,用于用户选择进入游戏还是退出游戏。
2.创建两个同样大小的二维数组,一个用来放雷一个用来显示给用户。
3,初始化棋盘,然后布置雷,并且打印棋盘。
4.输入排雷的坐标
5.反馈坐标结果,一直循环直到被炸死或者排雷成功。
为了让游戏具有一定的可玩性,便于修改游戏难度,我可以在头文件中define行和列还有雷的数量。
二.模块化代码实现
我们要用多个文件的形式对函数的声明和定义,这可以大大提高我们代码的可读性.
1.创建主函数main()和test函数
主函数中我们需要创建一个整型变量Input,用于输入判断菜单的选择,用do while来判断我们输入的选择是否结束,我们需要创建一个菜单函数,每一次循环呢我们都调用菜单函数,然后用switch语句来执行相应的功能,输入1则是开始游戏,输入0则是退出游戏。输入其他值则提示输入错误,请重新输入。循环执行下去直到玩家主动输入0退出。
2.菜单函数
3.创建游戏函数game()
3.棋盘初始化
4.显示棋盘
5.布置棋盘上的雷
6.排查雷
雷布置好之后我就需要玩家输入坐标开始排查雷了然后将排查后的棋盘显示给玩家,那么当输入一个坐标后,如何排查呢。
1.创建一个排查雷的函数
2.我们需要创建一个整型变量wine来判断输赢,当整个while运行直至跳出wine的大小等于该棋盘中空白格子的数量的时候则胜利。
3.我们需要创建一个函数来统计玩家选择该坐标周围的雷的个数。
三.全部源代码
game.h
game.c
test.c