在设计扫雷游戏之前 为了使得代码移植性 可修改性大大提高
我们使用三个文件 如test.h头文件 game.c文件与test1.c文件
test.h 功能主要是函数声明与定义各条件
test1.c主要是用来定义各类函数具体功能 使主函数调用各函数时不混乱
首先我们需要有开局菜单(在此提示在设计扫雷宫格时要注意在最外围的一圈排查时不能像中间一样排查周围八个位置的雷的个数)所以在设计初数组时多加两行
然后进行数组的初始化
之后就是设计雷点
在此处我们利用随机数的产生的知识点
先引用库函数<time.h>和<stdlib.h>
srand((unsigned int)time(NULL))
int x=rand()%9+1//就表示产生一个1~9的随机数
int y=rand()%9+1//同理产生一个y值1~9的随机数
之后开始进行扫雷排查
输入排查的坐标 判断输入坐标合理性 和是否排查过
对排查坐标进行排查如果是雷则被炸死游戏结束 若不是对周围位置进行检测得出周围雷的个数提示在被排查坐标位置
当非雷位置找完时结束游戏通关成功
以上均为设计各函数内部功能的定义
对最终game.c的内容如下:
#define _CRT_SECURE_NO_WARNINGS
#include"test.h"
int main()
{
srand((unsigned int)time(NULL));
char minboard[Rows][Cols] = {0};
char showboard[Rows][Cols] = {0};
int input=0;
do
{
menu();//菜单设置
printf("请选择-》");
scanf("%d", &input);
int x=0; int y=0;
switch (input)
{
case 0:
printf("已退出扫雷游戏\n");
break;
case 1:
printf("开始游戏\n");
init(showboard,'*');//棋盘初始化
init(minboard, '0');
Display(showboard);//测试棋盘
Setmine(minboard);//设置雷点
//Display(minboard);
findmine(showboard,minboard,x,y);//排雷
break;
default:
printf("选择错误重新选择\n");
break;
}
} while (input);
return 0;
}
最终实现扫雷游戏的初步
程序运行结果:
在编程扫雷游戏时要注意思路,要有大致框架 在框架的基础上进行优化