php生命游戏,生命游戏(PHP) – 不理解我的输出

所以,基本上,我一直在写这个生命游戏

PHP脚本.我的输出很糟糕,我无法理解!

整个方案由一个名为$world的二维数组组成,其中每个值对应一个2状态单元,可以是1或0(活着或死亡).每个小区有8个邻居.

计算系统下一个状态的规则如下:

>如果你有2-3个活着的邻居(1个),那么你下个回合就会活着.

>否则你已经死了.

我的实现如下:

(注意:$j_minus,$i_plus等指的是$j-1等,但要考虑边缘)

for($i=0;$i

{

for($j=0;$j

{

if( ($world[$j_minus][$i] + $world[$j_plus][$i] + $world[$j][$i_minus] + $world[$j][$i_plus]+$world[$j_minus][$i_minus]+$world[$j_minus][$i_plus]+$world[$j_plus][$i_minus]+$world[$j_plus][$i_plus]) > 3 )

{

$new_world[$j][$i]=0;

}

else if( ($world[$j_minus][$i] + $world[$j_plus][$i] + $world[$j][$i_minus] + $world[$j][$i_plus]+$world[$j_minus][$i_minus]+$world[$j_minus][$i_plus]+$world[$j_plus][$i_minus]+$world[$j_plus][$i_plus])>= 2 )

{

$new_world[$j][$i]=1;

}

else {$new_world[$j][$i]=0;}

}

}

应用这些规则后,将$new_world作为系统的新状态,我将使用以下内容将数组打印到屏幕:

for($i=0;$i

{

for($j=0;$j

{

echo $new_world[$i][$j]." ";

}

echo "

";

}

无论$world的初始状态如何,我得到的是一个完全停滞的状态,充满线条和大块或者在2-3个这样的状态之间振荡.规则似乎没有正确应用!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值