Craps เป็นเกมลูกเต๋าที่เล่นง่ายในคาสิโน แม้ว่าคุณจะไม่ได้เป็นนักพนัน (ซึ่งฉันไม่ใช่) ก็ยังเป็นเกมที่น่าสนใจพอสมควร นี่คือกฎ:
ในช่วงเริ่มเกม Craps มีสิ่งที่เรียกว่ารอบออกมา ผู้เล่นหมุนสอง d6s (หกเหลี่ยม) และเพิ่มสองม้วน หากผลเป็น 7 หรือ 11 คนที่ชนะอัตโนมัติ (ซึ่งเป็นที่รู้จักกันเป็นธรรมชาติ ) หากผลเป็น 2, 3 หรือ 12 คนที่สูญเสียอัตโนมัติ (ซึ่งเป็นที่รู้จักกันcrapping ออก ) มิฉะนั้นผลลัพธ์จะถูกตั้งค่าเป็นจุดสำหรับรอบจุด
หลังจากนี้รอบจุดเริ่มต้น ในช่วงรอบคะแนนผู้เล่นจะต้องหมุนอย่างต่อเนื่อง 2 d6s จนกว่าผู้เล่นจะได้คะแนน 7 หรือจุดจากรอบก่อนหน้า หากบุคคลนั้นหมุนได้ 7 พวกเขาแพ้ หากพวกเขากลิ้งจุดของพวกเขาพวกเขาชนะ
ท้าทาย
ใช้โปรแกรมอย่างง่ายที่จำลองเกมการเล่นลูกเต๋าชนิดหนึ่ง หากบุคคลนั้นกลิ้งสิ่งที่เป็นธรรมชาติหรืออึออกมาในระหว่างรอบที่จะออกมาโปรแกรมควรจะส่งออก "Natural:" หรือ "Crapping out:" ตามด้วย die-roll และจากนั้นออก มิฉะนั้นควรส่งออก "Point:" ตามด้วยจุด จากนั้นในระหว่างรอบจุดมันควรจะส่งออกทุกม้วนตายจนกว่าจะถึง 7 หรือจุดที่จะถึง ถ้าคนที่ชนะก็ควรเอาท์พุท"Pass"
; "Don't Pass"
ถ้าพวกเขาสูญเสียมันควรเอาท์พุท
การดำเนินการอ้างอิง
Groovy ขนาด 277 ไบต์
def a={return Math.random()*6+1};int b=a()+a();(b<4||b==12)?{println"Crapping out: "+b}():{(b==7||b==11)?{println"Natural: "+b}():{println"Point: "+b;for(;;){int x=a()+a();println x;(x==7)?{println"Don't Pass";System.exit(0)}():{if(x==b){println"Pass";System.exit(0)}}()}}()}()
ตัวอย่างผลลัพธ์
Natural: 7
Crapping out: 3
Point: 9
4
8
11
9
Pass
และ
Point: 5
3
7
Don't Pass
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ
(การปฏิเสธความรับผิด: ความท้าทายนี้ไม่ได้มีวัตถุประสงค์เพื่อส่งเสริมการพนันในทางใด ๆ โปรดจำไว้ว่าบ้านชนะเสมอ)
You can't make your program shorter by picking a random number between 1 and 12 for the die roll; it must be two numbers picked between 1 and 6.
- แล้วการเลือกค่าสุ่มใน [1, 12] จากการแจกแจงที่เหมือนกับการเพิ่มค่าสุ่มสองชุดใน [1, 6]