1 0 0 1 1 0 0 1 1 0
0 1 1 0 1 0 0 1 0 1
1 0 0 1 1 1 1 1 0 0
0 1 0 0 1 1 1 1 1 1
0 0 1 1 1 1 0 0 1 1
0 0 1 0 1 1 1 1 0 1
1 0 0 0 0 0 1 1 0 1
0 0 0 1 1 1 1 0 1 1
1 0 1 1 1 1 0 1 1 0
1 1 1 0 0 1 0 1 1 0
0 0 1 0 1 0 0 1 0 1
0 0 0 1 0 0 1 1 1 0
0 0 1 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 1
1 1 0 0 0 0 0 1 0 0
1 0 1 1 0 0 0 1 1 0
0 0 1 0 1 0 0 0 0 1
1 0 1 0 0 1 0 0 0 1
0 1 1 1 0 0 0 0 1 1
1 0 1 1 1 0 1 1 0 1
De vette cel zou in de volgende generatie levend moeten worden om dat het 3 levende buren heeft. Dit blijkt mis te lopen. Alhoewel ik denk dat op dat gebied mijn code klopt is er dus toch een fout in geslopen, ziet iemand deze. (Nog even de regels van het spel voor diegen die het niet kennen
Verborgen inhoud
)Taal:python
Code: Selecteer alles
class cell:
def __init__(self,now=True,next=False):
self.now=now
self.next=next
class life:
def __init__(self,w,h):
self.board=[[cell(randBool()) for i in range(w)] for j in range(h)]
def nextgeneration(self):
for row in range(len(self.board)):
for col in range(len(self.board[row])):
n=0
for i in [-1,1,0]:
for j in [-1,1,0]:
if not (i==0 and j==0):
try:
if self.board[row+i][col+i].now==True:
n+=1
except IndexError:
pass
if self.board[row][col].now==True:
if n<2 or n>3:
self.board[row][col].next=False
else:
self.board[row][col].next=True
else:
if n==3:
self.board[row][col].next=True
else:
self.board[row][col].next=False
for row in range(len(self.board)):
for col in range(len(self.board[row])):
self.board[row][col].now=self.board[row][col].next
def printboard(self):
for row in range(len(self.board)):
for col in range(len(self.board[row])):
if self.board[row][col].now==True:
print "1",
else:
print "0",
print