一、扫雷游戏功能
1.进入游戏有选择游戏继续还是退出。
2.进入游戏后显示棋盘。
3.输入需要排的雷坐标后显示如果是雷则游戏结束,否则显示该坐标周围有多少个雷。
4.成功排除雷后游戏结束。
5.游戏结束后显示菜单再次进行选择。
二、游戏代码实现功能
1.主函数部分实现菜单功能。
2.创建存储棋盘部分,同时每次游戏对棋盘初始化。
3.打印棋盘。
4.产生10个随机的雷。
5.用户输入坐标后排查雷并检查周围雷的数量。
三、主函数部分
void sum()
{
printf("***********************\n");
printf("****** 1: 开始 ********\n");
printf("****** 0:结束 ********\n");
printf("***********************\n");
}
int main()
{
int flog = 0;
do
{
sum();
printf("请选择:");
scanf("%d", &flog);
switch (flog)
{
case 1:
printf("游戏开始!\n");
break;
case 0:
printf("游戏结束!");
break;
default:
printf("选择错误,请重新输入:\n");
break;
}
} while (flog);
return 0;
}
主函数部分与前面猜数字部分相同,不在过多解释。
四、具体游戏实现
1.游戏实现部分
void game()
{
srand((unsigned int)time(NULL));
//int t = rand() % 10 + 1;
char mine[ROWS][COLS] = { 0 };//保存雷
char show[ROWS][COLS] = { 0 };//存放排查雷的信息
//初始化棋盘
Arr(mine,COLS,ROWS,'0');
Arr(show,COLS,ROWS,'*');
//打印棋盘
Add(show,COL,ROW);
//printf("%d", t);
//产生雷
Acc(mine,COL,ROW);
//Add(mine, COL, ROW);
//排查雷
Ass(show,mine,COL,ROW);
}
这里是游戏部分,将每一个功能封装成一个一个的单独函数,提前设置两个字符数组储存棋盘和产生的雷。
2.棋盘的初始化
//初始化棋盘
void Arr(char arr[COLS][ROWS], int cols, int rows, char t)
{
int i = 0;
for (i = 0;i < cols;i++)
{
int j = 0;

最低0.47元/天 解锁文章
189

被折叠的 条评论
为什么被折叠?



