FP e stato del gioco da tavolo

2

Volevo implementare il gioco del Tic Tac Toe usando un linguaggio funzionale (nel mio caso, Scala) ma non sono sicuro di come gestire lo stato del gioco da tavolo dopo che ciascun giocatore ha effettuato la propria mossa.

Comprendo che FP evita di mutare lo stato globale, ma come funziona nel caso di un gioco da tavolo?

    
posta jcm 02.03.2015 - 13:34
fonte

1 risposta

3

State + move = new state

Sia il vecchio stato che il nuovo stato sono immutabili. Sposta non muta lo stato della scheda, ma crea una copia del vecchio stato con lo spostamento aggiunto.

Immagina un'implementazione inefficiente in cui lo stato della scheda è solo una lista collegata di mosse prese e ogni nuova mossa aggiunge semplicemente un'altra testa alla lista collegata. Ad esempio, se tengo un riferimento a una testa specifica di una lista collegata di 5 mosse (che rappresenta lo stato della scacchiera), l'aggiunta di più mosse non cambia nulla per quanto riguarda quel valore, continua a puntare su una lista di 5 mosse pari se l'intera lista ora ha 9 mosse. Immutabilità.

    
risposta data 02.03.2015 - 13:41
fonte

Leggi altre domande sui tag