मुझे कार्ड गेम की चुनौतियाँ पसंद हैं इसलिए मैंने इसे इटैलियन कार्ड गेम स्कोपा के लिए बनाया। मेरा परिवार पुराने समय से इस खेल को खेल रहा है। इसमें एक बहुत ही दिलचस्प स्कोरिंग सिस्टम है जो गोल्फ के लिए मज़ेदार होना चाहिए। मैं मस्ती शुरू करने के लिए आर में एक उत्तर पोस्ट करूंगा, मुझे यकीन है कि लोग सुधार करेंगे।
चुनौती: स्कोपा के एक दौर में बनाए गए अंकों की संख्या का पता लगाना, कार्ड को राउंड के दौरान कैप्चर किए गए खिलाड़ी को इनपुट के रूप में दिया गया।
एक स्कोपा डेक में 40 कार्ड हैं। यदि आप एक अंतरराष्ट्रीय डेक का उपयोग कर रहे हैं, तो आप प्रत्येक सूट में ए, 2,3,4,5,6,7, क्यू, जे, के को छोड़कर 8, 9 और 10 एस हटाते हैं। 1 दो खिलाड़ी या साझेदारियां होती हैं और हर दौर के बाद सभी कार्ड एक या दो खिलाड़ियों के कब्जे में होते हैं। स्कोर इस प्रकार गिना जाता है (अधिक जानकारी यहाँ ):
- सबसे कार्ड 1 अंक के साथ खिलाड़ी ।
- सबसे हीरे (या सिक्के के साथ खिलाड़ी अगर इतालवी डेक का उपयोग करके) स्कोर 1 अंक।
- 7 हीरे (या सिक्के) के साथ खिलाड़ी , सेटेलो या सुंदर सात के रूप में जाना जाता है , स्कोर 1 अंक।
- सर्वोच्च प्राइमेरा स्कोर 1 अंक के साथ खिलाड़ी । किसी खिलाड़ी का प्राइमेरा स्कोर उच्चतम मूल्य वाले कार्ड के अंकों का योग होता है जिसे खिलाड़ी प्रत्येक सूट में कैप्चर करता है (नीचे तालिका देखें)। यदि आपके पास प्रत्येक सूट में कम से कम एक कार्ड नहीं है, तो आप डिफ़ॉल्ट रूप से हार जाते हैं, भले ही आपका स्कोर आपके प्रतिद्वंद्वी के स्कोर से अधिक हो। इस दुर्लभ मामले में कि न तो खिलाड़ी के पास हर सूट में कम से कम एक कार्ड होता है, उच्च प्राइमेरा कुल वाले खिलाड़ी का स्कोर होता है। 2
प्राइमेरा स्कोर की तालिका
| Rank | Value |
| ----- | ----- |
| 7 | 21 |
| 6 | 18 |
| A | 16 |
| 5 | 15 |
| 4 | 14 |
| 3 | 13 |
| 2 | 12 |
| Q,J,K | 10 |
इसलिए एक खिलाड़ी एक दौर में अधिकतम 4 अंक हासिल कर सकता है। 3 यदि कोई टाई है, जो कार्ड, हीरे, या प्राइमरी के लिए संभव है , तो कोई भी स्कोर नहीं करता है।
यह महसूस करना महत्वपूर्ण है कि चूंकि प्रत्येक कार्ड को दो खिलाड़ियों में से एक द्वारा कब्जा किया जाना चाहिए, इसलिए आप यह पता लगा सकते हैं कि दूसरे खिलाड़ी ने कौन से कार्ड लिए होंगे, भले ही आपको पता हो कि एक खिलाड़ी ने कौन से कार्ड लिए थे। प्राइमेरा को सही ढंग से स्कोर करने के लिए आपको यह करने की आवश्यकता होगी ।
चुनौती के नियम
इनपुट
आपके कोड को स्कोपा के एक दौर के दौरान एकल खिलाड़ी द्वारा पकड़े गए कार्ड के इनपुट के रूप में लेना चाहिए।
इनपुट स्ट्रिंग प्रारूप में होना चाहिए, जिसमें एक वर्ण प्रत्येक कार्ड की रैंक और एक वर्ण उसके सूट का प्रतिनिधित्व करता है। यहसीधे इनपुट के रूप में प्राइमेरा स्कोरपास करने के संभावित खामियों को दूरकरता है। कार्यक्रम में कार्ड रैंकों को प्राइमेरा स्कोर में बदलना चाहिए। हालाँकि आप रिक्त स्थान या अल्पविराम, स्ट्रिंग की एक सरणी या किसी अन्य प्रारूप द्वारा अलग किए गए एकल स्ट्रिंग का उपयोग करना चुन सकते हैं। उदाहरण के लिए यदि आप रैंकों को सांकेतिक शब्दों में बदलना76A5432QJK
और सूटDCHS
करना चाहते हैं जैसे कि आप इनपुट का उपयोग कर सकते हैं जैसे कि['7D', '6H', 'QD', 'JS']
या'7D,6H,QD,JS'
।
उत्पादन
खिलाड़ी के स्कोर का प्रतिनिधित्व करते हुए 0 से 4 तक का पूर्णांक।
जीतना
बाइट्स जीत में सबसे छोटा जवाब!
परीक्षण के मामलों
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "7C", "6C", "4C", "3C", "2C", "7H", "4H", "2H", "5S", "3S", "QS", "JS", "KS"]
स्कोर 4 : 1 पॉइंट> 20 कार्ड, 1 पॉइंट फॉर> 5 डायमंड्स, 7 पॉइंट ऑफ़ डायमंड्स, और 1 पॉइंट फ़ॉर प्राइमेरा 78 (7,7,7,5 जहाँ विरोधी में 7,6,5 है, आदि। 64 के लिए के)
["3D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "QC", "4H", "7S"]
स्कोर 0 : <= 20 कार्ड, <= 5 हीरे, हीरे का कोई 7 नहीं, और केवल प्राइमेरा में 69 (7,7,4,3 जहां प्रतिद्वंद्वी में 7,7,6, 70 के लिए K है)
[7D", "6D", "AD", "5D", "4D", "3D", "2D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "7H", "6H", "AH", "5H", "4H", "3H", "2H"]
स्कोर 3 : 1 पॉइंट> 20 कार्ड, 1 पॉइंट फॉर> 5 डायमंड्स, 1 पॉइंट ऑफ़ 7 डायमंड्स। Primiera 63 (7,7,7) होगा और प्रतिद्वंद्वी केवल स्कोर कर सकते हैं 51 (7, क्यू, क्यू, क्यू), लेकिन यह डिफ़ॉल्ट रूप से बिंदु खो देता है के बाद से इस हाथ कोई हुकुम है।
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH", "QS"]
स्कोर 3 : <= 20 कार्ड, 1 अंक के लिए> 5 हीरे, हीरे के 7 के लिए 1 अंक। Primiera केवल स्कोर 51 (7, क्यू, क्यू, क्यू) और प्रतिद्वंद्वी स्कोर कर सकते हैं 63 (7,7,7), लेकिन यह हाथ जीतता है के बाद से प्रतिद्वंद्वी के हाथ कोई हीरे है primiera डिफ़ॉल्ट रूप से बिंदु।
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "7C", "7H"]
स्कोर 3 : <= 20 कार्ड, 1 अंक के लिए> 5 हीरे, हीरे के 7 के लिए 1 अंक। भले ही इस हाथ में कोई हुकुम न हो, फिर भी यह प्राइमेरा को 63 से 57 (7,7,7 बनाम 7,6,6) के स्कोर से जीतता है क्योंकि प्रतिद्वंद्वी के हाथ में कोई हीरा नहीं है।
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH"]
स्कोर 2 : <= 20 कार्ड, 1 अंक> 5 हीरे के लिए, 1 बिंदु 7 हीरे के लिए। इस हाथ में कोई हुकुम नहीं है, और प्रतिद्वंद्वी के हाथ में कोई हीरा नहीं है। प्रतिद्वंद्वी जीतता primiera 41 63 के स्कोर से (बनाम 7,7,7 7, क्यू, क्यू)।
[]
(खाली सरणी)
स्कोर 0
1: कम से कम हमारे परिवार में, जैक स्कोपा में रानी का अपमान करता है, लेकिन यह स्कोरिंग उद्देश्यों के लिए अप्रासंगिक है।
2: मैं बचपन से इस खेल को खेल रहा हूँ और ऐसा कभी नहीं देखा है, लेकिन आपका कोड उस मामले को संभालने में बेहतर था!
3: राउंड के दौरान बनाए गए "स्वीप्स" के लिए बोनस अंक हैं जिन्हें मैं इस चुनौती के उद्देश्य के लिए अनदेखा कर रहा हूं।