На вечеринке меня познакомили с игрой LCR. Теперь это не отличная игра, так как в ней нет навыков, а есть только случайный шанс. Но это заставило меня задуматься, я мог написать это, и я сделал быструю программу на R для моделирования игры.
Правила игры изменены из Википедии, чтобы соответствовать тому, как мы играли:
Каждый игрок получает как минимум 3 фишки. Игроки по очереди бросают три шестигранных кубика, каждый из которых помечен буквами «L», «C», «R» на одной стороне и одной точкой на трех оставшихся сторонах. Для каждого броска "L" или "R" игрок должен передать один чип игроку слева или справа соответственно. «C» обозначает фишку в центре (банк). Точка не имеет никакого эффекта.
Если у игрока осталось менее трех фишек, они все еще находятся в игре, но их количество фишек - это количество кубиков, которые они бросают в свой ход, а не бросают все три. Когда у игрока ноль фишек, они в этот ход пропускают кубики, но могут получать фишки от других и соответственно делать следующий ход. Победителем становится последний игрок, поставивший фишки в центр.
Соревнование: напишите программу на выбранном вами языке, которая принимает данные о количестве игроков и количестве стартовых фишек и имитирует игру LCR, показывая состояние игры после того, как каждый игрок бросил.
Например, игра может быть выведена как:
[[[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: Джонатан Аллан
Выходные данные не должны выглядеть точно так, но должно быть легко различить бросок костей, сколько фишек у каждого игрока и сколько фишек в центре за каждый ход.
Это код гольф, поэтому выигрывает самый короткий код.
[[[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]]
это?