📄 catest.as
字号:
#include "gData.as"
#include "AidDraw.as"
#include "Ulti.as"
function lifeGame():Void
{
//caculate.
var squareSize:Number=10;
for(var i:Number=0;i<_root.gRowNum;i++)
for(var j:Number=0;j<_root.gColNum;j++)
{
var count:Number=0; //the live neighbor num count.
for(var k:Number=-1;k<=1;k++)
for(var l:Number=-1;l<=1;l++)
{
if(_root.gMapXk[i+k][j+l]==_root.LIVED&&!(k==0&&l==0)&&i+k>=0&&j+l>=0)
count++;
}
if(_root.gMapXk[i][j]==_root.LIVED)//original state is lived
{
if (count<=1||count>3)
_root.gMapXk_1[i][j]=_root.DEAD;
else
_root.gMapXk_1[i][j]=_root.LIVED;
/*if(i<=3&&j<=3)
trace("s1:"+String(i)+String(j)+String(_root.gMapXk_1[i][j])+String(count));*/
}
else if(_root.gMapXk[i][j]==_root.DEAD)//original state is dead.
{
if (count==3)
_root.gMapXk_1[i][j]=_root.LIVED;
else
_root.gMapXk_1[i][j]=_root.DEAD;
/*if(i<=3&&j<=3)
trace("s2:"+String(i)+String(j)+String(_root.gMapXk_1[i][j])+String(count));*/
}
}
//update show,and update XK
for(var i:Number=0;i<_root.gRowNum;i++)
for(var j:Number=0;j<_root.gColNum;j++)
{
if(_root.gMapXk[i][j]==_root.LIVED&&_root.gMapXk_1[i][j]==_root.DEAD)
{
drawSquare(_root.gXOffset+j*squareSize,_root.gYOffset+i*squareSize,_root.gColorArr[12],squareSize);
_root.gMapXk[i][j]=_root.DEAD;
}
else if(_root.gMapXk[i][j]==_root.DEAD&&_root.gMapXk_1[i][j]==_root.LIVED)
{
drawSquare(_root.gXOffset+j*squareSize,_root.gYOffset+i*squareSize,_root.gColorArr[3],squareSize);
_root.gMapXk[i][j]=_root.LIVED;
}
}
_root.gIterTimes++;
trace3("IterTimes:"+String(_root.gIterTimes)+"\n");
//show2DArr(_root.gMapXk,50,50);
//show2DArr(_root.gMapXk_1,50,50);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -