A una festa, mi è stato presentato il gioco LCR. Ora non è un grande gioco in quanto non c'è abilità ma solo possibilità casuali. Ma mi ha fatto pensare, potrei codificarlo, e ho fatto un rapido programma in R per modellare il gioco.
Le regole del gioco sono state modificate da Wikipedia in base al modo in cui abbiamo giocato:
Ogni giocatore riceve almeno 3 gettoni. I giocatori lo prendono a turno per lanciare tre dadi a sei facce, ognuno dei quali è contrassegnato da "L", "C", "R" su un lato e un singolo punto sui tre lati rimanenti. Per ogni "L" o "R" lanciata, il giocatore deve passare una fiche al giocatore alla sua sinistra o destra, rispettivamente. Una "C" indica un chip al centro (piatto). Un punto non ha alcun effetto.
Se un giocatore ha meno di tre fiches rimaste, è ancora in gioco ma il suo numero di fiches è il numero di dadi che lancia nel suo turno, piuttosto che tirare tutte e tre. Quando un giocatore ha zero gettoni, passa i dadi nel proprio turno, ma può ricevere gettoni dagli altri e fare il turno successivo di conseguenza. Il vincitore è l'ultimo giocatore a mettere le fiche al centro.
Contest: scrivi un programma nella tua lingua preferita che prende input per il numero di giocatori e il numero di gettoni iniziali e simula una partita di LCR, mostrando lo stato della partita dopo che ogni giocatore ha lanciato.
Ad esempio, un gioco potrebbe essere prodotto come:
[[[3,3,3,3],0],[[1,4,3,4],0],[[1,4,3,4],0],[[1,4,1,4],2],[[1,4,1,2],4],
[[0,4,1,3],4],[[0,3,2,3],4],[[0,3,0,3],6],[[0,3,1,1],7],[[0,3,1,1],7],
[[2,0,1,1],8],[[2,0,0,1],9],[[2,0,0,0],10],[[0,1,0,0],11],
[[1,0,0,0],11],[[1,0,0,0],11],[[1,0,0,0],11],[[0,0,0,0],12]]
ht: Jonathan Allan
L'output non deve assomigliare esattamente a questo, ma dovrebbe essere facile discernere il tiro di dadi, quante gettoni ha ciascun giocatore e quante gettoni ha il centro per ogni turno.
È il golf del codice, quindi vince il codice più corto.
[[[3,3,3,3],0],[[1,4,3,4],0],[[1,4,3,4],0],[[1,4,1,4],2],[[1,4,1,2],4],[[0,4,1,3],4],[[0,3,2,3],4],[[0,3,0,3],6],[[0,3,1,1],7],[[0,3,1,1],7],[[2,0,1,1],8],[[2,0,0,1],9],[[2,0,0,0],10],[[0,1,0,0],11],[[1,0,0,0],11],[[1,0,0,0],11],[[1,0,0,0],11],[[0,0,0,0],12]]
- è così?