编程小游戏之扫雷

       扫雷的规则我们随便点一个格子,方格即被打开并显示出方格中的数字,方格中数字则表示其周围的8个方格隐藏了几颗雷,点开的数字是几,则说明该数字旁边的8个位置中有几个雷,如果挖开的是地雷则会输掉游戏,重新开始,所以扫雷也有一定的运气成分。接下来我将教大家如何用C语言实现扫雷。


1.逻辑框架设计

       和之前的三子棋小游戏一样,我们需要同样的一个框架。

       首先,在vs上创建两个.c文件test.c和game.c,再创建一个头文件game.h。我们在test.c文件中写游戏的逻辑框架,在game.c文件中写游戏细节,在game.h文件中进行声明。

       在test.c文件中创建主函数,并设计调用test()函数。   

void test()
{

}
int main()
{
	test();
	return 0;
}

       开始写test()函数,我们采用do while 循环来创建主要的框架,首先我们需要一个菜单用于给玩家做选择,在test.c中创建一个menu()函数。

void menu()
{
	printf("**********************************\n");
	printf("*******       1.PLAY       *******\n");
	printf("*******       0.EXIT       *******\n");
	printf("**********************************\n");
}

       让玩家做出选择,根据玩家的选择我们使用switch case 语句。如果玩家选择1,就进入game()函数开始游戏,如果玩家选择0则退出游戏,如果玩家输入其他值则重新输入。

void test()
{
    int input = 0;
    do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);
}

2.游戏内容设计

      基础的框架建立好之后,我们开始写game()也就是游戏的主要部分。

      首先我们需要两个表格一样的棋盘,一个需要存放布置好的雷的信息,一个用来存放排查出的雷的信息,因此我们需要2个二维数组。我们假设创建的是扫雷的简单模式,9*9=81个格子中有10个雷,我们的二维数组就需要至少9*9的规模,但是扫雷游戏的规则是,当我开始排查雷的时候,如果排查的坐标没有雷,那就需要统计周围的8个坐标中的雷数,如果我们排查的坐标在整个棋盘的最外面一层,这样就没有足够的坐标用于统计,所以我们在设计二维数组的时候需要在外面加上一层,创建2个11*11的二维数组。(在game.h中定义ROWS,COLS,ROW,COL)

#define ROW 9
#define COL 9
#define ROWS ROW +2
#define COLS COL+2
void game()
{
    char mine[ROWS][COLS]={0};
    char show[ROWS][COLS]={0};
}

     下面我们需要

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值