你好!
mine 应该是一个递归函数,你的代码不全;
这段代码应该就是,如果点击了一个不是雷的点;
那么程序会采用递归的形式向四周8个方向进行判断;
如果碰到地雷,这个方向的判断就停止,其他的7个方向继续;
一直递归循环到 8个方向都停止的时候,递归结束!
void appear(char s,char p,int i,int j,int l)
{
if(0<=i&&i<=(l-1)&&0<=j&&j<=(l-1)&&s[i][j]!='0')
{
s[i][j]=p[i][j];
if(p[i][j]=='0')
{
appear(s,p,i-1,j-1,l);
appear(s,p,i-1,j,l);
appear(s,p,i-1,j+1,l);
appear(s,p,i,j+1,l);
appear(s,p,i+1,j+1,l);
appear(s,p,i+1,j,l);
appear(s,p,i+1,j-1,l);
appear(s,p,i,j-1,l);
}
}
}
这是我写的关于展开空白的程序段。
也是用递归做的,思路是这样的:碰到数字就结束,碰到打开此空白格的母格,也停止。这样就能实现展开空白。剩下的就是一些细枝末节的处理
电脑自带的游戏扫雷程序在Windows“游戏”目录下,是可以查看的,具体查看步骤如下:
1、以Win7系统为例,点击系统左下角开始菜单;
2、在打开的页面中,点击页面右侧“游戏”目录;
3、在打开窗口页面中,找到“扫雷”游戏程序,双击该扫雷程序文件;
4、接下来,即可打开扫雷游戏主页面,可以进行游戏了;
5、还可以在开始菜单中,找到“所有程序”目录,选择“游戏-扫雷”程序也可以打开游戏界面。
扫雷公式及详解分别如下:
1、公式:扫雷边上的数字代表其周围3×3区域中的地雷数。
2、详解:在判断出不是雷的方块上按下左键,可以打开该方块。如果方块上出现数字,则该数字表示其周围3×3区域中的地雷数,一般为8个格子,对于边块为5个格子,对于角块为3个格子。
所以扫雷中最大的数字为8,如果方块上为空,相当于0,则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。
扫雷模式设定:
以windows XP自带扫雷winmineexe为例(其它版本的扫雷游戏与之大同小异)。游戏区包括雷区、地雷计数器(位于左上角,记录剩余地雷数)和计时器,确定大小的矩形雷区中随机布置一定数量的地雷(初级为99个方块10个雷。
中级为1616个方块40个雷,高级为1630个方块99个雷,自定义级别可以自己设定雷区大小和雷数,但是雷区大小不能超过2430,玩家需要尽快找出雷区中的所有不是地雷的方块,而不许踩到地雷。
以上就是关于C语言扫雷代码中,以下统计雷区代码看不懂,求解释啊全部的内容,包括:C语言扫雷代码中,以下统计雷区代码看不懂,求解释啊、VC++实现扫雷展开算法、电脑自带游戏扫雷程序在哪能调出来看吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)