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

posted @ 2021-07-28 14:26  迷你恐龙  阅读(504)  评论(0)    收藏  举报