蚂蚁游戏

初始时,蚂蚁位于一张空白画布的某个方格里。如果当前蚂蚁在白色方格上,则对当前方格反色,左 90 度,前进一格;如果当前蚂蚁在黑色方格上,则对当前方格反色,右转 90 度,前进一格。如此反复。

兰顿蚂蚁_初始化

前面16步:

兰顿蚂蚁_初始化_02

兰顿蚂蚁_初始化_03

matrix67的博客里有这个程序,在100*100的表格上运行。

到了10000步开始有规律:

兰顿蚂蚁_初始化_04

兰顿蚂蚁_初始化_05

到了这里,由于到了程序设置的边界,就停止了,实际上应该是无限进行下去的。

如果在这个时候,不进行格子的初始化,而把蚂蚁放到最开始的地方和方向,会发生什么呢?

第二次、第三次轮回的循环,和第一次都在同一个位置:

兰顿蚂蚁_初始化_06

兰顿蚂蚁_初始化_07

蚂蚁的第四次轮回,出现了新的循环:

兰顿蚂蚁_初始化_08

PS:第1-11670步是第一次轮回,第11671-17629步是第二三四次轮回

第五次轮回,又出现了新的循环:

兰顿蚂蚁_初始化_09

第六次轮回:

兰顿蚂蚁_初始化_10

第七次轮回:

兰顿蚂蚁_初始化_11

第八次、第九次轮回又在第六次轮回的位置:

兰顿蚂蚁_初始化_12

兰顿蚂蚁_初始化_13

第十次轮回又在第四次轮回的地方:

兰顿蚂蚁_初始化_14

第十一次轮回:

兰顿蚂蚁_初始化_15

兰顿蚂蚁_初始化_16

第十二次轮回,又在第七次轮回的位置,

而第四次轮回的位置,因为表格大小的限制,已经毁了。

如果表格够大,有可能第十二次轮回就不在这个位置了。

从这里开始,规律已经开始受到表格大小的限制变得不一定准确了。

兰顿蚂蚁_初始化_17

第十三次轮回,看似被毁掉的循环居然又复原了

兰顿蚂蚁_初始化_18

第十四次轮回,应该是因为表格大小限制,没有任何循环产生。而且我忘了截图。

第十五次轮回:

兰顿蚂蚁_初始化_19

第十六次轮回:

兰顿蚂蚁_初始化_20

附上统计表:

兰顿蚂蚁_初始化_21