扫雷游戏
游戏
扫雷游戏-C语言编程学习C语言编程学习(C语言编程学习) · 2017-01-23 04:02
扫雷游戏-C语言编程学习
扫雷游戏-C语言编程学习
//扫雷游戏
//讲课老师:蔡苏北
#include //标准输入输出头文件
#include //通用工具头文件
#include //时间头文件
#define N10//游戏界面的宽度和高度
#define NUM10//地雷的数量
int scope[N][N];//10行10列的二维数组,初始各元素的值全部为零
//打印游戏界面
void PrintGameInterface()
{
int row, col;
for(row = 0; row < N; ++row)//++row row++
{
for(col = 0; col < N; ++col)
{
printf("■");
/*if(scope[row][col] == -1)
{
//是地雷
printf("☆");
}
else
{
//不是地雷
printf("%2d", scope[row][col]);
}*/
}
printf("\n");
}
}
//产生地雷函数,参数为地雷的数量
void CreateLandmine(int n)
{
int count = 0;//当前地雷的数量
int row, col; //行,列
srand(time(NULL));//初始化随机种子
do
{
row = rand() % N;//得到一个随机行
col = rand() % N;//得到一个随机列
if(-1 != scope[row][col]/*!scope[row][col]*/)//判断row行col列位置原先有无地雷
{
scope[row][col] = -1;//在该处设置地雷
++count;//地雷数量自增1
}
}while(count < n);
}
//把除了地雷之外所有区域都标上数字标记
void Calculate()
{
int row, col;
int i, j, count;
for(row = 0; row < N; ++row)//按行循环
{
for(col = 0; col < N; ++col)//按列循环
{
if(scope[row][col] != -1)
{
//不是地雷
count = 0;
for(i = row - 1; i <= row + 1; ++i)//从上一行循环到下一行
{
//行不能超出界限
if(i < 0 || i > N - 1)
continue;
for(j = col - 1; j <= col + 1; ++j)//从前一列循环到后一列
{
//列不能超出界限
if(j < 0 || j > N - 1)
continue;
if(scope[i][j] == -1)
++count;//将发现的地雷数加1
}
}
scope[row][col] = count;
}
}
}
}
int main()
{
//1.创建地雷
CreateLandmine(NUM);
//2.计算雷区之外区域的数字标记
Calculate();
//3.打印扫雷游戏界面
PrintGameInterface();
return 0;
}
扫雷游戏-C语言编程学习
扫雷游戏-C语言编程学习
扫雷游戏-C语言编程学习
上面的学习纲、学习流程,相信百分百能解决你自学中的所有难题,相信自己,相信我们,就加入我们VIP团队奋斗、努力。
投资学习是终身授益的,伴随你一生的技术,相信自己技术能改变你一生的命运。想参与系统学习班大团队的同学切勿错过,咨询或办理入学手续请联系小编:
***:1502445714
微信号:xiaoxiaoxiaolu1314
手机号码:15757335152
C语言编程学习(cyuyanxuexi)
扫雷游戏-C语言编程学习
内容由用户发布,不代表本站观点。如发现有害或侵权内容。请点击这里