एक खेल है जो मुझे खेलना पसंद है। यह परिमित आकार के ग्रिड पर होता है (लेकिन इसे एक गोले की तरह लपेटा जाता है)। उस ग्रिड पर, एक यादृच्छिक (पूर्णांक-केवल) बिंदु चुना जाता है। फिर, मैं, उपयोगकर्ता, एक समन्वित इनपुट के लिए प्रेरित हूं। यदि मेरा इनपुट यादृच्छिक बिंदु से बिल्कुल मेल खाता है, तो मुझे बताया गया है कि मैं जीत गया हूं। अन्यथा, मुझे अपने इनपुट और यादृच्छिक बिंदु के बीच बिंदुवार दूरी बताई जाती है। उदाहरण के लिए, अगर मैंने अनुमान लगाया (2,2)और यादृच्छिक बिंदु पर था (4,3), तो दूरी होगी sqrt[(3-2)^2 + (4-2)^2] = sqrt[5]।
खिलाड़ी के सही स्थान पर पहुंचने तक खेल जारी रहता है।
उद्देश्य ऊपर वर्णित खेल का एक कार्यात्मक संस्करण बनाएँ। ऐसा करने के लिए आपको एक पूर्ण कार्यक्रम बनाना होगा। यहां बताया गया है कि आपका कार्यक्रम क्या करना चाहिए:
- दो इनपुट का अनुरोध करें: बोर्ड की ऊंचाई और चौड़ाई। मूल बोर्ड के शीर्ष-बाईं ओर है। ये इनपुट अधिक नहीं होंगे
1024। - उस बोर्ड पर एक यादृच्छिक बिंदु का चयन करें; यह अनुमान लगाया जाने वाला बिंदु होगा।
- एक मोड़ अनुकरण इनपुट स्वीकार करें। इनपुट या तो अंतरिक्ष-पृथक जोड़ी पूर्णांक या दो अलग पूर्णांक इनपुट होंगे। इस इनपुट के जवाब में, कार्यक्रम दो चीजों में से एक करेगा:
- यदि इनपुट चयनित यादृच्छिक बिंदु से मेल खाता है, तो उपयोगकर्ता की जीत का संकेत देने वाला संदेश आउटपुट करता है। मेरा सुझाव है कि "आप जीत गए!"।
- अन्यथा, उपयोगकर्ता के इनपुट बिंदु और यादृच्छिक बिंदु के बीच की दूरी को आउटपुट करें।
- उपयोगकर्ता द्वारा जीत हासिल करने के बाद, उपयोगकर्ता ने जितने भी मोड़ लिए, उन्हें प्रदर्शित करें। फिर कार्यक्रम से बाहर निकल गया।
बोनस
बोनस इस क्रम में लागू होते हैं कि वे इस सूची में दिखाई देते हैं
- -150 बाइट्स यदि आपका प्रोग्राम एक इनपुट पूर्णांक लेता है जो
Dउस आयाम का वर्णन करता है जिसमें खेल होता है। जैसे, यदिD = 3, तो आप3पूर्णांक का एक यादृच्छिक बिंदु बनाते हैं,3पूर्णांक इनपुट लेते हैं, और उन बिंदुओं के बीच की दूरी को आउटपुट करते हैं। - -50% (या + 50% यदि
score < 0) यदि आप बोर्ड (ASCII या चित्र) का एक ग्राफिकल प्रतिनिधित्व प्रदान करते हैं जो दिखाता है कि उपयोगकर्ता ने पहले दिए गए आयामों की ग्रिड और टर्न काउंटर पर अनुमान लगाया है। (यदि आप पहले बोनस के लिए जाते हैं, तो यह बोनस केवल2Dऔर1Dमोड पर लागू होता है । यदि आप एक 3 डी ग्राफिकल आउटपुट जोड़ते हैं, तो आपको अतिरिक्त -50% मिलता है।) - -60 बाइट्स यदि आप एक गेममोड प्रदान कर सकते हैं (शुरुआत में एक इनपुट द्वारा चयनित;
0अर्थात्, जब दिया जाता है1, तो नियमित गेममोड निष्पादित करें; जब दिया जाता है , तो इस गेम को निष्पादित करें) जिसमें बिंदु 1 इकाई को एक यादृच्छिक कक्ष दिशा में घुमाता है।
लपेटने पर अधिक
रैपिंग केवल तब होती है, जब तीसरे बोनस में, चलती बिंदु किसी भी सीमा के पार जाती है; इस स्थिति में, चलती बिंदु को संबंधित बिंदु पर भेज दिया जाता है, जैसे:
... ...
..R (move right) R..
... ...
यह रैपिंग व्यवहार उपयोगकर्ता के अनुमान को प्रभावित नहीं करता है, इस तथ्य से तय करता है कि बिंदु ने दिशा बदल दी है।
लीडरबोर्ड
इस पोस्ट के निचले हिस्से में स्टैक स्निपेट उत्तर से सूची बनाता है) क) प्रति भाषा में सबसे छोटे समाधान की सूची के रूप में और बी) एक समग्र लीडरबोर्ड के रूप में।
यह सुनिश्चित करने के लिए कि आपका उत्तर दिखाई दे रहा है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:
# Language Name, N bytes
Nआपके प्रस्तुत करने का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:
# Ruby, <s>104</s> <s>101</s> 96 bytes
यदि आप अपने हेडर में कई संख्याओं को शामिल करना चाहते हैं (जैसे कि आपका स्कोर दो फ़ाइलों का योग है या आप दुभाषिया ध्वज दंड को अलग से सूचीबद्ध करना चाहते हैं), तो सुनिश्चित करें कि हेडर में वास्तविक स्कोर अंतिम संख्या है:
# Perl, 43 + 2 (-p flag) = 45 bytes
आप भाषा के नाम को एक लिंक भी बना सकते हैं जो स्निपेट में दिखाई देगा:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
10x10, तो यादृच्छिक बिंदु है (9,4), और मुझे लगता (2,2)है, दूरी है sqrt(13)या sqrt(53)? (भविष्य के लिए ध्यान दें: यदि आप कुछ अजीब कर रहे हैं, तो यादृच्छिकता को शामिल न करें क्योंकि यह परीक्षण मामलों की आपूर्ति करना लगभग असंभव बना देता है)। 2. तीसरे बोनस में, पॉइंट चाल के पहले या बाद में दूरी की गणना और आउटपुट होना चाहिए?