파티에서 나는 게임 LCR을 소개 받았다. 이제는 기술이없고 무작위 기회 만 있기 때문에 훌륭한 게임이 아닙니다. 그러나 나는 이것을 코딩 할 수 있었고 R을 게임을 모델링하기 위해 빠른 프로그램을 만들었습니다.
게임 방식에 맞게 Wikipedia에서 수정 된 게임 규칙 :
각 플레이어는 최소 3 개의 칩을받습니다. 플레이어는 차례로 6면 주사위 3 개를 굴립니다. 각 주사위에는 한쪽에 "L", "C", "R"이 표시되고 나머지 3 개의쪽에 하나의 점이 표시됩니다. 던져진 각각의 "L"또는 "R"에 대해, 플레이어는 각각 하나의 칩을 왼쪽 또는 오른쪽으로 플레이어에게 전달해야합니다. "C"는 칩이 중앙 (포트)에 있음을 나타냅니다. 점은 효과가 없습니다.
만약 플레이어가 남은 칩이 3 개 미만이면 여전히 게임에 있지만 칩의 수는 3 개를 모두 굴리는 것이 아니라 자신의 차례에 굴리는 주사위의 수입니다. 플레이어가 칩이없는 경우, 턴에 주사위를 통과하지만 다른 사람으로부터 칩을 받아 다음 턴을 할 수 있습니다. 승자는 칩을 중앙에 놓은 마지막 플레이어입니다.
컨테스트 : 선택한 언어로 플레이어 수와 시작 칩 수를 입력하고 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 : JonathanAllan
결과는 정확히 이와 같을 필요는 없지만 주사위 굴림, 각 플레이어의 칩 수 및 각 턴마다 센터의 칩 수를 쉽게 식별 할 수 있어야합니다.
코드 골프이므로 가장 짧은 코드가 승리합니다.
[[[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]].- 그렇 습니까?