आज इस प्रश्न से प्रेरित होकर , मैं उन दिलचस्प तरीकों को देखना चाहूंगा, जो विभिन्न प्रोग्रामिंग भाषाएं एक सुन्नता को संभावनाओं में बदल सकती हैं। आमतौर पर, टाइल-आधारित गेम आपको किसी भी दिशा में स्थानांतरित करने के लिए एक संख्यात्मक उपयोग करने की अनुमति देगा, जहां आपका चरित्र वर्तमान में है। इन खेलों के लिए एआई बनाते समय, Math.random() * 8यह पर्याप्त नहीं है, इसलिए मुझे आंदोलन को देखने और कुछ स्वाभाविक महसूस करने के लिए थोड़ा रचनात्मक होना पड़ा।
एक numpad इस तरह के रूप में परिभाषित किया गया है:
7 | 8 | 9
- - - - -
4 | x | 6
- - - - -
1 | 2 | 3
कृपया ध्यान दें, 5 एक अमान्य संख्या है, क्योंकि आप अपने आप को स्थानांतरित नहीं कर सकते।
सभी उदाहरण इन संभावनाओं का उपयोग करेंगे: [50, 40, 30, 20, 10]
अगर मैं चारों ओर संभावनाएं उत्पन्न करना चाहता था 8, तो यह इस तरह दिखेगा:
40 | 50 | 40
-- | -- | --
30 | xx | 30
-- | -- | --
20 | 10 | 20
आउटपुट [20, 10, 20, 30, 30, 40, 50, 40](5 लोप के साथ) या [20, 10, 20, 30, null, 30, 40, 50, 40](5 वर्तमान के साथ) होगा
अगर मैं उन्हें चारों ओर उत्पन्न करना चाहता था 1, तो यह इस तरह दिखेगा:
30 | 20 | 10
-- | -- | --
40 | xx | 20
-- | -- | --
50 | 40 | 30
आउटपुट [50, 40, 30, 40, 20, 30, 20, 10](5 लोप के साथ) या [50, 40, 30, 40, null, 20, 30, 20, 10](5 वर्तमान के साथ) होगा
आप एक पूर्ण प्रोग्राम लिख सकते हैं जो किसी भी तरह से इनपुट लेता है (कमांड लाइन, स्टडिन) और आउटपुट प्रिंट करता है, या आप एक नंबर तर्क के साथ एक फ़ंक्शन लिख सकते हैं, जो आउटपुट प्रिंट या रिटर्न करता है। आपके प्रोग्राम या फ़ंक्शन को एक नंबर स्वीकार करना चाहिए - चारों ओर उत्पन्न करने की स्थिति। आपको इन संभावनाओं का उपयोग करना चाहिए: [50, 40, 30, 20, 10](उन्हें हार्डकोड करने की आवश्यकता नहीं है)।
बाइट्स में सबसे छोटा कोड जीतता है। मानक खामियों को अस्वीकार कर दिया जाता है। लिंक किए गए थ्रेड में पोस्ट किए गए उत्तर अस्वीकृत हैं। ट्रेलिंग या अग्रणी स्थानों की अनुमति है। आप 4अपनी पसंद के आधार पर स्थिति को अनुपस्थित या खाली मान सकते हैं। मैं आउटपुट फॉर्मेट पर बहुत ज्यादा पसंद नहीं कर रहा हूं - इसे कॉमा से अलग किए गए स्ट्रिंग्स के रूप में या एक ऐरे के रूप में प्रिंट करें।
(यह मेरा पहला सवाल है, मुझ पर आसान हो जाओ!)