学习c语言的编程游戏,扫雷游戏-C语言编程学习

扫雷游戏

游戏

0?wx_fmt=png

扫雷游戏-C语言编程学习C语言编程学习(C语言编程学习) · 2017-01-23 04:02

0?wx_fmt=jpeg

扫雷游戏-C语言编程学习

640?wx_fmt=jpeg

扫雷游戏-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;

}

640?wx_fmt=png

扫雷游戏-C语言编程学习

640?wx_fmt=png

扫雷游戏-C语言编程学习

640?wx_fmt=png

扫雷游戏-C语言编程学习

上面的学习纲、学习流程,相信百分百能解决你自学中的所有难题,相信自己,相信我们,就加入我们VIP团队奋斗、努力。

投资学习是终身授益的,伴随你一生的技术,相信自己技术能改变你一生的命运。想参与系统学习班大团队的同学切勿错过,咨询或办理入学手续请联系小编:

***:1502445714

微信号:xiaoxiaoxiaolu1314

手机号码:15757335152

C语言编程学习(cyuyanxuexi)

?username=cyuyanxuexi

扫雷游戏-C语言编程学习

内容由用户发布,不代表本站观点。如发现有害或侵权内容。请点击这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值