En una fiesta, me presentaron el juego LCR. Ahora no es un gran juego ya que no hay habilidad sino solo una oportunidad aleatoria. Pero me hizo pensar que podía codificar esto e hice un programa rápido en R para modelar el juego.
Reglas del juego modificadas de Wikipedia para coincidir con la forma en que jugamos:
Cada jugador recibe al menos 3 fichas. Los jugadores se turnan para lanzar tres dados de seis lados, cada uno de los cuales está marcado con "L", "C", "R" en un lado y un solo punto en los tres lados restantes. Por cada "L" o "R" lanzado, el jugador debe pasar una ficha al jugador a su izquierda o derecha, respectivamente. Una "C" indica una ficha al centro (bote). Un punto no tiene efecto.
Si a un jugador le quedan menos de tres fichas, todavía están en el juego, pero su número de fichas es el número de dados que tira en su turno, en lugar de tirar los tres. Cuando un jugador tiene cero fichas, pasa los dados en su turno, pero puede recibir fichas de otros y tomar su siguiente turno en consecuencia. El ganador es el último jugador en poner fichas en el centro.
Concurso: escriba un programa en el idioma de su elección que tome datos para el número de jugadores y el número de fichas iniciales y simule un juego de LCR, que muestre el estado del juego después de que cada jugador haya rodado.
Por ejemplo, un juego puede salir como:
[[[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: JonathanAllan
La salida no tiene que verse exactamente así, pero debería ser fácil discernir el lanzamiento de dados, cuántas fichas tiene cada jugador y cuántas fichas tiene el centro para cada turno.
Es el código de golf, por lo que gana el código más 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]]
¿es ese el caso?