विषयसूची:

2 खिलाड़ी प्रतिस्पर्धी बनाम समय खेल: 4 कदम
2 खिलाड़ी प्रतिस्पर्धी बनाम समय खेल: 4 कदम

वीडियो: 2 खिलाड़ी प्रतिस्पर्धी बनाम समय खेल: 4 कदम

वीडियो: 2 खिलाड़ी प्रतिस्पर्धी बनाम समय खेल: 4 कदम
वीडियो: Epic dodge in 4x400 relay #shorts 2024, जुलाई
Anonim
2 खिलाड़ी प्रतिस्पर्धी बनाम समय खेल
2 खिलाड़ी प्रतिस्पर्धी बनाम समय खेल

आपको चाहिये होगा:

1. डिजिलेंट बेसिस 3, एफपीजीए बोर्ड (या कोई अन्य एफपीजीए,)

2. विवाडो, या कुछ अन्य वीएचडीएल वातावरण का अपेक्षाकृत अद्यतित संस्करण

3. एक कंप्यूटर जो उल्लिखित प्रोग्राम को चला सकता है।

चरण 1: खेल ही

खेल ही
खेल ही

FSM मॉड्यूल के साथ कैसे इंटरैक्ट करता है।

कैसे खेलें

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

चरण 2: एफएसएम

एफएसएम
एफएसएम
एफएसएम
एफएसएम
एफएसएम
एफएसएम
एफएसएम
एफएसएम

यह खेल अनिवार्य रूप से एक बड़ी परिमित राज्य मशीन है, जो कुछ जटिल तर्क उस राज्य के आधार पर हो रहा है जिसमें FSM है।

राज्य १: मेनू पहली स्थिति मेनू स्क्रीन है, जो सरल अवस्थाओं में से एक है। इसमें "प्ले" शब्द प्रदर्शित करने वाला सात खंड डिस्प्ले और खेल शुरू करने का कारण बनने वाला बटन शामिल है। बटन, बीटीएन, हमें अगले राज्य में ले जाता है, जो खिलाड़ी की बारी है।

राज्य 2: खिलाड़ी एक की बारी

खिलाड़ी की बारी एक संकेत को सक्रिय करती है जिससे सात खंड प्रदर्शन खिलाड़ी दो के स्वास्थ्य को प्रदर्शित करता है। हमारे द्वारा बनाए गए दूसरे मॉड्यूल (Pone.vhd) से आयातित शिफ्ट रजिस्टर को सक्रिय करने के लिए एक और सिग्नल चालू होता है। यह शिफ्ट रजिस्टर एलईडी की रोशनी को अन्य खेलों में बढ़ते पावर गेज की तरह बनाता है, और यह तब 0 पर रीसेट हो जाएगा जब यह एलईडी की अधिकतम मात्रा तक पहुंच जाएगा जिसे जलाया जा सकता है। यह barclock.vhd से प्राप्त घड़ी के बढ़ते किनारे पर अद्यतन करता है, जिसे उधार ली गई प्रयोगशाला फ़ाइल से संशोधित किया जाता है। हमारे पास खिलाड़ी का बार दाईं ओर से शुरू होता है, और बाईं ओर भर जाता है, क्योंकि खिलाड़ी का स्विच भी बाईं ओर होता है (सहज उपयोगकर्ता अनुभव के लिए)। एक बार जब स्विच फ़्लिप हो जाता है, तो राज्य खिलाड़ी एक कटौती पर चला जाता है, और एलईडी की सक्रिय मात्रा सिग्नल में सहेजी जाती है।

राज्य 3: खिलाड़ी एक कटौती एलईडी की सक्रिय मात्रा के साथ संकेत स्वास्थ्य की मात्रा को निर्धारित करता है जो कटौती की जाती है। यह एक और शिफ्ट रजिस्टर (deductor1.vhd) के द्वारा किया जाता है, जो कि LED को बढ़ाने के बजाय, उन्हें घटाता है। यह क्लॉक डिव मॉड्यूल में से एक के बढ़ते किनारे पर घटता है जिसे हमने उधार लिया और संशोधित किया (downcounterclock.vhd)। जैसे ही एक एलईडी बंद होती है, खिलाड़ी दो के कुल स्वास्थ्य से स्वास्थ्य का एक बिंदु काट लिया जाता है। यदि इस प्रक्रिया के दौरान खिलाड़ी दो 0 स्वास्थ्य तक पहुँच जाता है, तो हम रुक जाते हैं और तुरंत "गेम ओवर" स्थिति में चले जाते हैं। अन्यथा, एक बार जब एलईडी वेक्टर "000000000000000000" तक पहुंच जाता है, तो हम खिलाड़ी दो की बारी पर आगे बढ़ते हैं।

राज्य 4: खिलाड़ी दो की बारी खिलाड़ी दो की बारी बिल्कुल खिलाड़ी की बारी की तरह है, इसके लिए शिफ्ट रजिस्टर को छोड़कर (Ptwo.bhd) बाएं से दाएं जाता है, और स्विच बोर्ड के दाईं ओर होता है। प्लेयर 1 के स्वास्थ्य प्रदर्शन के लिए एक सिग्नल सक्रिय होता है। एक बार स्विच 2 सक्रिय हो जाने पर, यह प्लेयर टू के डिडक्ट टर्न पर चला जाता है।

चरण 5: खिलाड़ी दो कटौती खिलाड़ी दो की बारी की तरह, खिलाड़ी दो कटौती खिलाड़ी एक कटौती की तरह कार्य करता है। मुख्य अंतर यह है कि शिफ्ट रजिस्टर जो एलईडी के बंद होने को नियंत्रित करता है, विपरीत दिशा में चला जाता है, जो कि एक बार खिलाड़ी की कटौती ठीक से काम करने के बाद एक आसान संशोधन है।

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

चरण 3: मॉड्यूल

मॉड्यूल
मॉड्यूल

खेल के लिए ब्लैक बॉक्स आरेख

डाउनकाउंटरक्लॉक (ब्रायन मीली द्वारा clk_div.vhd मॉड्यूल पर आधारित):

यह वह घड़ी है जो कटौतीकर्ताओं के समय को संभालती है। max_count नाम का स्थिरांक बारक्लॉक के max_count स्थिरांक से 3x अधिक है। यह कटौती करने वालों को बार की गति से 3 गुना धीमा कर देगा।

बारक्लॉक - (ब्रायन मीली द्वारा clk_div.vhd मॉड्यूल पर आधारित):

यह घड़ी पावर गेज के समय को संभालती है, जिसे हमने खेल में कठिनाई जोड़ने के लिए जल्दी से बढ़ा दिया। इस समय को आपकी पसंद के अनुसार समायोजित किया जा सकता है, निरंतर max_count को एक बड़ी संख्या बनाकर गति को बढ़ाया जा सकता है, या max_count को एक छोटी संख्या बनाकर घटाया जा सकता है। Sseg_dec - (ब्रायन मीली द्वारा लिखित): यह मॉड्यूल इनपुट के रूप में एक 8 बिट संख्या लेता है, जिसे वह डिकोड करता है, संख्या को उसके दशमलव समकक्ष में परिवर्तित करता है, और फिर सात खंड डिस्प्ले में आउटपुट करता है। इस फ़ाइल के काम करने के लिए, आपको यह सुनिश्चित करने की ज़रूरत है कि आपकी बाधाएं हमारे से मेल खाती हैं।

पोन:

यह एक शिफ्ट रजिस्टर है जो बिट्स को बाईं ओर शिफ्ट करता है, एक हॉट बिट जोड़कर ऐसा लगता है कि पावर गेज बढ़ रहा है। जब सभी बिट्स गर्म होते हैं, तो सभी बिट्स '0' पर रीसेट हो जाते हैं, और चक्र फिर से शुरू हो जाता है।

पीटीवो:

यह P1 मॉड्यूल का फ़्लिप किया गया संस्करण है।

Deductor1:

यह एक शिफ्ट रजिस्टर और एक सबट्रैक्टर का संयोजन है। शिफ्ट रजिस्टर P1 के शिफ्ट रजिस्टर के विपरीत दिशा में जाता है, जो कटौती का संकेत देता है। यह प्रत्येक घड़ी चक्र के लिए प्लेयर 2 के स्वास्थ्य से 1 घटाता है, इसलिए इन दो कार्यों के संयोजन के साथ, ऐसा लगेगा कि प्रतिद्वंद्वी का स्वास्थ्य नीचे जाने वाले स्वास्थ्य पट्टी के प्रत्येक नेतृत्व के लिए 1 से कम हो रहा है।

Deductor2: यह Deductor1 मॉड्यूल का फ़्लिप किया गया संस्करण है।

PlayDecoder (उधार लिया और ekchen35649 से उनके 133 निर्देश योग्य रूप से संशोधित): इसका उपयोग मेनू स्थिति में सात खंड डिकोडर पर "PLAY" शब्द प्रदर्शित करने के लिए किया जाता है।

चरण 4: परीक्षण

यह गेम मूल रूप से Kirby के एक मिनीगेम से प्रेरित था। यह एक साधारण दो-खिलाड़ियों का खेल है जिसे बेसिस 3 बोर्ड, या किसी भी FPGA पर खेला जा सकता है।

चरण 1: आवश्यक सामग्री

आपको आवश्यकता होगी: डिजिलेंट बेसिस 3, एफपीजीए बोर्ड (या कोई अन्य) विवाडो का अपेक्षाकृत अद्यतित संस्करण, या कुछ अन्य वीएचडीएल वातावरण एक कंप्यूटर जो उल्लिखित कार्यक्रम को चला सकता है एक मस्तिष्क

चरण 2: खेल ही

कैसे खेलें

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

गेम खेलने के लिए, इसे बेसिस बोर्ड पर लोड करें, और बीच का बटन दबाएं। जितना संभव हो उतने एलईडी के साथ स्विच को फ्लिप करने का प्रयास करें, और फिर प्रतीक्षा करें और देखें कि बोर्ड आपके प्रतिद्वंद्वी के स्वास्थ्य से उन बिंदुओं को काट देता है। फिर, इसे अपने मित्र को सौंप दें, और

चरण 3: एफएसएम

यह खेल अनिवार्य रूप से एक बड़ी परिमित राज्य मशीन है, जो कुछ जटिल तर्क उस स्थिति के आधार पर हो रही है जिसमें FSM है।

(राज्य आरेख)

राज्य 1: मेनू

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

राज्य 2: खिलाड़ी एक की बारी

खिलाड़ी की बारी एक संकेत को सक्रिय करती है जिससे सात खंड प्रदर्शन खिलाड़ी दो के स्वास्थ्य को प्रदर्शित करता है। हमारे द्वारा बनाए गए दूसरे मॉड्यूल (Pone.vhd) से आयातित शिफ्ट रजिस्टर को सक्रिय करने के लिए एक और सिग्नल चालू होता है। यह शिफ्ट रजिस्टर एलईडी की रोशनी को अन्य खेलों में बढ़ते पावर गेज की तरह बनाता है, और यह तब 0 पर रीसेट हो जाएगा जब यह एलईडी की अधिकतम मात्रा तक पहुंच जाएगा जिसे जलाया जा सकता है। यह barclock.vhd से प्राप्त घड़ी के बढ़ते किनारे पर अद्यतन करता है, जिसे उधार ली गई प्रयोगशाला फ़ाइल से संशोधित किया जाता है। हमारे पास खिलाड़ी का बार दाईं ओर से शुरू होता है, और बाईं ओर भर जाता है, क्योंकि खिलाड़ी का स्विच भी बाईं ओर होता है (सहज उपयोगकर्ता अनुभव के लिए)। एक बार जब स्विच फ़्लिप हो जाता है, तो राज्य खिलाड़ी एक कटौती पर चला जाता है, और एलईडी की सक्रिय मात्रा सिग्नल में सहेजी जाती है।

राज्य 3: खिलाड़ी एक कटौती

एलईडी की सक्रिय मात्रा के साथ संकेत स्वास्थ्य की मात्रा को निर्धारित करता है जो कि कटौती की जाती है। यह एक और शिफ्ट रजिस्टर (deductor1.vhd) होने के द्वारा किया जाता है, जो कि एल ई डी को बढ़ाने के बजाय, उन्हें घटाता है। यह क्लॉक डिव मॉड्यूल में से एक के बढ़ते किनारे पर घटता है जिसे हमने उधार लिया और संशोधित किया (downcounterclock.vhd)। जैसे ही एक एलईडी बंद होती है, खिलाड़ी दो के कुल स्वास्थ्य से स्वास्थ्य का एक बिंदु काट लिया जाता है। यदि इस प्रक्रिया के दौरान खिलाड़ी दो 0 स्वास्थ्य तक पहुँच जाता है, तो हम रुक जाते हैं और तुरंत "गेम ओवर" स्थिति में चले जाते हैं। अन्यथा, एक बार जब एलईडी वेक्टर "000000000000000000" तक पहुंच जाता है, तो हम खिलाड़ी दो की बारी पर आगे बढ़ते हैं।

राज्य 4: खिलाड़ी दो की बारी

खिलाड़ी दो की बारी बिल्कुल खिलाड़ी की बारी की तरह है, इसके लिए शिफ्ट रजिस्टर को छोड़कर (Ptwo.bhd) बाएं से दाएं जाता है, और स्विच बोर्ड के दाईं ओर होता है। प्लेयर 1 के स्वास्थ्य प्रदर्शन के लिए एक सिग्नल सक्रिय होता है। एक बार स्विच 2 सक्रिय हो जाने पर, यह प्लेयर टू के डिडक्ट टर्न पर चला जाता है।

चरण 5: खिलाड़ी दो कटौती

खिलाड़ी दो की बारी की तरह, खिलाड़ी दो कटौती खिलाड़ी एक कटौती की तरह कार्य करता है। मुख्य अंतर यह है कि शिफ्ट रजिस्टर जो एलईडी के बंद होने को नियंत्रित करता है, विपरीत दिशा में चला जाता है, जो कि एक बार खिलाड़ी की कटौती ठीक से काम करने के बाद एक आसान संशोधन है।

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

ब्लैक बॉक्स

चरण 4: मॉड्यूल

डाउनकाउंटरक्लॉक (ब्रायन मीली द्वारा clk_div.vhd मॉड्यूल पर आधारित):

यह वह घड़ी है जो कटौतीकर्ताओं के समय को संभालती है। max_count नाम का स्थिरांक बारक्लॉक के max_count स्थिरांक से 3x अधिक है। यह कटौती करने वालों को बार की गति से 3 गुना धीमा कर देगा।

बारक्लॉक - (ब्रायन मीली द्वारा clk_div.vhd मॉड्यूल पर आधारित): यह घड़ी पावर गेज के समय को संभालती है, जिसे हमने खेल में कठिनाई जोड़ने के लिए जल्दी से बढ़ा दिया। इस समय को आपकी पसंद के अनुसार समायोजित किया जा सकता है, निरंतर max_count को एक बड़ी संख्या बनाकर गति को बढ़ाया जा सकता है, या max_count को छोटी संख्या बनाकर इसे घटाया जा सकता है। Sseg_dec - (ब्रायन मीली द्वारा लिखित): यह मॉड्यूल इनपुट के रूप में एक 8 बिट संख्या लेता है, जिसे वह डिकोड करता है, संख्या को उसके दशमलव समकक्ष में परिवर्तित करता है, और फिर सात खंड डिस्प्ले में आउटपुट करता है। इस फ़ाइल के काम करने के लिए, आपको यह सुनिश्चित करने की ज़रूरत है कि आपकी बाधाएं हमारे से मेल खाती हैं।

पोन: यह एक शिफ्ट रजिस्टर है जो बिट्स को बाईं ओर शिफ्ट करता है, एक हॉट बिट जोड़कर यह देखने के लिए कि पावर गेज बढ़ रहा है। जब सभी बिट्स गर्म होते हैं, तो सभी बिट्स '0' पर रीसेट हो जाते हैं, और चक्र फिर से शुरू हो जाता है।

Ptwo: यह P1 मॉड्यूल का फ़्लिप किया गया संस्करण है।

Deductor1: यह एक शिफ्ट रजिस्टर और एक सबट्रैक्टर का संयोजन है। शिफ्ट रजिस्टर P1 के शिफ्ट रजिस्टर के विपरीत दिशा में जाता है, जो कटौती का संकेत देता है। यह प्रत्येक घड़ी चक्र के लिए प्लेयर 2 के स्वास्थ्य से 1 भी घटाता है, इसलिए इन दो कार्यों के संयोजन के साथ, ऐसा लगेगा कि प्रतिद्वंद्वी का स्वास्थ्य नीचे जाने वाले स्वास्थ्य पट्टी के प्रत्येक नेतृत्व के लिए 1 से कम हो रहा है।

Deductor2: यह Deductor1 मॉड्यूल का फ़्लिप किया गया संस्करण है।

PlayDecoder (उधार लिया और ekchen35649 से थोड़ा संशोधित उनके 133 निर्देश योग्य):

इसका उपयोग मेनू स्थिति में सात खंड डिकोडर पर "PLAY" शब्द प्रदर्शित करने के लिए किया जाता है।

करने के लिए: चित्र, वीडियो

सिफारिश की: