ในงานปาร์ตี้ฉันได้รู้จักกับเกม LCR ตอนนี้มันไม่ใช่เกมที่ยอดเยี่ยมเพราะไม่มีทักษะ แต่มีโอกาสสุ่มเท่านั้น แต่มันทำให้ฉันคิดว่าฉันสามารถรหัสนี้และฉันทำโปรแกรมอย่างรวดเร็วใน R เพื่อจำลองเกม
กฎของเกมได้รับการแก้ไขจาก Wikipedia เพื่อให้ตรงกับวิธีที่เราเล่น:
ผู้เล่นแต่ละคนจะได้รับชิปอย่างน้อย 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: 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]]- เป็นอย่างนั้นหรือ