【C语言】简易游戏设计--扫雷

扫雷游戏想必各位都不陌生,今天我将用C语言代码实现简易版的扫雷游戏。

函数封装

测试用源文件:test.c

1.菜单显示

为了方便玩家选择,首先设计一个menu函数来提示,代码实现很简单:

void menu()
{
	printf("############################\n");
	printf("######      1.game    ######\n");
	printf("######      0.eixt    ######\n");
	printf("############################\n");
}

运行效果大概是下面的样子:在这里插入图片描述
由于要保证游戏的可持续性,故我们用一个do while语句,并设置一个input的变量来接收玩家输入的选择,当input==0时循环结束,也即游戏结束,代码实现:

int main()
{
	int input = 0;
	do 
	{
		menu();
		printf("请选择:\n");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			//进行游戏
			printf("game\n");
			//game();
			break;
		case 0:
			//退出游戏
			printf("游戏结束,程序退出\n");
			break;
		default:
			//输入非法
			printf("输入错误,请重新输入\n");
			break;
		}
	} while (input);
	return 0;
}

在这里我们为了测试代码的正确性,就先在游戏项打印一个game,运行效果如下:
在这里插入图片描述
可见代码对于每种情况都有相应的反应,确保的代码的健壮性。

2.game()函数的实现

那么接下来我们就来对game()函数进行实现。
首先要定义一个char型的二维数组来存放雷,但是我们不能直接将这个数组打印出来,不然的话玩家就可以看着雷来排了,所以还要定义一个展示用的char型二维数组,初步假定是用99的棋盘存放,但是我们在排查雷的时候要访问该元素周围的9个数组元素,如果用99的数组则会越界访问,所以我们在声明数组的时候应该将数组的行和列各扩大2行(列)

	//存放雷
	char mine[ROWS][COLS];
	//展示棋盘
	char show[ROWS][COLS];

我们假设mine数组中1代表雷,0代表非雷;show数组中用*作为棋盘掩盖信息。那么接下来就需要初始化扫雷所需要的棋盘了:<

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值