C语言实现扫雷游戏

一、游戏规则

在一个棋盘上,根据自己选择的位置来判断该位置是否有雷。有雷,游戏结束,无雷,显示附近区域的雷的个数,并且继续游戏,直到游戏结束。

程序规则:9*9棋盘,二维数组实现。‘0’——没雷,‘1’——有雷。

二、思路

1.创建一个用户界面;

2.二维数组定义一个9*9棋盘; 

3.定义实际操作棋盘,为了在实现埋雷,扫雷,计数雷位置不超出定义棋盘位置,将实际操作棋盘大小定义为11*11;

4.初始化棋盘,9*9棋盘初始化为“*”,实际操作棋盘初始化为“0”;

5.埋雷,初始10个,随机数生成雷的位置,埋雷位置赋值为‘1’;

6.开始游戏,碰到雷或排除全部雷,游戏结束。

三、各功能实现代码

为了方便管理操作,将程序分成三个文件,testc.文件,game.h文件和game.c文件

1.创建用户操作界面

test.c

void menu()
{
	printf("***************************\n");
	printf("**********1.play***********\n");
	printf("**********0.exit***********\n");
	printf("***************************\n");
}

void test()
{
	int input = 0;
	srand((unsigned int)time(NULL));

	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏");
			break;
		default:
			printf("输入错误,请重新输入!");
			break;
		}
	} while (input);
}

2.初始化棋盘

game.h

#define ROWS ROW+2
#define COLS COL+2

//初始化棋盘

void InitBoard(char board[ROWS][COLS], int rows, int cols,char set);

game.c

void InitBoard(char board[ROWS][COLS], int rows, int cols, char set)
{
	int i = 0;
	for (i = 0; i < rows; i++)
	{
		int j = 0;
		for (j = 0; j < cols; j++)
		{
			board[i][j] = set;
		}
	}
}

test.c

	//初始化棋盘
	
    I
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棋子入局

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值