Io userei un array per lo stato attuale, e uno per il nuovo stato.
A ogni passo, fai un ciclo per calcolare il nuovo stato a partire da quello attuale, e poi un ciclo per copiare il nuovo stato in quello attuale.
Le routine di visualizzazione, ovviamente, leggono lo stato attuale.
Devi essere un po' furbo nel riprodurre la topologia toroidale, ma non e' molto difficile.
|