विषयसूची:

Makecode आर्केड के साथ GameGo पर बैटल सिटी रीमेक: 4 कदम (चित्रों के साथ)
Makecode आर्केड के साथ GameGo पर बैटल सिटी रीमेक: 4 कदम (चित्रों के साथ)

वीडियो: Makecode आर्केड के साथ GameGo पर बैटल सिटी रीमेक: 4 कदम (चित्रों के साथ)

वीडियो: Makecode आर्केड के साथ GameGo पर बैटल सिटी रीमेक: 4 कदम (चित्रों के साथ)
वीडियो: पेट सिम्युलेटर एक्स अपडेट होने पर आपके पालतू जानवर कैसा महसूस करते हैं! #निकर 2024, नवंबर
Anonim
Image
Image

GameGo एक Microsoft Makecode संगत रेट्रो गेमिंग पोर्टेबल कंसोल है जिसे TinkerGen STEM शिक्षा द्वारा विकसित किया गया है। यह STM32F401RET6 ARM Cortex M4 चिप पर आधारित है और STEM शिक्षकों या केवल उन लोगों के लिए बनाया गया है जो रेट्रो वीडियो गेम बनाने में मज़ा करना पसंद करते हैं। आप इस ट्यूटोरियल का अनुसरण कर सकते हैं और गेम को Makecode आर्केड सिम्युलेटर में आज़मा सकते हैं और फिर इसे GameGo पर चला सकते हैं।

इस लेख में हम एक क्लासिक बैटल सिटी टैंक शूटर गेम को फिर से बनाने पर अपना हाथ आजमाने जा रहे हैं, जिसे मूल रूप से नमो द्वारा निन्टेंडो एंटरटेनमेंट सिस्टम (एनईएस) के लिए 1985 में निर्मित और प्रकाशित किया गया था। मूल खेल में खिलाड़ी एक टैंक को नियंत्रित करता है और दुश्मन के टैंकों को नष्ट करने के लिए प्रोजेक्टाइल को शूट करता है। दुश्मन के टैंक खिलाड़ी के आधार, साथ ही साथ खिलाड़ी के टैंक को भी नष्ट करने का प्रयास करते हैं। GameGo के साथ ब्लॉक प्रोग्रामिंग प्रथाओं को बेहतर ढंग से समायोजित करने के लिए हम गेम खेलने में कुछ संशोधन करेंगे, लेकिन हमारा रीमेक अभी भी मूल गेम के समान समानता बनाए रखेगा। चलो शुरू करें!

आपूर्ति

गेमगो

चरण 1: हमारा परिवर्तन-अहंकार - पीला टैंक

हमारा परिवर्तन-अहंकार - पीला टैंक
हमारा परिवर्तन-अहंकार - पीला टैंक

arcade.makecode.com/ पर मेककोड आर्केड खोलें और नए प्रोजेक्ट पर क्लिक करें। हम अपना परिवर्तन-अहंकार पीला टैंक बनाना शुरू करेंगे। तरह के प्लेयर ब्लॉक को स्प्राइट करने के लिए MySprite सेट करें चुनें और हमारे शुरुआती स्प्राइट के रूप में ऊपर की ओर एक पीले टैंक को ड्रा करें, उस ब्लॉक को स्टार्ट ब्लॉक के अंदर रखें। मूव मायस्प्राइट को बटन ब्लॉक के साथ जोड़ें। अब हमारे पास एक टैंक है जिसे हम सिमुलेशन में बटन के साथ ले जा सकते हैं! बढ़िया है, लेकिन यह हमेशा एक ही दिशा का सामना कर रहा है, तब भी जब हम नीचे या बग़ल में चलते हैं…

इसे ठीक करने के लिए, चार और ब्लॉक जोड़ें, प्रत्येक दिशा बटन के लिए एक। एक नया चर बनाएं, जिसे दिशा कहा जाता है - हम इसमें अपने टैंक की गति की दिशा को सहेजेंगे, 100 नीचे के अनुरूप होंगे, -100 ऊपर के अनुरूप होंगे, दाएं के लिए 200 और बाएं के लिए -200। ये नंबर क्यों? आप बाद में देखेंगे, जब हम प्रक्षेप्य जोड़ते हैं कि हमारे टैंक में आग लग जाएगी। इन चार ब्लॉकों में से प्रत्येक के भीतर तर्क बहुत सरल है - हम जांचते हैं कि क्या नई दिशा (बटन प्रेस से) पहले की दिशा के समान है। अगर ऐसा है, तो हम मूल रूप से कोई बदलाव नहीं करते हैं। यदि ऐसा नहीं है तो हम टैंक के स्प्राइट को बदलते हैं और नीचे और बायीं दिशा के मामले में हम अतिरिक्त स्प्राइट खींचने से बचने के लिए स्प्राइट की छवि को फ्लिप करते हैं। अंत में दिशा का प्रारंभिक मान -100 (टैंक ऊपर की ओर) असाइन करें, क्योंकि इस तरह से हमारा टैंक खेल शुरू करता है। अब पीले टैंक को हिलाने की कोशिश करें, अब गति की दिशा के अनुसार स्प्राइट बदल जाएगा! बढ़िया, अब बुलेट जोड़ते हैं।

हम mySprite से vx vy वेग के साथ प्रक्षेप्य से प्रक्षेप्य (उस स्प्राइट के लिए छोटे चांदी के वर्ग को ड्रा) के साथ गोलियां चलाएंगे। बटन के अंदर एक दबाया हुआ ब्लॉक, हमें यह देखने के लिए दिशा के निरपेक्ष मूल्य की जांच करने की आवश्यकता है कि क्या पीला टैंक बाएं/दाएं के ऊपर/नीचे का सामना कर रहा है। फिर हम दिशा चर के वेग के साथ प्रक्षेप्य को आग लगाने के लिए आगे बढ़ते हैं - यही कारण है कि हमारे पास दिशा मूल्यों के लिए -100/100/-200/200 था।

अब हमारे पास पीला टैंक है जो प्रोजेक्टाइल को फायर कर सकता है और आगे बढ़ सकता है। अगर पीले रंग के नकली टैंक महसूस कर सकते हैं तो यह निश्चित रूप से दुश्मनों और चीजों के बिना इस खाली शून्य में अकेलापन महसूस करेगा। तो, अगले चरण के लिए समय बीतने के लिए दुश्मनों को जोड़ें।

चरण 2: दुश्मनों को बाहर लाओ

दुश्मनों को बाहर लाओ
दुश्मनों को बाहर लाओ
दुश्मनों को बाहर लाओ
दुश्मनों को बाहर लाओ

हम इस चरण को नए चरों का एक गुच्छा बनाकर शुरू करेंगे: दो सरणियाँ (एक दुश्मन स्प्राइट रखने के लिए और दूसरा दुश्मन दिशाओं को पकड़ने के लिए), स्पॉन के बीच की समय अवधि को संग्रहीत करने के लिए स्पॉन समय चर, दुश्मनों की अधिकतम संख्या को संग्रहीत करने के लिए दुश्मन की गिनती एक ही समय में। हम स्टार्ट ब्लॉक पर दो प्रोजेक्टाइल (प्रोजेक्टाइल और दुश्मन प्रोजेक्टाइल) फायरिंग भी जोड़ेंगे - जो हमें बाद में एक त्रुटि से बचने में मदद करेगा।

आगे हम हर … एमएस ब्लॉक पर गेम अपडेट बनाते हैं, वहां स्पॉन_टाइम वेरिएबल डालें। ब्लॉक के अंदर तर्क सरल है - यदि युद्ध के मैदान में दुश्मनों की कुल संख्या दुश्मनों की अधिकतम अनुमत संख्या से कम है, तो दुश्मन को दुश्मन_स्प्राइट_लिस्ट में जोड़ें और जोड़ें उस दुश्मन के लिए 200 (दाईं ओर) दिशा।

अगला, तरह के दुश्मन ब्लॉक के बनाए गए स्प्राइट में हम कुछ ग्राफिकल प्रभाव जोड़ते हैं, इसे एक यादृच्छिक खाली टाइल पर रखते हैं और इस स्प्राइट के लिए पिक_डायरेक्शन फ़ंक्शन को कॉल करते हैं। जिस तरह के दुश्मन दीवार से टकराते हैं, हम उसी फ़ंक्शन को पिक_डायरेक्शन कहते हैं।

उस समारोह में क्या है? यहीं से चीजें थोड़ी जटिल होने लगती हैं, इसलिए रुकिए। दुश्मन के टैंक के ऊपर जाने की 50 प्रतिशत और उसके नीचे जाने की 50 प्रतिशत संभावना है - हम उसी के अनुसार स्प्राइट को बदलते हैं। यहां एकमात्र चाल यह है कि हमें उस विशेष दुश्मन टैंक के अनुरूप मूल्य को दुश्मन_दिशा_सूची में नई दिशा में बदलने की जरूरत है, इसलिए हम इसे सही दिशा में गोलियां चलाएंगे। उसके लिए हम दुश्मन स्प्राइट का सूचकांक दुश्मन_स्प्राइट_सूची में पाते हैं और उस आइटम के मूल्य को दुश्मन_दिशा सूची में बदलते हैं।

अंत में, आइए शॉट्स फायरिंग जोड़ें। हम हर ५०० एमएस ब्लॉक में गेम अपडेट पर एक और जोड़ते हैं और दुश्मन_स्प्राइट_लिस्ट में आइटम के लिए डालते हैं। 30% संभावना के साथ एक दुश्मन स्प्राइट दुश्मन के प्रक्षेप्य को उसकी गति की दिशा में फायर करेगा।

यदि हम गेम को अभी सिमुलेशन में लॉन्च करते हैं, तो हम देख सकते हैं कि हमारा पीला टैंक और दुश्मन के टैंक एक ही बिंदु पर दिखाई दे रहे हैं और खाली जगह में जा रहे हैं। हम गोली मार सकते हैं और वे हमारे पीले टैंक को गोली मार सकते हैं, लेकिन कुछ नहीं होगा। यह अभी भी अर्थ से रहित लगता है:) चलो अंतिम चरण के रूप में सजावट और खेल यांत्रिकी जोड़ें।

चरण 3: खेल का 42

खेल के 42
खेल के 42
खेल के 42
खेल के 42
खेल के 42
खेल के 42

हम जानकारी टैब से जीवन और स्कोर जोड़कर और जीवन को 10 और स्कोर को शून्य पर सेट करके इस चरण को शुरू करने जा रहे हैं। फिर हम ब्लॉक सेट टाइल मैप को … में जोड़ते हैं। जैसा कि आप ऊपर स्क्रीनशॉट में देख रहे हैं, कुछ देखने के लिए फ़ाइल मैप बनाएं। दीवारों को जोड़ना न भूलें!

आइए, प्रोजेक्टाइल की तरह के स्प्राइट को अन्य स्प्राइट ऑफ़ तरह के प्लेयर को ओवरलैप करते हैं - यह तब होता है जब दुश्मन की गोलियां हमारे पीले टैंक को मारती हैं। हमें यह सुनिश्चित करने की ज़रूरत है कि ये प्रोजेक्टाइल दुश्मन की गोलियां हैं और हमारी नहीं हैं, इसलिए हम जोड़ देंगे कि यदि ब्लॉक के भीतर स्थिति है और यदि यह सत्य के रूप में मूल्यांकन करता है, तो हम जीवन गणना से घटाते हैं। इसी तरह, स्प्राइट ऑफ तरह के एक अन्य ब्लॉक में प्रोजेक्टाइल अन्य स्प्राइट ऑफ तरह के दुश्मन को ओवरलैप करता है, हम सुनिश्चित करते हैं कि प्रोजेक्टाइल पीले टैंक से एक प्रोजेक्टाइल है और यदि यह स्थिति ट्रू के रूप में मूल्यांकन करती है, तो हम अन्य स्प्राइट (दुश्मन टैंक) को नष्ट कर देते हैं, इसे सूची से हटा दें। दुश्मन_स्प्राइट_सूची का और स्कोर करने के लिए एक जोड़ें।

आखिरी चीज जीत और हार की स्थिति है - जीत के लिए, हम जांच करेंगे कि स्कोर अधिक है या हमेशा के लिए ब्लॉक में 10 के बराबर है। अगर ऐसा है, तो हम विजय स्क्रीन दिखाते हैं। और ऑन लाइफ जीरो ब्लॉक में हम गेम ओवर स्क्रीन दिखाते हैं।

अब यह देखने के लिए सिमुलेशन में इसे आज़माएं कि गेम उम्मीद के मुताबिक चल रहा है या नहीं। फिर इसे GameGo पर अपलोड करें और दुश्मन के टैंकों को चकनाचूर करने का आनंद लें!

चरण 4: अंतहीन खेल और सुधार

अंतहीन खेल और सुधार
अंतहीन खेल और सुधार

हमारे गिटहब भंडार में आप मेककोड आर्केड के लिए दो फाइलें डाउनलोड कर सकते हैं - एक बिल्कुल वही है जो आपको इस निर्देश का पालन करने पर मिलेगी और दूसरा एक उन्नत संस्करण है, जिसमें यादृच्छिक रूप से स्तर की प्रगति उत्पन्न होती है। इसके १० स्तर हैं, प्रत्येक क्रमागत स्तर पर दुश्मनों की संख्या में वृद्धि के साथ बेतरतीब ढंग से उत्पन्न होता है।

और निश्चित रूप से, और भी चीजें हैं जो आप या आपके छात्र खेल में जोड़ सकते हैं! बेहतर संगीत, टूटने योग्य दीवारें, अलग-अलग जीत की स्थिति वगैरह!

यदि आप खेल का एक बेहतर संस्करण बनाते हैं, तो इसे नीचे टिप्पणी में साझा करें! गेमगो और निर्माताओं और एसटीईएम शिक्षकों के लिए अन्य हार्डवेयर के बारे में अधिक जानकारी के लिए, हमारी वेबसाइट https://tinkergen.com/ पर जाएं और हमारे ब्लॉग की सदस्यता लें।

टिंकरजेन ने मार्क (मेक ए रोबोट किट) के लिए एक किकस्टार्टर अभियान शुरू किया है, जो कोडिंग, रोबोटिक्स, एआई सिखाने के लिए एक रोबोट किट है!

सिफारिश की: