Java & Python 康威生命游戏 - 命令行版(2020年7月23日)

高二的时候看霍金的《大设计》最后几页的时候看到里面提到了康威生命游戏,介绍了它的规则,感觉很有意思,但是在草稿纸上一点一点画,推演,实在是太麻烦了,于是我便想是否可以通过编程的方式实现康威生命游戏?我当时高二,感觉自己很难做出来。到了大一下学期,自学了python和java,学校的课程里也学习了C语言,自己也经常写一些有意思的小程序,可以说是有一定的编程基础了,于是就又会想起了一年多前的康威生命游戏。
其实在 2020年2月24号,大一上学期结束的寒假里,我已经把一维版的康威宇宙做出了来了,但是那终究是一维的,没有二维的丰富,开发难度肯定没有二维的高。所以这次我打算真正的试一试二维的,原版的、正经的康威宇宙。
在 2020年4月11日的时候,生命游戏的作者 约翰·何顿·康威 已经因为新冠肺炎去世了。感觉突然挺遗憾的。之前了解这个人完全是因为生命游戏,但是其实他是一个数学家。他还有其他很多更大的贡献和发现,不只是生命游戏。
2020年7月23日,我把用python实现了,随后一天我又做了一份Java版本的。
相关介绍
百度介绍:
https://baike.baidu.com/item/%E5%BA%B7%E5%A8%81%E7%94%9F%E5%91%BD%E6%B8%B8%E6%88%8F
知乎介绍:
https://zhuanlan.zhihu.com/p/45026142
效果截图


源代码
Java
回顾反思
直接给调用者暴露了数组,但是调用者并不知道是用
[y][x]
的方式还是[x][y]
的方式,你这个没有说明,会导致一些不方便如果能把cellsArray封装成一个类那就好了,因为它已经很像类了。
不知道怎么结尾了,康威生命游戏的评价里有一句话说的不错,就以它结尾吧:“ 孤独和拥挤都不适合生命的繁衍和发展 ”。