一. 生命游戏原理,每个格子有两个状态生与死。
二. Matlab代码,代码如下
%%生命游戏
n = 20; %场景大小
p = 0.4; %初始话为1的概率
Se = rand(n)<p;
Sd = zeros(n+2);
Ph = imagesc(Se);
while(true)
Sd(2:n+1,2:n+1)=Se;
sumValue = Sd(1:n,1:n)+Sd(1:n,2:n+1)+Sd(1:n,3:n+2)+Sd(2:n+1,1:n)+Sd(2:n+1,3:n+2)+Sd(3:n+2,1:n)+Sd(3:n+2,2:n+1)+Sd(3:n+2,3:n+2);
for i=1:n
for j=1:n
if(sumValue(i,j)==3||(sumValue(i,j)==2&&Se(i,j)==1))
Se(i,j) = 1;
else if(Se(i,j)==0&&sumValue(i,j)==3)
Se(i,j) = 1;
else Se(i,j) = 0;
end
end
end
end
set(Ph,'cdata',Se);
pause(0.05);
end
三. 运行结果
运行中的截图
可以自己去尝试修改一些参数,看看能不能出一些更漂亮的图。