扫雷游戏——C语言版

目录

1.搭建结构

2.分析

3.开始布局

4.布置雷

5.排查雷

6.测试是否扫雷成功


从零开始介绍扫雷游戏的思路及写法。

我使用的软件是Visual Studio 2022。先建立3个文件分别为

1.搭建结构

2.分析

我们先从简单版(9 * 9)扫雷入手

1.布置雷(随机)

2.开始扫雷

        踩到雷,炸死(游戏结束,回到主菜单)

        否则,当前坐标显示周围八个坐标中雷的个数

存放雷的数组:数组中当没有雷的就存放 ' 0 '。

排查出的雷的信息:没有排查过的位置全部都是 ' * '。

3.开始布局

创建好两个数组后,开始初始化,为观察棋盘效果,我们先把棋盘打印出来(后面要注释)。棋盘打印出来后,我们把坐标的行号和列号也一起打印出来。

test.c 文件

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include "game.h"

//打印菜单
void menu()
{
	printf("****************************\n");
	printf("********** 1 .play *********\n");
	printf("********** 0 .eixt *********\n");
	printf("****************************\n");
}

//整个游戏的逻辑
void game()
{
	// ROWS COLS 使用这种方法定义变量让代码更加灵活
    char mine[ROWS][COLS] = { 0 };//存放布置好雷的信息
    char show[ROWS][COLS] = { 0 };//存放排查出的雷的信息并显示

	//初始化棋盘
	InitBorad(mine, ROWS, COLS,'0');//这里定义字符传过去,可提高代码的灵活性
	InitBorad(show, ROWS, COLS,'*');//同上

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


}

int main()
{
	int input = 0;
	do
	{
        //首先打印菜单
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
			case 1:
				game();
				break;
			case 0:
				printf("退出游戏\n");
				break;
			default:
				printf("选择有误,请重新输入\n");
				break;
		}
	} while (input);
	return 0;
}

game.h 文件

#pragma once

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

//初始化棋盘
void InitBorad(char borad[ROWS][COLS], int row, int col, char set);

//打印棋盘
void DisplayBorad(char borad[RO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值