Botbright: एक प्रोग्रामिंग गेम।

🇬🇧 English · 🇪🇸 Español · 🇫🇷 Français · 🇩🇪 Deutsch · 🇮🇹 Italiano · 🇵🇹 Português · 🇷🇺 Русский · 🇨🇳 中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇮🇳 हिन्दी · 🇧🇩 বাংলা · 🇻🇳 Tiếng Việt · 🇸🇦 العربية · 🇹🇭 ไทย · 🇳🇴 Norsk · 🇳🇱 Nederlands · 🇸🇪 Svenska · 🇹🇷 Türkçe · 🇰🇪 Kiswahili · 🇮🇩 Bahasa Indonesia · 🇵🇱 Polski · 🇬🇷 Ελληνικά · 🇮🇱 עברית · 🇵🇭 Filipino · 🇨🇿 Čeština · 🇩🇰 Dansk · 🇫🇮 Suomi · 🇷🇴 Română · 🇭🇺 Magyar · 🇭🇷 Hrvatski


Botbright, Flash पहेली खेल Lightbot का एकल-फ़ाइल JavaScript क्लोन है। एक आइसोमेट्रिक रोबोट को प्रोग्राम करें ताकि वह 3D टाइलों की ग्रिड पर चले और नीली लक्ष्य टाइलें रोशन करे। निर्देश टाइलों को रोबोट की मेमोरी में खींचें, चलाएं दबाएं, और अपने प्रोग्राम को चलते देखें।

पूरा खेल एक HTML फ़ाइल (botbright.html) है जिसमें CSS और JavaScript इनलाइन हैं — कोई बिल्ड नहीं, कोई बाहरी निर्भरता नहीं, कोई नेटवर्क कॉल नहीं। फ़ाइल को किसी भी आधुनिक ब्राउज़र में खोलें और खेलें। हार्ड ड्राइव पर सेव करें और यह हमेशा ऑफ़लाइन काम करता रहेगा।

आप कलर थीम भी बदल सकते हैं और रोबोट को अलग-अलग टोपियाँ पहना सकते हैं। एक बिल्ट-इन लेवल एडिटर है, और लेवल व टोपियाँ JSON फॉर्मेट में आयात/निर्यात की जा सकती हैं।

खेलें

बस botbright.html फ़ाइल पर डबल-क्लिक करें या उसे ब्राउज़र में खोलें। खेल ऑफ़लाइन काम करता है।

लाइव संस्करण: https://inventwithpython.com/botbright/

यह कैसे काम करता है

रोबोट के पास तीन मेमोरी क्षेत्र हैं:

  • मुख्य मेमोरी — 12 निर्देश स्लॉट, चलाएं दबाने पर चलती है
  • F1 मेमोरी — 8 निर्देश स्लॉट, एक कॉल करने योग्य फ़ंक्शन
  • F2 मेमोरी — 8 निर्देश स्लॉट, दूसरा कॉल करने योग्य फ़ंक्शन

पैलेट से निर्देश टाइलें मेमोरी में खींचें। स्लॉट्स के बीच खींचकर क्रम बदलें। किसी टाइल को स्लॉट से बाहर खींचकर हटाएं।

निर्देश क्या करता है
आगे अगर सामने वाली टाइल समान ऊंचाई पर है, तो उस पर कदम रखें
बाएं मुड़ें 90° वामावर्त घुमाएं
दाएं मुड़ें 90° दक्षिणावर्त घुमाएं
कूदें एक स्तर ऊपर कूदें, या कितनी भी स्तरों पर नीचे कूदें
रोशन करें रोबोट के नीचे की लक्ष्य टाइल को टॉगल करता है
F1 / F2 बुलाएं उस फ़ंक्शन को कॉल स्टैक पर डालता है (रिकर्शन की अनुमति, सीमाओं के साथ)

जब हर लक्ष्य टाइल पीली रोशन हो जाए, तब लेवल पूरा होता है।

बहुत लंबे समय तक चलने वाले प्रोग्राम रोक दिए जाते हैं: अधिकतम 1000 कुल निर्देश, अधिकतम 100 कॉल-स्टैक फ्रेम।

नियंत्रण

कैमरा — पैन के लिए WASD या तीर कुंजियाँ, 90° घुमाने के लिए Q/E या PageUp/PageDown, ज़ूम के लिए +/− या स्क्रॉल व्हील। दृश्य रीसेट करने के लिए 0 कुंजी दबाएं। कैनवास खींचकर पैन करें, ज़ूम के लिए चुटकी काटें, दो उंगलियों से घुमाएं। सहज निरंतर गति के लिए स्क्रीन पर कैमरा बटन दबाए रखें।

साइडबार चौड़ाई — कैनवास और साइडबार के बीच के विभाजक को खींचें।

गति — साइडबार में स्लाइडर: धीमी / सामान्य / तेज़। चलाते समय भी बदला जा सकता है।

लेवल एडिटर

खेल के साथ एक पूर्ण एडिटर आता है। लेवल जोड़ें/कॉपी करें/मिटाएं, ग्रिड का आकार बदलें (प्रत्येक आयाम में 1–32), 0–9 ऊँचाइयाँ पेंट करें, लक्ष्य टाइलें चिह्नित करें, प्रारंभिक स्थिति और दिशा सेट करें, और एडिटर छोड़े बिना टेस्ट-प्ले करें।

पूरा लेवल सेट JSON के रूप में निर्यात होता है और उसी तरह आयात होता है, ताकि आप लेवल साझा कर सकें या परिवर्तनों का बैकअप ले सकें।

टोपी एडिटर

रोबोट टोपी पहन सकता है। उन्नीस विकल्प शामिल हैं: कोई नहीं, टॉप हैट, जादूगर की टोपी, मुकुट, बीनी, बेसबॉल कैप, काउबॉय हैट, पार्टी हैट, बाउलर हैट, हेलो, शैतान के सींग, सोम्ब्रेरो, डायन की टोपी, फेज़, मृग सींग, खरगोश के कान, बिल्ली के कान, गोताखोरी हेलमेट, और वाइकिंग हेलमेट। प्रत्येक टोपी चार SVG स्प्राइट्स से परिभाषित है — प्रत्येक स्क्रीन-सापेक्ष दिशा के लिए एक — ताकि टोपी सभी कैमरा घुमावों में रोबोट की दिशा का अनुसरण करे (बेसबॉल कैप की चोंच, डायन की टोपी की बकल, गोताखोरी हेलमेट की खिड़की, और खरगोश/बिल्ली के कानों की भीतरी सतह भी तदनुसार हिलती हैं)। एक लाइव प्रीव्यू रोबोट को हर सेकंड एक बार घुमाता है ताकि आप टोपी को हर कोण से देख सकें। कस्टम डिज़ाइनों के लिए टोपियाँ भी JSON में आयात/निर्यात की जा सकती हैं।

रंग योजनाएँ

खेल के साइडबार में एक रंग पैनल पैलेट दिखाता है: टाइल का रंग, टाइल किनारे का रंग, लक्ष्य का रंग, रोशन लक्ष्य का रंग, पृष्ठभूमि और रोबोट का शरीर। आप कोई बिल्ट-इन थीम चुन सकते हैं या स्वयं संपादित कर सकते हैं।

भाषाएँ

23 भाषाओं में UI अनुवाद: अंग्रेज़ी, स्पेनिश, फ्रेंच, जर्मन, इतालवी, पुर्तगाली, रूसी, चीनी, जापानी, कोरियाई, हिंदी, बंगाली, वियतनामी, अरबी (दाएं-से-बाएं लेआउट के साथ), थाई, टैगालोग, नॉर्वेजियन, डच, स्वीडिश, तुर्की, स्वाहिली, इंडोनेशियाई, और पोलिश। डिफ़ॉल्ट भाषा ब्राउज़र के navigator.language का अनुसरण करती है; स्टार्ट स्क्रीन पर भाषा चयनकर्ता सत्र के लिए उसे ओवरराइड करता है। बिल्ट-इन लेवल के नाम और विवरण, और बिल्ट-इन टोपियों के नाम, सभी समर्थित भाषाओं में अनुवादित हैं। नाम या विवरण संपादित करते समय लेवल एडिटर केवल वर्तमान चयनित भाषा के स्लॉट में लिखता है, अन्य भाषाओं के अनुवाद यथावत रहते हैं।

लाइट / डार्क मोड

ऐप क्रोम ब्राउज़र के prefers-color-scheme का पालन करता है। रंग पैनल में डिफ़ॉल्ट थीम चुनने पर ब्राउज़र की वर्तमान मोड से मेल खाने वाली पैलेट लागू होती है, इसलिए मोड बदलने पर यह तालमेल में रहती है। कोई भी अन्य बिल्ट-इन थीम — या रंग पैनल से ट्यून की गई कस्टम पैलेट — इस व्यवहार को ओवरराइड करती है।

श्रेय

द्वारा निर्मित: Al Sweigart — https://inventwithpython.com/botbright/

Daniel Yaroslavski के Lightbot से प्रेरित।