Du oppdaterer rutenettet mens du regner

Handler om: Simulering

Du tror du kan endre cellene i rutenettet etter hvert som du går gjennom dem. Men når du teller naboer, bruker du da noen celler som allerede er oppdatert til neste generasjon og noen som fortsatt er gamle — og resultatet blir feil. Du må regne ut HELE neste generasjon i et nytt rutenett, og først bytte til det når alle cellene er ferdig beregnet.

Eksempel

I Game of Life endrer du celler[r][k] inni løkka som teller naboer. Da teller naboene til de neste cellene feil, fordi noen naboer allerede er endret til neste generasjon.

Slik tenker du riktig om det

Tenk på det som et fotografi: alle celler skal se på det SAMME gamle bildet når de bestemmer neste tilstand. Derfor leser du fra det gamle rutenettet og skriver til et nytt — og bytter bilde først når alle er ferdige.

naviger Enter åpne ShiftEnter ny fane Esc lukk
Velg tema
Skala