C#之雷区拓展
用C#做扫雷的时候如何实现在点击的雷区拓展如图:
2011-10-27 22:59
2011-10-28 12:37
程序代码:void Check(Kill k)
{
if (k.IsCheck)
return;
this.IsCheck = true;//这里一定要标记它已检测过的状态,不然会无限回调的
if (k.CheckAround()//检查周围8格,如果全没雷)
{
...
//一些要做的事情,标记它不是雷,把它翻出来一类的
foreach(Kill k1 in k.Arounds)
{
Check(k1);//回调这个方法检查它周围的雷
}
}
else
return;
}
2011-11-01 09:30
foreach(Kill k1 in k.Arounds)
{
Check(k1);//这个方法改变了k的值也就该变了下次循环k.Arounds的值,于是程序就只会向k.Arounds[0]这个方向拓展,不会拓展其它7个方向
}
2011-11-06 21:40