Ich habe mich vor längerem schon mal mit dem Game of Life beschäftigt, allerdings wurde mir geraten OOP zu vertiefen, was ich versucht hab. Nun hatte ich aber vorhin zeit und beschloss mich nochmals darin zu versuchen. allerdings bekomme ich immer die falschen Ergebnisse z.B. dass die Zelle 8 lebendige nachbarn hat obwohl sie am rand ist und alles was nicht inder liste unthalten ist gillt als tot.
ich selbst verstehe nicht was falsch ist, ichwäre euch sehr dankbar wenn ihr meinen fehlen finden würdet.
Code: Alles auswählen
from tkinter import *
class Main(object):
world_len = 3
world = []
new_world = []
# generate empty world
for x in range(0, world_len):
world.append([])
for y in range(0, world_len):
world[x].append("1")
# generate empty new world(new generation)
for x in range(0, world_len):
new_world.append([])
for y in range(0, world_len):
new_world[x].append("0")
print(world)
def __init__(self):
pass
def set_life(self, x, y):
self.world[x][y] = 1
def calc_new_gen(self):
# each Cell
for x in range(0, self.world_len):
for y in range(0, self.world_len):
print("---- Cell", x, y, "---")
neigh = 0
for new_x in[x-1, x, x+1]:
for new_y in[y-1, y, y-1]:
try:
if x == new_x and y == new_y:
print("cell center detected")
break
elif self.world[new_x][new_y] == "1":
neigh += 1
self.new_world[x][y] = "1"
print("Neigbour detcted @",new_x, new_y)
except IndexError:
print("Rim detected @", new_x, new_y)
print("NEIGH >>", neigh)
M = Main()
M.calc_new_gen()