还是分三文件
头文件
游戏主题
测试文件
整体的游戏逻辑
#define _CRT_SECURE_NO_WARNINGS
#include"game.h"
void game()
{
//1,数组的定义,初始化
//
//2,棋盘的展现
//
// 3,布置雷 用随机数生成
//
// 4排查雷
//
//
//
//
//
//1,数组的定义
char mineboard[ROWS][COLS] = { 0 };
char showboard[ROWS][COLS] = { 0 };
//初始化
In_board(mineboard, ROWS, COLS,'0');
In_board(showboard, ROWS, COLS, '*');
//2 ,棋盘的展示 只打印 9*9 的内容 其他不打印;
Displayboard(mineboard ,ROW,COL);
Displayboard(showboard, ROW,COL);
//3,布置雷 用随机数生成
Set_board(mineboard, ROW, COL);
Displayboard(mineboard, ROW, COL);
// 4排查雷 ,排查出来雷 放到show数组打印出来
Find_board(mineboard, showboard, ROW, COL);
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择进入游戏:");
scanf("%d", &input);
switch(input)
{
case 1:
printf("扫雷游戏开始啦:>n");
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 easycount 80 #define ROWS ROW+2 #define COLS COL+2 #include#include #include //游戏的基本框架 void menu(); //棋盘的初始化 void In_board(char board[ROWS][COLS],int rows,int cols, char set); //展示棋盘 void Displayboard(char board[ROWS][COLS], int row, int col); //布置雷 void Set_board(char board[ROWS][COLS],int row,int col); //排查雷 void Find_board(char mineboard[ROWS][COLS], char showboard[ROWS][COLS],int row,int col);
游戏主体 game.c
#define _CRT_SECURE_NO_WARNINGS
#include"game.h"
void menu()
{
printf("********************n");
printf(" ** 1.play ** n");
printf(" ** 0.exit ** n");
printf("********************n");
}
void In_board(char board[ROWS][COLS], int rows, int cols, char set)
{
int i = 0;
int j = 0;
for (i = 0; i = 1 && x <= row) &&( y >= 1 && y <= col))
{
if (mineboard[x][y] == '1')
{
printf("很遗憾,你踩到雷了,下次加油:nnnn");
Displayboard(mineboard, ROW, COL);
break;
}
else // 不是雷 就来统计周围的雷的个数
{
int count = get_mine_conut(mineboard, x, y);
showboard[x][y] = count + '0';
Displayboard(showboard, row, col); ///显示出排查的信息 打印出来
win++;
}
}
else
{
printf("坐标输入不合法,请重新输入:n");
}
if (win = (row * col - easycount))
{
printf("恭喜你排雷成功 yydsnnn");
Displayboard(mineboard, ROW, COL);
}
}
//if (win = (row * col - easycount))
//{
// printf("恭喜你排雷成功 yydsnnn");
// Displayboard(mineboard, ROW, COL);
//}
}
刚开始敲代码 有些语句 函数实参形参,二维数组的使用还是磕磕碰碰的
各种稀奇古怪,出现,不知哪里问题 反复找问题 分析逻辑 函数的一个一个的实现
起步难点 那就多敲点 多调试吧



