【C语言】简单扫雷游戏

本文介绍了使用C语言实现扫雷游戏的基本流程和关键代码。包括创建并初始化两个棋盘,布置雷,排查雷,以及展示给玩家的棋盘效果。通过ROW和COL定义棋盘大小,EASY_COUNT定义雷的数量,详细讲解了每个步骤的实现细节。
摘要由CSDN通过智能技术生成

基本流程

1.打印菜单,选择是否进行游戏
2.创建两个二维数组存储数据,一个存储布置好雷的信息,一个存放排查出雷的信息
3. 初始化棋盘,布置好的雷用 ‘0’表示,向玩家展示的棋盘上的界面用’*'表示
4.打印展示给玩家的棋盘
5.布置雷
6.排查雷

我们想要的棋盘效果是这样的

在这里插入图片描述

代码实现

解释一下定义的宏的意思
ROW&COL : 布置雷的区域的棋盘的行和列
ROWS&COLS : 整个棋盘的行和列(为了便于计算当前格子周围的雷的总个数,防止数组越界,整个棋盘的行和列是ROW+2和COL+2)
EASY_COUNT : 简单模式的布置的雷的总个数(后续可以增加难度)

1.首先了解一下整个游戏的实现流程

void game()
{
   
	//创建棋盘
	char mine[ROWS][COLS] = {
    0 };//存放布置好雷的信息
    char show[ROWS][COLS] = {
    0 };//存放排查出雷的信息	
    
    //初始化棋盘
    Initboard(mine,ROWS,COLS,'0');//布置好的雷用'0'表示
    Initboard(show,ROWS,COLS,'*');//展示给玩家的棋盘用'*'表示

	//打印棋盘
	Printboard(show,ROW,COL);

	//布置雷
	Setmine(mine,ROW,COL);

	//排查雷
	Findmine(mine,show,ROW,COL);
}

int main()
{
   
	int input = 0;
	do
	{
   
		srand((unsigned int)time(NULL));//随机布置雷用随机值,需要调用srand函数
		menu();//打印菜单
		printf("请选择:>");
		scanf("%d",&input);
		switch(input)
		{
   
			case 1:
				printf("扫雷游戏\n");
				game();
				break;
			case 0:
				printf("退出游戏\n");
				break;
			default:
				printf("输入错误,请重新输入\n");
				break;
		}
	} while(input);
	return 0;
}

2.创建两个棋盘

char mine[ROWS][COLS] = {
    0 };//存放布置好雷的信息
char show[ROWS][COLS] = {
    0 };//存放排查出雷的信息

3.初始化两个棋盘

函数实现

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

4.打印棋盘

函数实现

void Printboard(char board[ROWS][COLS],int row,int col)
{
   
	int i = 0;
	int j = 0;
	for(i = 0 ; i <= row ; i++)
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

汤姆_511

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

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

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

打赏作者

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

抵扣说明:

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

余额充值