带IU的生命游戏的python代码实现
时间: 2024-02-15 18:01:51 浏览: 134
python实现生命游戏的示例代码(Game of Life)
以下是带IU的生命游戏的 Python 代码实现:
```python
import random
import time
# 设置生命游戏的行数和列数
ROWS = 10
COLS = 10
# 设置生命游戏的初始状态,用 0 表示死亡,用 1 表示存活
INIT_STATE = [[random.randint(0, 1) for j in range(COLS)] for i in range(ROWS)]
# 定义生命游戏的演化规则
def evolve(state):
"""
根据生命游戏的演化规则,计算下一代的细胞状态
"""
new_state = [[0 for j in range(COLS)] for i in range(ROWS)]
for i in range(ROWS):
for j in range(COLS):
# 统计周围 8 个细胞的存活状态
neighbors = sum([state[(i+x)%ROWS][(j+y)%COLS] for x in [-1, 0, 1] for y in [-1, 0, 1] if (x!=0 or y!=0)])
# 根据规则更新细胞状态
if state[i][j] == 1 and neighbors in [2, 3]:
new_state[i][j] = 1
elif state[i][j] == 0 and neighbors == 3:
new_state[i][j] = 1
return new_state
# 打印生命游戏的状态
def print_state(state):
"""
打印生命游戏的状态,用字符 '*' 表示存活,用字符 '.' 表示死亡
"""
for i in range(ROWS):
for j in range(COLS):
if state[i][j] == 1:
print('*', end='')
else:
print('.', end='')
print()
print()
# 执行生命游戏
def run_life_game(initial_state):
"""
执行生命游戏
"""
state = initial_state
while True:
print_state(state)
state = evolve(state)
time.sleep(0.5)
# 运行生命游戏
run_life_game(INIT_STATE)
```
你可以运行这个代码,并观察生命游戏的演化过程。当然,你可以把 `INIT_STATE` 中的随机数替换成你喜欢的初始状态,比如带 IU 的初始状态。
阅读全文