在C语言简单的键盘玩扫雷小游戏(第一段)中我们已经解决了扫雷初步的,雷的布置和雷周围数据的填充,在C语言简单的键盘玩扫雷小游戏(第二段)中:我会继续解决加密的问题,下面就让我们一起进入Q的编程世界:
1加密:
为了加密数据不和雷及周围数据重复,我们让他们在本来数据的基础上加上20。
0 0 0
0 1 0
0 0 0
1的周围如果全是雷,1处的数据应该是8。
所以为了不和雷及雷周围数据重复我们在此基础上加20。你也可以加其他数,只要不和雷及雷周围数据重复就可以。
//加密
/*
雷-1-----------19
空0------------20
1---------------21 周围有一个雷
2---------------22 周围有两个雷
3---------------23 周围有三个雷
4---------------24 周围有四个雷
5---------------25 周围有五个雷
6---------------26 周围有六个雷
7---------------27 周围有七个雷
8---------------28 周围有八个雷
所有的都是大于等于19的
*/
代码实现:
for(int i = 1;i <= ROW;i++)
{
for(int j = 1;j <= COL;j++)
{
map[i][j]+=20;
}
}
这样的话我们的打印函数应该为:
int i,j;
for(i = 1;i <= ROW;i++)
{
for(j = 1;j <= COL;j++)
{
if(map[i][j]>=19)/*因为加密后数据都是大于等于19的,所以我们在遍历打印数组时把大于等于19的打印成“ * ”,不是的我们直接打印数据。
*/
{
printf(" *");
}
else
{
printf("%2d",map[i][j]);
}
}
printf("\n");
}
如果你做对了就是这样的:
第二段加密就完成了。
有什么问题写在评论中我会及时回复。
后期我会给大家分享用户玩游戏的过程,最后我会把代码整理放在完结中,也欢迎大家来微信公众号:Q的编程世界,回复Q.扫雷,即可立即获得键盘玩扫雷小游戏的完整代码。