新手在学习完二维数组的基本知识以后,就可以尝试着来实现一个简易的扫雷游戏了。
在完成之前首先要有一个基本的框架即怎样一步一步的实现游戏:
1.打印菜单,让用户选择开始或者结束游戏。
2.建立两个二维数组表示棋盘,一个数组用来表示游戏进行过程中的棋盘状态,另一个用来表示棋盘中地雷的分布。
3.用户输入一组坐标,首先检验是否合法,接着判断是否踩雷,若踩雷则游戏结束
4.若未踩雷,则判断是否翻开所有不是雷的格子,来判断是否取得了最终的胜利
5.若未取得最终胜利则计算出该位置周围有几个地雷,将此位置更新为周围雷的个数。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#define MAX_ROW 9
#define MAX_COL 9
#define MINE_COUNT 10
int Menu() //打印菜单
{
printf("=======================================================\n");
printf("1.开始游戏\n");
printf("0.结束游戏\n");
printf("=======================================================\n");
printf("请输入您的选择:");
int choice = 0;
scanf("%d", &choice);
return choice;
}
void Init(char show_map[MAX_ROW][MAX_COL],
char mine_map[MAX_ROW][MAX_COL]) //初始化以及埋雷
{
for (int row = 0; row < MAX_ROW; ++row)
{
for (int col = 0; col < MAX_COL; ++col)
{
show_map[row][col] = '*';
}
}
for (int row = 0; row < MAX_ROW; ++row)
{
for (int col = 0; col < MAX_COL; ++col