用c语言写一个简单的扫雷
目录
1.所需要的知识
c语言的基本语法,简单的二维数组,一点简单的递归知识。
2.总体思路
扫雷游戏主要由3个部分组成,埋雷子,扫雷,判断输赢。
扫雷游戏的主体是两个个字符类型的二维数组。一个是mine[][]它的构成是’0’和‘1’,其中’0’表示无雷,’1’表示有雷。一个是show[][]它的构成是’*’和’数字’。星号表示未开启的地方,数字表示周围的雷数。这里要注意的是:mine和show的实际大小是11x11,但是展示的效果是 9x9。这样做的优点将在Find()中体现。蓝色部分是可见的9x9,实际的类似红色 11x11。
下面是我用到的一些函数。
//game.h
#pragma once
#ifndef __GAME_H__
#define __GAME_H__
#include<stdio.h>
#include<stdlib.h>
#include<process.h>
#include<string.h>
#include<time.h>
#define ROW 9 // 9行
#define COL 9 // 9列
#define ROWS ROW+2 //实际行
#define COLS COL+2 //实际列
#define MineNum 10 //雷子数量
//菜单信息
void menu();
//执行菜单
void test(char mine[ROWS][COLS], int row1, int col1, char show[ROWS][COLS], int row2, int col2);
//游戏主体
void game(char mine[ROWS][COLS], int row1, int col1, char show[ROWS][COLS], int row2, int col2);
//打印雷阵
void InitBoard(char arr[ROWS][COLS], int row, int col);
//埋雷子
void SetMine(char mine[ROWS][COLS], int row, int col);
//找雷子
int FindMine(char mine[ROWS][COLS], int row1, int col1, char show[ROWS][COLS], int row2, int col2);
//空白算法
void Find(char mine[ROWS][COLS], int row1, int col1, char show[ROWS][COLS], int row2, int col2,int x, int y,int exam[ROWS][COLS]);
#endif//__GAME_H__
下面是主函数内容
#include"game.h"
int main()
{
char mine[ROWS][COLS];
char show[ROWS][COLS];
srand ((unsigned int)time(NULL)); //生成随机数,用于随机埋雷

本文介绍了如何使用C语言编写一个简单的扫雷游戏。主要内容包括扫雷游戏的组成、思路、详细实现,如菜单功能、游戏主体、打印面板、埋雷、扫雷等函数的编写。通过递归算法实现空白区域的连锁反应,最终展示游戏运行效果。
最低0.47元/天 解锁文章
2207





