Python实现的
可以控制台运行,不过最好还是使用Windows的PowerShell,我觉得这个选择对初学者很棒
生命游戏的规则来自百度搜索,从代码中清晰感觉到,不再赘述。至于说收敛的问题,这里也不讨论。如果有好的建议,请告诉我
简单优雅的生命游戏
PowerShell运行
'''
生命游戏的Python实现,采用原始的shell演示
Author:王平
Date:2019-5-7
'''
import os #引入os模块以备使用清屏操作
import random
import time #引入time模块以实现自动控制
def main():
'''
主程序,完成生命游戏类的实例化与启动
'''
game = LifeGame(40,90)
os.system("cls")
game.draw()
print("初始二维自动机就绪")
q = input("回车开始演化,退出按 q ")
if q == 'q':
exit()
for _ in range(100):
game.update()
game.draw()
time.sleep(0.4)
class LifeGame:
'''
生命游戏类,构建二维自动机并可完成任意次迭代
'''
def __init__(self,rows=20,cols=60):
self.rows = rows #其他方法属性需要,so有必要添加对象变量
self.cols = cols
self.board = []
for _ in range(rows):
line = []
for _ in range(cols):
if random.random()<0.2:#以20%的概率产生初始活细胞
line.append('#')
else:
line.append(' ')
self.board.append(line)
def draw(self):
os.sys