विषयसूची:
वीडियो: माइनस्वीपर: 5 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
हमारे सीपीई 133 अंतिम प्रोजेक्ट के लिए, चेस और मैंने एक 'माइनस्वीपर' गेम बनाने का फैसला किया, जिसमें बेसिस-3 बोर्ड के साथ-साथ वीएचडीएल कोड से बटन और स्विच इनपुट का उपयोग किया गया था। खेल के लिए एक बेहतर नाम 'रूसी रूले' हो सकता है, हालांकि हम अधिक परिवार के अनुकूल नाम के साथ जाना चाहते थे। गेम में उपयोगकर्ता को बेसिस बोर्ड पर मध्य बटन दबाने के लिए 16 स्विचों में से एक को बम के साथ 'सक्रिय' होने के लिए यादृच्छिक रूप से असाइन करना शामिल है। दो खिलाड़ी तब बारी-बारी से स्विच अप करते हैं, एक बार में, जब तक कि कोई एक खिलाड़ी 'बम' के साथ स्विच को फ़्लिप नहीं करता। जब ऐसा होता है, तो सात खंडों का प्रदर्शन खिलाड़ियों को सचेत करता है कि वह खिलाड़ी अभी-अभी हार गया है।
चरण 1: अवलोकन
इस परियोजना ने कई वीएचडीएल मॉड्यूल का उपयोग किया है जिनका हमने इस तिमाही के दौरान उपयोग किया है। एक स्विच को सक्रिय करने के लिए एक यादृच्छिक चार बिट संख्या को अनुकरण करने के लिए घड़ी के किनारे के साथ संयोजन के रूप में एक चार बिट काउंटर का उपयोग किया गया था। सात खंडों के प्रदर्शन में अलग-अलग शब्दों को आउटपुट करने के लिए एक राज्य आरेख का भी उपयोग किया गया था, जिसमें 'प्ले' से लेकर जब खिलाड़ी अपने खेल के बीच में होते हैं, तो 'LOSE' तक, जब खिलाड़ियों में से एक ने सक्रिय स्विच फ़्लिप किया हो।
चरण 2: सामग्री
- डिजिलेंट, इंक. से बेसिस३ डेवलपमेंट बोर्ड।
- विवाडो डिज़ाइन सूट BC_DEC.vhd (यह फ़ाइल हमें पॉलीलर्न पर प्रदान की गई थी और ब्रायन मीली द्वारा लिखी गई थी)
- टी फ्लिप फ्लॉप से बना एक 4 बिट काउंटर
- एक एफएसएम
चरण 3: गेम बनाना
इस खेल को बनाने की दिशा में पहला कदम उन सभी घटकों के साथ एक सर्किट आरेख बनाना था जिनका हम उपयोग करेंगे। इस सिस्टम के लिए इनपुट थे बटन 1, 16 स्विच और क्लॉक। आउटपुट सात खंड प्रदर्शन और एनोड थे। सर्किट आरेख बनाने के बाद, हमने विवाडो में प्रत्येक घटक के लिए अलग-अलग स्रोत फाइलें लिखीं और उन्हें मुख्य स्रोत फ़ाइल के तहत पोर्ट मैप्स का उपयोग करके एक साथ रखा।
खेल का पूरा आधार बम के साथ सक्रिय होने के लिए 16 स्विचों में से एक को बेतरतीब ढंग से असाइन करने के इर्द-गिर्द घूमता है, और खिलाड़ियों को यह नहीं पता होता है कि कौन सा स्विच तब तक सक्रिय है जब तक कि सक्रिय स्विच चालू नहीं हो जाता। हमने ऑनलाइन यादृच्छिक और छद्म यादृच्छिक संख्या जेनरेटर में देखा, लेकिन हमने अंततः निर्णय लिया कि 4-बिट काउंटर का उपयोग करना और संबंधित स्विच को सक्रिय होने के लिए असाइन करना हम जो खोज रहे थे उसके लिए पर्याप्त यादृच्छिक है। हम इस असाइनमेंट के लिए काम करने में सक्षम होने के लिए पिछले प्रोजेक्ट में बनाए गए हमारे 4-बिट काउंटर का पुन: उपयोग करने में सक्षम थे। हमने 0-15 के बीच एक यादृच्छिक संख्या बनाने के लिए काउंटर का उपयोग किया; फिर main1 घटक में, हमने बोर्ड पर उसके संगत स्विच को यादृच्छिक संख्या के दशमलव समतुल्य को नियत किया। जैसा कि योजनाबद्ध में देखा गया है, मुख्य 1 घटक से आउटपुट एक्स ('सक्रिय बम') और खिलाड़ियों द्वारा चालू किए जाने वाले स्विच FSM1 पर जाते हैं। स्टेट मशीन एक बिट Z मान का उत्पादन करती है जिसे बाद में BC_DEC1 द्वारा पढ़ा जाता है। हमारे द्वारा उपयोग की जाने वाली परिमित राज्य मशीन में दो अलग-अलग अवस्थाएँ होती हैं: राज्य A में, सात खंड प्रदर्शन 'PLAY' आउटपुट करते हैं और मशीन उस स्थिति में तब तक रहती है जब तक कि यह पहचान नहीं लेता कि सक्रिय स्विच फ़्लिप हो गया है। एक बार ऐसा होने पर, एफएसएम राज्य बी में जाता है जहां यह सात खंड डिस्प्ले में 'LOSE' आउटपुट करता है और उस स्थिति में तब तक रहता है जब तक कि सभी 16 स्विच '0' पर फ़्लिप नहीं हो जाते। जब वह शर्त पूरी हो जाती है, तो एफएसएम एक बार फिर राज्य ए में जाता है और खिलाड़ियों को एक और गेम शुरू करने की प्रतीक्षा करता है। इस FSM को समझने में मदद करने के लिए मूर आरेख ऊपर दिखाया गया है।
चरण 4: भविष्य में संशोधन
हमारे खेल में कुछ संशोधन करने के बारे में हम विचार कर रहे थे जिसमें मैदान में अधिक बम जोड़ना (संभवतः एक से तीन तक बढ़ाना), एक स्कोर काउंटर और कई राउंड जोड़ना शामिल है। हमने अंततः इन सुधारों के खिलाफ फैसला किया, क्योंकि हमने पाया कि एक लंबा, विस्तारित गेम खेलना आम तौर पर अधिक तनावपूर्ण था और अंत में एक गेम की तुलना में अधिक मजेदार था जो आमतौर पर तीन या चार स्विच फ़्लिप के बाद समाप्त होता था।
चरण 5: निष्कर्ष
हम इस परियोजना के अंतिम परिणाम से बहुत खुश थे; न केवल इसलिए कि खेल का अंतिम संस्करण खेलने में मजेदार था, बल्कि इसलिए भी कि प्रोजेक्ट बनाने और प्रोग्राम करने के लिए हमें सबसे अधिक उपयोग करने की आवश्यकता थी, यदि नहीं तो हमने इस तिमाही में जो कुछ भी सीखा। हमने फ्लिप फ्लॉप, काउंटर, एफएसएम, घड़ी, बोर्ड से यूजर इनपुट और सात सेगमेंट डिस्प्ले के आउटपुट का उपयोग किया।
हमने यह भी सीखा कि कैसे कुछ सिंटैक्स त्रुटियां प्रोग्राम को पूरी तरह से तोड़ सकती हैं (भले ही उन्हें अन्य प्रोग्रामिंग भाषाओं जैसे कि पायथन या जावा में ठीक माना जाएगा) और यह कि केवल कई सिमुलेशन और कोड के कई पुनरावृत्तियों के बाद अपलोड और परीक्षण किया जा रहा है। बोर्ड, क्या आप अंततः अपने कोड से सभी बगों को दूर करने में सक्षम होंगे।
सिफारिश की:
माइनस्वीपर-रास्पबेरी-पाई-संस्करण: 7 कदम (चित्रों के साथ)
माइनस्वीपर-रास्पबेरी-पाई-संस्करण: लुइसियाना टेक यूनिवर्सिटी में सीएससी 130 श्रृंखला के लिए मेरी अंतिम परियोजना माइनस्वीपर रास्पबेरी पाई संस्करण है। इस परियोजना में, मैंने पायथन प्रोग्रामिंग की टिंकर लाइब्रेरी का उपयोग करके माइनस्वीपर के क्लासिक गेम को फिर से बनाने की कोशिश की
अलार्म घड़ी के साथ DIY स्मार्ट स्केल (वाई-फाई, ESP8266, Arduino IDE और Adafruit.io के साथ): 10 कदम (चित्रों के साथ)
अलार्म घड़ी के साथ DIY स्मार्ट स्केल (वाई-फाई, ESP8266, Arduino IDE और Adafruit.io के साथ): अपने पिछले प्रोजेक्ट में, मैंने वाई-फाई के साथ एक स्मार्ट बाथरूम स्केल विकसित किया था। यह उपयोगकर्ता के वजन को माप सकता है, इसे स्थानीय रूप से प्रदर्शित कर सकता है और इसे क्लाउड पर भेज सकता है। आप इसके बारे में अधिक जानकारी नीचे दिए गए लिंक पर प्राप्त कर सकते हैं:https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
टाइमर फंक्शन के साथ टीवी रिमोट के साथ घरेलू उपकरणों को कैसे नियंत्रित करें: 7 कदम (चित्रों के साथ)
टाइमर फंक्शन के साथ टीवी रिमोट के साथ घरेलू उपकरणों को कैसे नियंत्रित करें: उपभोक्ता बाजार में अपने परिचय के 25 वर्षों के बाद भी, हाल के दिनों में अवरक्त संचार अभी भी बहुत प्रासंगिक है। चाहे वह आपका 55 इंच का 4K टेलीविजन हो या आपकी कार का साउंड सिस्टम, हर चीज को हमारी प्रतिक्रिया के लिए एक IR रिमोट कंट्रोलर की आवश्यकता होती है
सिगफॉक्स के साथ डेड मैन अलर्ट के साथ बाइक ट्रैकिंग सिस्टम: 7 कदम (चित्रों के साथ)
सिगफॉक्स के साथ डेड मैन अलर्ट के साथ बाइक ट्रैकिंग सिस्टम: ट्रैकिंग और अलर्ट सुविधाओं के साथ बाइक सवारों के लिए सुरक्षा प्रणाली। दुर्घटना के मामले में जीपीएस स्थिति के साथ एक अलार्म भेजा जाता है। बाइक सवारों के लिए सुरक्षा जरूरी है, सड़क बाइक या माउंटेन बाइक दुर्घटनाएं होती हैं और जितनी जल्दी हो सके आपात स्थिति में
डायना इंग्लैंड के साथ प्रवाहकीय धागे के साथ कैसे सीना: 10 कदम (चित्रों के साथ)
डायना इंग्लैंड के साथ प्रवाहकीय धागे के साथ कैसे सीना: बिजली और फैशन का संयोजन! कठिनाई की डिग्री: अभी भी सीखने की अवधि: 45 मिनट सामग्री: सिलाई के लिए परिधान, प्रवाहकीय धागा, कैंची, दो एलईडी, सीआर 2032 घड़ी बैटरी, बीएस 7 बैटरी धारक, गायब स्याही पेन , सुई-नाक सरौता, आर