विषयसूची:

Arduino युद्धपोत खेल: 3 कदम
Arduino युद्धपोत खेल: 3 कदम

वीडियो: Arduino युद्धपोत खेल: 3 कदम

वीडियो: Arduino युद्धपोत खेल: 3 कदम
वीडियो: ग्रैंडपा जेल में | Granny chapter 3 game play video | Gameplay of Granny Chapter 3 2024, नवंबर
Anonim
Arduino युद्धपोत खेल
Arduino युद्धपोत खेल

मुझे बचपन में बैटलशिप गेम का पेपर और पेंसिल संस्करण खेलना याद है। वास्तव में, यह प्रथम विश्व युद्ध के बाद से है। मेरे पास 1960 के दशक की शुरुआत में "सोनार सब हंट" नामक एक "इलेक्ट्रॉनिक" संस्करण भी था जिसमें रोशनी और आवाज़ और छिपी हुई खदानें थीं। आज के वीडियो गेम मानकों के अनुसार बैटलशिप बहुत उबाऊ है, लेकिन मैंने सोचा कि मैं वैसे भी एक बनाऊंगा, यह देखने के लिए कि पोते इसके बारे में क्या सोचते हैं। आखिरकार, कभी-कभी रेट्रो शांत हो सकता है।

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

चरण 1: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

यहां प्रस्तुत योजना एकल खिलाड़ी के लिए है इसलिए दो इकाइयों को बनाने की आवश्यकता होगी। इकाइयाँ एक 3-तार इंटरफ़ेस का उपयोग करके संचार करती हैं जिसमें UART TX और RX लाइनें और एक ग्राउंड वायर शामिल हैं। मैंने मानक 1/8 इंच स्टीरियो हेडफोन जैक और दोनों सिरों पर पुरुष प्लग के साथ एक मानक केबल का उपयोग करना चुना। एक बॉक्स से RX दूसरे बॉक्स के TX में जाता है और इसके विपरीत। आप ऐसा कर सकते हैं कि बॉक्स के अंदर हेडफोन जैक में टांके गए तारों को स्वैप करके या जब आप इसे बनाते हैं तो सर्किट बोर्ड पर उन्हें स्वैप कर सकते हैं।

क्लासिक गेम को मैट्रिक्स के रूप में रखा गया था लेकिन मैंने डिस्प्ले के लिए 1602 एलसीडी का उपयोग करके एक सरल कार्यान्वयन करने का फैसला किया। पहली पंक्ति खिलाड़ी के जहाज के स्थानों और प्रतिद्वंद्वी के शॉट्स को दिखाती है। दूसरी पंक्ति खिलाड़ी के शॉट्स और प्रतिद्वंद्वी के जहाजों पर किसी भी हिट को दिखाती है। यह जहाजों के लिए 16 संभावित स्थान प्रदान करता है। सॉफ्टवेयर में जहाजों की संख्या निर्धारित है और मैंने मनमाने ढंग से 5 चुना है।

16 जहाज स्थान स्विच आवश्यकताओं के साथ अच्छी तरह से फिट होते हैं क्योंकि यह 4x4 मैट्रिक्स की अनुमति देता है। 4x4 मैट्रिक्स स्विच पैड उपलब्ध हैं लेकिन मैंने रैखिक डिस्प्ले से मेल खाने के लिए एक ही लाइन में अलग-अलग स्विच का उपयोग करना चुना। हालाँकि, मैंने स्विच को 4x4 मैट्रिक्स के रूप में तार दिया ताकि केवल आठ Arduino पिन की आवश्यकता हो। उचित कनेक्शन के लिए स्विच वायरिंग आरेख और योजनाबद्ध देखें।

एलसीडी डिस्प्ले को 4-बिट इंटरफेस के लिए वायर्ड किया गया है। मैंने पिन D13 पर एक बाहरी एलईडी भी जोड़ा, जिससे यह संकेत मिलता है कि किस खिलाड़ी को शॉट लेना चाहिए। प्रारंभ में, खिलाड़ी तय करते हैं कि पहला शॉट कौन लेता है और फिर सॉफ्टवेयर स्वचालित रूप से खेल के आगे और पीछे को नियंत्रित करता है।

मैं शॉट, विस्फोट, खेल के लिए तैयार, और विजेता/हारने वाले के लिए सरल ध्वनि प्रभाव जोड़ना चाहता था। मैंने एक साधारण पीजो बजर का उपयोग करने की कोशिश की, लेकिन इसके बजाय एक छोटे स्पीकर के साथ समाप्त हुआ। स्पीकर द्वारा आवश्यक करंट अरुडिनो को संभाल सकता है, इसलिए एक साधारण ट्रांजिस्टर एम्पलीफायर जोड़ा गया था। ध्वनि अभी भी बहुत अच्छी नहीं है लेकिन यह बजर से बेहतर है। मेरा स्पीकर 4 ओम का है, लेकिन अगर आपके पास 8-ओम वाला है, तो रेसिस्टर को योजनाबद्ध में 39 ओम से 33 ओम में बदलें। यदि आप पीजो बजर का उपयोग करते हैं तो आप इसे सीधे Arduino पिन से जमीन से जुड़े बजर के दूसरी तरफ ड्राइव करने में सक्षम होना चाहिए।

एक बाहरी रीसेट स्विच भी शामिल है और इसे सीधे जमीन और Arduino पर "रीसेट" पिन के बीच तार दिया जाता है। यह खेल को फिर से शुरू करने के लिए साधन प्रदान करता है।

चरण 2: सॉफ्टवेयर

सॉफ़्टवेयर में मेरे एलसीडी इंटरफ़ेस के लिए फ़ाइल शामिल है और मैंने 4x4 स्विच मैट्रिक्स स्कैनिंग के लिए एक शामिल फ़ाइल भी बनाई है। आरंभीकरण खिलाड़ी को अपने जहाजों के लिए स्थानों का चयन करने के लिए प्रेरित करता है और फिर "तैयार" स्थिति में जाता है। जब दोनों खिलाड़ी तैयार हो जाते हैं तो उनमें से एक स्विच दबाकर खेल शुरू करता है।

शॉट स्थान यूएआरटी के माध्यम से दूसरे खिलाड़ी को प्रेषित किया जाता है और उचित परिणाम उस खिलाड़ी को प्रेषित किया जाता है जिसने शॉट निकाल दिया था। जैसा कि पहले उल्लेख किया गया है, एक बार पहला शॉट लेने के बाद, सॉफ्टवेयर नियंत्रित करता है कि अगला शॉट कौन लेता है। शॉट प्रसारित होने से पहले, इसे पिछले शॉट्स के स्थानों के विरुद्ध चेक किया जाता है। यदि उस स्थान का पहले ही उपयोग किया जा चुका है, तो शॉट प्रसारित नहीं किया जाएगा। "माई_शॉट" एलईडी निर्धारित करती है कि यह किसकी बारी है। एक वैध चयन के लिए एक शॉट ध्वनि उत्पन्न होती है और एक जहाज हिट होने पर एक विस्फोट ध्वनि भी होती है। ध्वनि प्रभाव खेल के अनुरूप संशोधनों के साथ ऑनलाइन पाए गए उदाहरणों से प्राप्त होते हैं।

एक बार एक प्रतिद्वंद्वी के जहाज सभी हिट हो जाने के बाद, प्रत्येक एलसीडी पर एक संदेश प्रदर्शित होता है - एक विजेता के रूप में, और एक हारने वाले के रूप में। संदेश यह भी निर्दिष्ट करता है कि रीसेट बटन दबाकर खेल को फिर से शुरू किया जा सकता है। विजेता और हारने वाले के लिए अलग-अलग ध्वनि प्रभाव भी हैं।

चरण 3: स्क्रीन शॉट्स

स्क्रीन शॉट्स
स्क्रीन शॉट्स
स्क्रीन शॉट्स
स्क्रीन शॉट्स
स्क्रीन शॉट्स
स्क्रीन शॉट्स
स्क्रीन शॉट्स
स्क्रीन शॉट्स

खेल से कुछ स्क्रीन शॉट यहां दिए गए हैं। इस पोस्ट के लिए बस इतना ही। मेरे अन्य अनुदेशक और मेरी वेबसाइट भी देखें: www.boomerrules.wordpress.com

सिफारिश की: