随堂讨论1:
生命游戏开发的目的是模拟生命繁殖演化的基本过程,是英国数学家康威在1970年发明的细胞自动机。游戏的具体如下:
人口过少:当周围低于2个(不包含2个)存活细胞时, 本单元活细胞死亡
稳定:当周围有2个或3个存活细胞时, 本单元细胞保持原样
人口过剩:当周围有3个以上的存活细胞时,本单元活细胞死亡
繁殖:当周围有3个存活细胞时,本单元细胞存活/活化
关于生命游戏的编程主要分为四个模块,包括主模块,地图模块,时间模块和游戏模块:
①主模块:
用于控制整个程序的调运云停止,定义了运行函数,给出了其他模块所需的基本参数,例如地图行数,列数以及基本概率数
②地图模块
生成游戏地图,包括地图中细胞的数量,存活状态以及周边存活细胞数量的判断。该程序的实现首先定义了构造函数,初始化了地图的行和列并判断其是否是合法参数;然后通过set读取从外部输入的参数,并通get出这些参数;随后通过get_neighbor_count判断每一个细胞周围存活细胞的个数,其中边界细胞与另一边界相连;随后通过get_neighbor_count_map得到整个地图活细胞额的参数;最后打印地图。
③时间模块
设定时间函数,用于控制地图更新的时间
④游戏模块
设置游戏循环函数,通过循环不断的遍历整个地图,然后确定地图中每个位置细胞的存活状态
优点:
代码规范,结构合理,编写思路十分清晰
缺点:
地图的生成用list,可以使用方阵模块numpy
原文:https://www.cnblogs.com/lxh0303/p/12484353.html