我试图在python3中制作Conway的生活游戏,但是输出不符合游戏规则。这里需要一些代码方面的帮助。正如您在下面的代码中所看到的,程序将检查每个单元的所有八个邻居是否处于活动状态。关于生命游戏规则,需要在下一代删除的单元将存储在一个数组中,类似于需要在下一代添加的单元,每个单元都存储在自己的数组中,称为remcell[]
和addcell[]
from random import randint
from os import system
from time import sleep
table_x = 30
table_y = 7
board = []
for y in range(table_y):
boardx = []
for x in range(table_x):
if randint(0,2) == 0:
boardx.append(1)
else:
boardx.append(0)
board.append(boardx)
while True:
for y in range(table_y):
for x in range(table_x):
if board[y][x] == 1:
print("# ", end='')
else:
print(". ", end='')
print("\n")
remcell = []
addcell = []
for y in range(table_y):
for x in range(table_x):
val = 0
for yp in range(-1,2):
for xp in range(-1,2):
if (not yp+xp == 0) and x+xp < table_x-1 and y+yp < table_y-1:
val += board[y+yp][x+xp]
if val < 2 or val > 3: remcell.append([y,x])
if val == 3: addcell.append([y,x])
for i in (addcell): board[i[0]][i[1]] = 1
for h in (remcell): board[h[0]][h[1]] = 0
sleep(0.1)
system("cls")
目前没有回答
相关问题 更多 >
编程相关推荐