1:用户玩的过程。
接下来就让我们来看用户通过键盘玩的过程:
(1):用户玩肯定是个循环所以我们使用while()循环来实现。
【1】:用户要输入x坐标和y坐标,我们通过:
int z;
while(z)
{
int x,y;
printf("请输入坐标:n");
scanf("%d %d",&x,&y);
}
【2】:用户输入坐标后我们判断坐标的合法性,我们通过以下代码实现:
if(x<=10&&x>=1&&y<=10&&y>=1)
【3】:如果符合上述条件,我们是不是还得判断他输入的这个位置是否已经翻开,若翻开我们就说你输入的坐标以翻开,然后让他重新输入,否则就进行解密,解密后我们是不是还得判断他翻开的这个位置是否为雷,若为雷,输出你踩到雷了,然后打印出来给用户看,结束。
在用户输入坐标时我们是不是还得选择性的翻开所以我们还得使用switch()语句。
上面的【3】我们代码实践为:
while(z)
{
if(x<=10&&x>=1&&y<=10&&y>=1)
{
//解密
if(map[x][y]<19)
{
printf("已翻开。n");
}
else
{
switch(map[x][y])
{
case 19:
// 游戏结束
map[x][y]-=20;
PrintPlay();//打印
printf("你踩到雷了19!n");
z=0;
//跳转到结束
break;
case 20:
//空
//解密
//map[x][y]-=20;
//空周围为空的叶打印出来
point(x,y);
PrintPlay();//打印
break;
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
//周围有雷
//解密输出就可以
map[x][y]-=20;//解密
PrintPlay();//打印
break;
default :
break;
}
}
}
else
{
printf("您输入错误!");
}
}
我们在真真的扫雷中发现如果翻开是雷,他会吧周围所有为雷的都解密打印,这里我们用一个函数自己调用自己,进行解密。
【4】:空白区域的解密与打印。
代码实现:
for(int m=x-1;m<=x+1;m++)
{
for(int n=y-1;n<=y+1;n++)
{
if(map[m][n]==20)
{
map[m][n]-=20;
point(m,n);//这个函数就是自己调用自己。
}
}
}
这里的话,我们的基本键盘玩扫雷小游戏的,模块、以及基本功能已经实现。
第三段用户玩就完成了。
有什么问题写在评论中我会及时回复。
后期我会给大家分享整个键盘玩扫雷小游戏完结,我会把代码整理放在完结中,也欢迎大家来微信公众号:Q的编程世界,回复Q.扫雷,即可立即获得键盘玩扫雷小游戏的完整代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)