**
C语言实现扫雷
**
今天手把手教小伙伴们用c语言实现扫雷小游戏,一看就懂,一看就能学会的小项目。不要着急,请先看完。
在这之前呢,我们先来看一下该游戏的基本要素
首先能想到的:1. 棋盘 2. 雷区 3. 安全数字区 4. 雷的数量
其次,我们要让终端能够与玩家进行交互,由于是用基本语言实现,我们干脆用坐标式输入来定义玩家选择。
除了以上几点要素,无非就剩下后台设置雷区和前台显示界面了。
经过以上分析之后,我们说编写一个扫雷游戏,必须要进行以下操作:
(1)构造两个棋盘区域,一个用于设置地雷,一个作为显示界面给用户,因为棋盘区域具有记忆功能,所以我们必须用数组来实现。
(2)初始化棋盘区域为字符0,地雷为字符1
(3)显示扫雷界面(这里我们用*代替)
(4)设置雷(雷的设置我们这里用随机数生成,数量由玩家而定)
(5)玩家扫雷规则的实现(在玩家做出选择后,计算周围雷的数量,并将其显示在玩家所选择的区域内)
下面我们开始代码实现,各编译器略有不通,但实现方式是一样的,下面我们v编译器进行讲解。
···我们需要一个项目头文件head.h,用来对函数进行声明和定义,一个游戏实现源文件test.c和一个调用函数源文件main.c,如下图:
**
一:test.c源文件源码
**
#include"head.h"
//菜单栏,供玩家做游戏选择
void menu()
{
printf("*****************************\n");
printf("********** 1.play ***********\n");
printf("********** 0.exit **********\n");
printf("*****************************\n");
}
//game函数,对游戏相关函数调用
void game() {
char mine[ROWS][COLS] = {
0 }; //定义后台雷区
char show[ROWS][COLS] = {
0 }; //定义前台界面
InitBoard(mine, ROWS, COLS,'0'); //对棋盘初始化为字符0
InitBoard(show, ROWS, COLS,'*'); //对界面的初始化
DisplayBoard(show, ROW, COL); //扫雷界面可视化
SetMine(mine, ROW, COL); //设置雷的数量和位置
FindMine(mine,show, ROW, COL); //排雷
}
void test() {
int enter = 0;
srand((unsigned int)time(NULL));