ich habe mich an Conways 'Game of Life' versucht und ehrliche und grundliche Fehlersuche betrieben. Aber komme nicht mehr weiter, Es werden zellen geboren wo keine hingeboren werden sollen ...
hier der Code:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
Liste0 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] #Feld das angezeigt wird( 1=lebende Zelle, 0=tote Zelle)
Liste1 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Liste2 = [0,0,0,0,0,0,1,0,0,0,0,0,0,0,0]
Liste3 = [0,0,0,0,0,0,1,0,0,0,0,0,0,0,0]
Liste4 = [0,0,0,0,0,0,1,0,0,0,0,0,0,0,0]
Liste5 = [0,0,0,0,0,0,0,0,0,0,1,0,1,0,0]
Liste6 = [0,0,0,0,0,1,0,0,0,0,1,1,0,0,0]
Liste7 = [0,0,0,0,0,1,0,0,0,0,0,1,0,0,0]
Liste8 = [0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
Liste9 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Oberliste = [Liste0, Liste1, Liste2, Liste3, Liste4, Liste5, Liste6, Liste7, Liste8, Liste9]
HgListe0 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] #Feld das die nächste Generation vormerkt
HgListe1 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe2 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe3 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe4 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe5 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe6 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe7 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe8 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgListe9 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
HgOberListe = [HgListe0, HgListe1, HgListe2, HgListe3, HgListe4, HgListe5, HgListe6, HgListe7, HgListe8, HgListe9]
for a in range(0, 3): # Zahl der Generationen(hängt schon bei 3)
for i in range(0,10): #für jede Zeile
print Oberliste[i] #Feld ausgeben
for j in range(0,15):#für jede Spalte
s=Oberliste[(i-1)%10][(j-1)%15]+Oberliste[(i-1)%10][j]+Oberliste[(i-1)%10][(j+1)%15]+Oberliste[i][(j-1)%15]+Oberliste[i][(j+1)%15]+Oberliste[(i+1)%10][(j-1)%15]+Oberliste[(i+1)%10][j]+Oberliste[(i+1)%10][(j+1)%15] #Anzahl der belebten Nachbarzellen zählen
if Oberliste[i][j]==1: #Entscheiden ob Zelle überlebt
if s < 2: HgOberListe[i][j]=0
elif s > 3: HgOberListe[i][j]=0
else: HgOberListe[i][j]=1
if Oberliste[i][j]==0: #Entscheiden ob Zelle geboren wird
if s ==3: HgOberListe[i][j]=1
else: HgOberListe[i][j]=0
for g in range(0,10): Oberliste[g]=HgOberListe[g] #vorgemerkte Generation wird akruelle Generation
os.system ( "clear") Bildschirm löschen