C++初学者,学了一个月想检验一下自己的学习成果,做了一个简单的扫雷。
受所学知识限制,界面比较简陋,功能也不是很完善,不过还是可以玩的。
后续知识充分的时候回来把他完善一下的,废话不多说,上代码。
函数头文件:
#pragma once
//交换函数
void swap(int& a, int& b)
{
int t = a;
a = b;
b = t;
}
//循环判断数组
bool judge_array(int X[],int Y[], int x, int y, int num_cin)
{
for (size_t i = 0; i < num_cin; i++)
{
if (X[i] == x && Y[i] == y)
return true;
}
return false;
}
//判断位数
int judge_size(int m)
{
int n = 0;
if (m == 0)
return 1;
while (m > 0)
{
n++;
m /= 10.0;
}
return n;
}
//获取地雷
int get_landmain(int array[], int i, int j)
{
for (size_t a = 0; a < j; a++)
{
a < i ? array[a] = 1 : array[a] = 0;
}
return *array;
}
//地雷分配
int allocation_landmain(int* landmain_0, int** landmain, int num, int num_landmain)
{
//get_rand_number(landmain_0, num_landmain);
int for_num = 0;
for (size_t i = 0; i < num; i++)
{
for (size_t j = 0; j < num; j++)
{
landmain[i][j] = landmain_0[for_num];
for_num++;
}
}
return **landmain;
}
//计算周围雷数
int sum_landmain(int x, int y, int **landmain ,int length)
{
int sum = 0;
if (x - 1 >= 0 && x - 1 <= length && y - 1 >= 0 && y - 1 <= length)
if (land