11.11-扫雷游戏(初级版本)

这篇博客详细介绍了扫雷游戏的实现过程,包括使用二维数组创建9x9棋盘,初始化和埋雷,以及显示和排雷的逻辑。通过定义常量和编写相关函数,实现了扫雷游戏的基本功能。
摘要由CSDN通过智能技术生成

目录

一、前言

1.1实现逻辑

二、创建主函数

三、创建游戏逻辑

第一步,创建二维数组

第二步,初始化棋盘。函数命名为initboard()。

第三步,埋雷。函数命名为setmine()。

第四步,打印棋盘。函数命名为displayboard()。

第五步,排雷。函数名为findmine()

四、整理代码

五、测试游戏运行


一、前言

  本篇博客将对扫雷游戏的实现做详细讲解。而在完成此代码之前我们要十分清楚扫雷游戏的实现逻辑。接下来将讲解扫雷游戏的实现逻辑。

1.1实现逻辑

   如图可知扫雷游戏是在一个n×n的棋盘中完成的,这里为9×9,而要想得到这种存储结构,我们自然想到二维数组来完成,可能会想通过一个9行9列的二维数组来实现,但是这里我们不妨细想一点,当你选中一个要排查的坐标该坐标若不是雷将显示它周围8个坐标雷的个数,当坐标位置如图中箭头1那当然是周围8个坐标类的个数,但如果要是边角怎么办呢?就不是8个坐标了,所以为了代码容易实现,我们将数组扩大一圈,即9×9的扫雷范围我们用的二维数组是11×11的

   扫雷顾名思义,我们还需要埋雷,但是埋雷的二维数组我们玩家是不能看见的,所以要创建两个数组,如果不是雷我们就要显示周围雷的个数,为了方便埋雷的数组我们全部初始化为‘0’,雷为‘1’,这样到时候显示的时候我们可以直接将周围的1加起来就是雷个数,将玩家可以看见的数组全部初始化为‘*’。


二、创建主函数

 在一个头文件里创建如下所示代码:

void menu()//简易菜单
{
	printf("************************\n");
	printf("******* 1.play  ********\n");
	printf("******* 0.exit  ********\n");
	printf("************************\n");

}


int main()
{
	int input = 0;
	//srand((unsigned int)time(NULL)); 生成随机值
	do 
	{
		menu();
		printf("Mine sweeping game, please select:\n");
		scanf("%d", &input);
		switch (input)
		{
		case 1:   //输入1玩游戏
			game();
			break;
		case 0:   //输入0退出游戏
			printf("Exit the game!\n");
		default:  
			printf("Input error, please re-enter!\n");//提示输入错误
			break;
		}
	} while (input);  //游戏是一个循环过程。
	return 0;
}

三、创建游戏逻辑

主函数创建好后,需要写game()这个函数,在此之前先创建一个game.c的源文件和 game.h的头文件。game(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值