Python:简单的生命游戏实现,检查二维列表的“相邻”元素

问题描述

我正在使用 2D 列表在 Python 中由 Conway 创建一个简单的生命游戏,但我在尝试时遇到了问题:

  1. 检查活细胞周围的 3x3 区域
  2. 计算另一个“活细胞”在 3x3 区域中的次数

我创建的列表是这样的:

board = [
[".",".","O","."],[".","O"],"."]
]

凡是'.'是死细胞,“O”是活细胞。

我尝试使用一个函数来检测元素的 8 个相邻区域,如下所示:

def checkNeigbors():
    count = 0
    neighbors = [(0,1),(0,-1),(1,0),(-1,1)]

我认为邻居列表应该是每个元素的坐标,所以它会检测 x+(邻居值),y +(邻居值)

然而,在这一点上,我不知道如何做到这一点,以便对于每个 'O',它需要计算 3x3 区域中的所有其他 'O' 实例并将其添加到“计数”变量中.我是否必须创建一个 for 循环来尝试读取板中的每一行和每一列?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)