生命游戏的python代码实现
时间: 2023-07-23 12:11:43 浏览: 92
生命游戏源码Python代码实现
好的,以下是一个简单的生命游戏的 Python 代码实现:
```python
import random
import time
# 定义游戏区域大小
width = 40
height = 20
# 定义初始细胞数量
initial_population = int((width * height) * 0.25)
# 创建空的游戏区域
grid = []
for i in range(height):
row = []
for j in range(width):
row.append(False)
grid.append(row)
# 随机生成初始的细胞位置
for i in range(initial_population):
x = random.randint(0, width - 1)
y = random.randint(0, height - 1)
grid[y][x] = True
# 定义细胞的生存规则
def get_new_state(x, y):
neighbors = 0
for i in range(-1, 2):
for j in range(-1, 2):
if i == 0 and j == 0:
continue
elif x + i < 0 or x + i >= width or y + j < 0 or y + j >= height:
continue
elif grid[y + j][x + i]:
neighbors += 1
if grid[y][x] and neighbors in [2, 3]:
return True
elif not grid[y][x] and neighbors == 3:
return True
else:
return False
# 渲染游戏区域
def render():
for i in range(height):
for j in range(width):
if grid[i][j]:
print('*', end='')
else:
print(' ', end='')
print()
# 循环更新细胞状态并渲染游戏区域
while True:
render()
new_grid = []
for i in range(height):
row = []
for j in range(width):
row.append(get_new_state(j, i))
new_grid.append(row)
grid = new_grid
time.sleep(0.1)
```
这个代码实现了一个简单的生命游戏,随机生成了初始的细胞位置,并根据细胞的生存规则来更新细胞状态,并在控制台上渲染游戏区域。你可以自己尝试运行一下看看效果。
阅读全文