C语言实现扫雷游戏及其优化语言实现扫雷游戏及其优化
本文实例为大家分享了C语言实现扫雷游戏及其优化的具体代码,供大家参考,具体内容如下
关于扫雷优化关于扫雷优化
1.核心思想:使用两个二维数组进行设计,一个用于显示,一个用于后台雷的布置。
2.使用宏常量,后期可以任意修改游戏难度。
3.关于扫雷拓展模块,目前使用的方法比较low,若周围均没有,则全部显示。
4.剩余位置数使用全局变量count,必须考虑拓展之后count变化。
有待改进之处有待改进之处
1.需设计标记雷的步骤,增加用户体验。
2.拓展方式有待改进。
3.界面布局仍需要进行优化。
扫雷游戏代码扫雷游戏代码
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#include<string.h>
#include<time.h>
#define ROW 12
#define COL 12
#define MINE_NUM 15
#define TOTAL 100
#pragma warning(disable:4996)
int count = TOTAL;
void inter(){
printf("=======================");
printf("=======游戏菜单========");
printf("======1.开始游戏=======");
printf("========2.退出=========");
printf("=======================");
printf("请输入您的选择: ");
}
int GetRandIndex(int start, int end){
return rand() % (end - start + 1) + start;
}
void layout(char mine[][COL], int row, int col){
srand((unsigned long)time(NULL));
int count = 0;
while (count<MINE_NUM){
int x = GetRandIndex(1, 10);
int y = GetRandIndex(1, 10);
if (mine[x][y] == '0'){
mine[x][y] = '1';
count++;
}
}
}
void Board(char board[][COL], int row, int col){
printf(" ");
int i = 1;
for (; i <= 10; i++)
{
printf(" %d ", i);
}
printf("----");
for (i = 1; i <= 29; i++)
{
printf("-");
}
printf("");
for (i = 1; i <= 10; i++)
{
printf("%2d|",i);
int j = 1;
for (; j <= 10; j++){
printf(" %c|", board[i][j]);