Du teller cella selv med blant naboene
Handler om: Rutenett (2D-liste)
Når du går gjennom 3 × 3-ruta rundt en celle, er cella selv midt i ruta. Glemmer du å hoppe over den, teller en levende celle seg selv som nabo, og alle tallene blir én for høye for levende celler.
Eksempel
En levende celle med to levende naboer får telling 3 og overlever av feil grunn — eller dør når den skulle levd.
Slik tenker du riktig om det
Tegn 3 × 3-ruta og kryss ut midten før du teller: en nabo er en ANNEN celle. Test alltid én levende celle helt alene — den skal ha 0 naboer.
Slik ser det ut i kode
Slik gikk det galt
for dr in (-1, 0, 1):
for dk in (-1, 0, 1):
if celler[rad + dr][kol + dk]:
n += 1 Slik fikser du det
for dr in (-1, 0, 1):
for dk in (-1, 0, 1):
if dr == 0 and dk == 0:
continue
if celler[rad + dr][kol + dk]:
n += 1