क्रेप्स एक बहुत ही सरल पासा खेल है जो अक्सर केसिनो में खेला जाता है। भले ही आप एक जुआरी नहीं हैं (जो मैं नहीं हूं), यह अभी भी एक काफी दिलचस्प खेल है। यहाँ नियम हैं:
क्रेप्स के एक खेल की शुरुआत में वहाँ है जिसे आऊट -आउट दौर कहा जाता है । खिलाड़ी दो d6s (छह-पक्षीय मर) को रोल करता है और दो डाई रोल जोड़े जाते हैं। यदि परिणाम 7 या 11 है, तो व्यक्ति स्वचालित रूप से जीतता है (यह एक प्राकृतिक के रूप में जाना जाता है )। यदि परिणाम 2, 3 या 12 है, तो व्यक्ति स्वचालित रूप से खो देता है (इसे क्रैपिंग आउट के रूप में जाना जाता है )। अन्यथा, परिणाम बिंदु के रूप में सेट किया गया है बिंदु दौर के लिए ।
इसके बाद, बिंदु दौर शुरू होता है। पॉइंट राउंड के दौरान, खिलाड़ी को लगातार 2 d6 रोल करना चाहिए, जब तक कि व्यक्ति पिछले राउंड से 7 या उसके पॉइंट को रोल न कर दे। यदि व्यक्ति 7 रोल करता है, तो वे हार जाते हैं। अगर वे अपनी बात पर अमल करते हैं, तो वे जीत जाते हैं।
चुनौती
एक साधारण कार्यक्रम को लागू करें जो क्रेप्स के खेल को अनुकरण करता है। यदि व्यक्ति आने वाले दौर के दौरान एक प्राकृतिक या बकवास-बाहर रोल करता है, तो प्रोग्राम को "प्राकृतिक:" या "क्रैपिंग आउट:" का उत्पादन करना चाहिए और उसके बाद डाई-रोल से बाहर निकलें। अन्यथा, इसे "बिंदु:" बिंदु के बाद आउटपुट करना चाहिए। फिर, बिंदु दौर के दौरान, इसे 7 या बिंदु तक पहुंचने तक हर डाई-रोल का उत्पादन करना चाहिए। यदि व्यक्ति जीतता है, तो इसे आउटपुट करना चाहिए "Pass"
; अगर वे इसे खो देते हैं तो इसका उत्पादन होना चाहिए "Don't Pass"
।
संदर्भ कार्यान्वयन
ग्रूवी, 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, 6] में दो समान यादृच्छिक मूल्यों को जोड़ने के लिए समान वितरण से [1, 12] में यादृच्छिक मूल्य चुनने के बारे में क्या?