C语言--扫雷游戏(结尾附源码)

一、游戏介绍

扫雷游戏在早年间是一款人尽皆知的电脑游戏,不仅内存小而且具有一定的挑战性,在我的童年时代对这个游戏的理解就是盲猜,即便不会玩也知道这个基本每台电脑必备的游戏,其游戏规则是玩家可以通过点击来翻开方块,如果是雷那么游戏就结束了,反之就会出现一个数字代表了其周围的8个方块中隐藏的雷的数目,通过计算可以排除剩下的安全区,全部排出即获得胜利

二、设计思路

由于是看了教学,所以有相似之处,但是游戏实现是自己构思所以可能不太一样,首先要打印棋盘,这里假设要打印一个9*9的棋盘存放10个雷,设想如果只用一个二维数组来存放雷,那么就不方便单独打印,还需要另外一个数组来存放“雷”,这里我们就用星号来表示,当棋盘打印出来之后还需要输入坐标排雷,然后判断是否是雷,不是雷就计数并打印出来,因此我们就分为三个文件:

  1. main.c//搭建游戏选择界面和游戏框架
  2. game.c//具体的游戏实现
  3. game.h//整个游戏的头文件、函数声明和宏定义
    其中有两个数组:
    mine数组//用于存放设置的雷
    show数组//用于展示棋盘

三、代码实现

剩余的具体介绍老规矩看代码注释,有疑问或者不足之处还请评论区指教,谢谢各位,那么直接上代码

1.主函数&game函数

经典开局,设计很巧妙

int main()
{
   
	int input=0;
	do
	{
   
		menu();
		scanf("%d", &input);
		switch (input)
		{
   
		case 1:game(); break;
		case 0:printf("退出游戏!"); break;
		default:printf("输入有误!请重新输入:");
		}
	} while (input);
	return 0;
}

game函数(游戏框架)

void game()
{
   
	//雷表示1,空表示0
	int count=1,mine[ROWS][COLS] = {
    0 };
	char show[ROWS][COLS] = {
    0 };//展示为*和数字表示周围的雷的数目
	setboard(mine);//随机设置10个雷
	initboard(show);//初始化面板
	for (count = 0;count < ROW * COL - EASY;count++)//循环(总数-雷数)次
	{
   
		dpyboard(show)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值