scratch编程简易元胞自动机
先来欣赏一下效果:





超炫酷吧,上面的格子就是一个个元胞,又可以叫细胞,黑色的代表死亡,黄色的代表存活,具体的生存规则如下:
活元胞周围的邻居数量在2~3时就能够存活
活元胞周围的邻居数量如果大于3或小于2则会死亡
死元胞周围的邻居数量如果恰好等于3则会复活
以上就是元胞的生存基本规则,在开始编程之前,我们还要了解一下“邻居”的定义,一般由两种构成:
像扫雷一样的周边8个元胞都是邻居(摩尔邻域)
只看周边上、下、左、右4个元胞(冯诺伊曼邻域)
我们这里用摩尔邻域,完成后可以试试看冯诺依曼邻域哦,会很有趣!
现在开始编程,首先画出角色造型,注意尺寸是16*16

自定义勾选运行时不刷新屏幕!切记切记!
程序总的来说跟扫雷是差不多的,都是用列表来表示一个个单独个体:


和扫雷不同的是,扫雷是按从上往下,从左往右的顺序依次检测的,而元胞自动机的每个元胞都是一个个独立的个体,不能使用依次检测,需要同时完成所有元胞的检测。因此,列表中除了基本的0(死亡)和1(存活)以外,还要加2(半死)和3(半活)两个新的状态,2在被检测时显示是正常存活,在全部检测完后换为死亡状态,可以说是已经死亡,但还有活着的特性,3正好相反,显示死亡,最后复活!
程序只有上面一些,下面是元胞自动机的一些好玩例子,程序做完后按下面的状态点亮,按下空格看惊喜!(标题上写的惊喜)
名称:十五项全能

闪烁者:

稳定状态

凤凰

完成,再见!
请关注微信公众号:

————————————————
版权声明:本文为CSDN博主「迷你恐龙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/minikonglongz/article/details/119140131
浙公网安备 33010602011771号