विषयसूची:
वीडियो: NeoPixels मैट्रिक्स:साँप खेल: ४ कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
क्या आपको अभी भी याद है कि हम बचपन में अपने गेम बॉक्स या मोबाइल पर सांप का खेल खेलते थे? आज हम 8*8 NeoPixels Matrix के साथ सांप का खेल बनाना सीखेंगे। हम सांप को नियंत्रित करने के लिए Arduino uno को नियंत्रण केंद्र और जॉयस्टिक ब्रेकआउट मॉड्यूल के रूप में चुनते हैं।
चरण 1: घटक सूची:
हार्डवेयर:
1 एक्स फ़्रेडुइनो यूएनओ रेव2.2 MB_EFUNO
1 एक्स फ्लेक्सिबल 64 आरजीबी एलईडी 8 * 8 नियोपिक्सल मैट्रिक्स
1 एक्स जॉयस्टिक ब्रेकआउट मॉड्यूल BKOUT_MD01
3 एक्स गाइड लाइन
सॉफ्टवेयर:
अरुडिनो आईडीई
चरण 2: हार्डवेयर कनेक्शन
D2 को पिन करने के लिए NeoPixels कनेक्ट करें।
जॉयस्टिक ब्रेकआउट मॉड्यूल पर "X", Arduino UNO बोर्ड पर पिन A0 कनेक्ट करें, "Y" पिन A1, "K" कनेक्ट पिन A2 कनेक्ट करें।
चरण 3: प्रोग्रामिंग
पी#शामिल
#define PIN 2 // आउटपुट पिन #define MAX_LED 64 // बीड की मात्रा uint32_t c; इंट ए = 0, संख्या; अहस्ताक्षरित चार हुआन = 0, सीआई = 0; अहस्ताक्षरित चार यू = ४०; // शब्द समूह का फ़ॉन्ट आकार अहस्ताक्षरित चार x = 0; अहस्ताक्षरित चार रंग [3]; अहस्ताक्षरित चार गो = {2, 3, 4, 5, 9, 14, 17, 20, 22, 26, 27, 29, 34, 35, 36, 37, 41, 46, 49, 54, 58, 59, 60, 61}; // २४ अहस्ताक्षरित चार प्रकाश [८] [८] = {{०, १, २, ३, ४, ५, ६, ७}, {१५, १४, १३, १२, ११, १०, ९, ८}, {16, 17, 18, 19, 20, 21, 22, 23}, {31, 30, 29, 28, 27, 26, 25, 24}, {32, 33, 34, 35, 36, 37, 38, 39}, {47, 46, 45, 44, 43, 42, 41, 40}, {48, 49, 50, 51, 52, 53, 54, 55}, {63, 62, 61, 60, 59, ५८, ५७, ५६}, }; अहस्ताक्षरित चार वर्ण [8] = // भेजे जाने वाले शब्द को सेट करें {{0, 1, 1, 1, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0}, // 0 {0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, // 1 {0, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 1, 1, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0}, // 2 {0, 1, 1, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0}, // 3 {0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0}, // 4 {0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0}, // 5 {0, 1, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0}, // 6 {0, 1, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, // 7 {0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0}, // 8 {0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0}, // 9 {0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0 }, }; अहस्ताक्षरित चार डिस्प्लेकोर [८] [८]; इंट स्पीडएस = ४००; // स्नेक इंट स्कोर की प्रारंभिक गति; // गेम स्कोर इंट xValue; // जॉयस्टिक-एक्स इंट वाईवैल्यू; // जॉयस्टिक-वाई इंट zValue; // जॉयस्टिक-जेड इंट एफएक्स, एफवाई; // भोजन का समन्वय int SX, SY; // सांप के सिर का समन्वय int KEY, K; इंट सक्षम; // गेम चार एसएक्स [६४] को पुनः आरंभ करने में सक्षम करें; // स्नेक बॉडी चार सी का समन्वय [६४]; Adafruit_NeoPixel स्ट्रिप = Adafruit_NeoPixel(MAX_LED, PIN, NEO_RGB + NEO_KHZ800); शून्य रैंडम () {ए: एफएक्स = यादृच्छिक (0, 7); एफवाई = यादृच्छिक (0, 7); for (int i = 0; i <3 + Score; i++) // सांप के शरीर पर भोजन के प्रदर्शन को रोकें {if (FX == sx && FY == sy) goto A; } } void myDelay(unsigned int Time) {// सांप की गति में देरी की अवधि के दौरान, हमें भोजन चमक जैसा कुछ करना होगा और जॉयस्टिक की दिशा को पढ़ना होगा (int t = 1; t 950 && KEY!= 5) { के = 8; } और अगर (yValue <50 && KEY!= 8) {K = 5; } और अगर (xValue 950 && KEY != 4) { K = 6; } } // यहां आप तुलना कर सकते हैं कि कीपैड की दिशा सांप की चाल की दिशा के विपरीत है या नहीं। अगर यह विपरीत है, तो कीपैड को छोड़ दें। /******** *************************************************** *************************************************** *************************************************** ********/ शून्य गेमओवर () {// गेमओवर प्रोग्राम बंद होने के बाद, गेम को पुनरारंभ करने के लिए केंद्रीय बटन दबाएं। अहस्ताक्षरित चार मान, y; रंग [0] = यादृच्छिक (3, 18); // रंग सेट करें। पैरामीटर आरजीबी है, रेंज 0-255 है। रंग [1] = यादृच्छिक (3, 18); रंग [२] = यादृच्छिक (३, १८); सी = पट्टी। रंग (रंग [1], रंग [0], रंग [2]); मूल्य = स्कोर / 10; मूल्य = मूल्य * 4; वाई = 0; के लिए (संख्या = मान; संख्या <मान + 4; संख्या ++) {के लिए (अहस्ताक्षरित चार लंबवत = 0; लंबवत <8; लंबवत ++) {डिस्प्लेकोर [वाई] [ऊर्ध्वाधर] = वर्ण [संख्या] [ऊर्ध्वाधर]; } वाई++; } मान = स्कोर% 10; मूल्य = मूल्य * 4; के लिए (संख्या = मान; संख्या <मान + 4; संख्या ++) {के लिए (अहस्ताक्षरित चार लंबवत = 0; लंबवत <8; लंबवत ++) {डिस्प्लेकोर [वाई] [ऊर्ध्वाधर] = वर्ण [संख्या] [ऊर्ध्वाधर]; } वाई++; } के लिए (अहस्ताक्षरित चार क्षैतिज = 0; क्षैतिज <8; क्षैतिज ++) {के लिए (अहस्ताक्षरित चार लंबवत = 0; लंबवत <8; लंबवत ++) { अगर (डिस्प्लेस्कोर [क्षैतिज] [ऊर्ध्वाधर] == 1) // जज करें कि प्रकाश चालू है। { strip.setPixelColor (प्रकाश [क्षैतिज] [ऊर्ध्वाधर], ग); } और strip.setPixelColor (प्रकाश [क्षैतिज] [ऊर्ध्वाधर], 0); } } स्ट्रिप.शो (); // डेटा देरी भेजें (5000); के = 0; // जॉयस्टिक दिशा sx [0] = 2 रीसेट करें; एसएक्स [1] = 1; एसएक्स [२] = ०; सी [0] = 1; सी [1] = 1; सी [२] = १; // साँप समन्वय स्कोर = 0 रीसेट करें; // रीसेट गेम स्कोर स्पीडएस = ४००; // सांप की प्रारंभिक गति} शून्य सेटअप () {Serial.begin (९६००); // लाइब्रेरी स्ट्रिप को इनिशियलाइज़ करें। शुरू (); // डेटा भेजें। प्रत्येक बिंदु के रंग को 0 के रूप में डिफ़ॉल्ट करें। इसलिए प्रत्येक बिंदु शुरुआत में प्रकाशित नहीं होता है। कपड़े उतारने का प्रदर्शन(); के = 0; // जॉयस्टिक sx [0] = 2 की दिशा रीसेट करें; एसएक्स [1] = 1; एसएक्स [२] = ०; सी [0] = 1; सी [1] = 1; सी [२] = १; // साँप समन्वय स्कोर = 0 रीसेट करें; // गेम स्कोर रीसेट करें रंग [0] = यादृच्छिक (3, 18); // रंग सेट करें। पैरामीटर आरजीबी है, रेंज 0-255 है। रंग [1] = यादृच्छिक (3, 18); रंग [२] = यादृच्छिक (३, १८); सी = पट्टी। रंग (रंग [1], रंग [0], रंग [2]); // हरा लाल नीला // के लिए रंग सेट करें (संख्या = 0; संख्या <24; संख्या ++) {trip.setPixelColor (जाओ [संख्या], सी); } स्ट्रिप.शो ();// डेटा देरी भेजें (2000); यादृच्छिक रूप से(); // भोजन का उत्पादन करें} शून्य मोबाइल () {कुंजी = के; // सांप की हर हरकत एक बार के लिए दिशा बदल देती है। अगर (कुंजी == 8) // सांप ऊपर की ओर गति {के लिए (int i = 2 + स्कोर; i> 0; i--) {sx = sx [i - 1]; सी = एसई [i - 1]; } सी [0] = एसवाई [0] - 1; अगर (sy[0] <0) // सीमा से आगे बढ़ें और दूसरी तरफ जारी रखें sy[0] = 7; } और अगर (कुंजी == 5) // सांप नीचे की ओर गति {के लिए (int i = 2 + स्कोर; i> 0; i--) {sx = sx [i - 1]; सी = एसई [i - 1]; } सी [0] = एसवाई [0] + 1; अगर (sy[0] > 7) // सीमा के पार जाएं और दूसरी तरफ जारी रखें sy[0] = 0; } और अगर (कुंजी == 4) // सांप ने आंदोलन छोड़ दिया {के लिए (int i = 2 + स्कोर; i> 0; i--) {sx = sx [i - 1]; सी = एसई [i - 1]; } एसएक्स [0] = एसएक्स [0] - 1; अगर (एसएक्स [0] <0) // सीमा से परे जाएं और दूसरी तरफ एसएक्स [0] = 7 जारी रखें; } और अगर (कुंजी == 6) // सांप सही गति {के लिए (int i = 2 + स्कोर; i> 0; i--) {sx = sx [i - 1]; सी = एसई [i - 1]; } एसएक्स [0] = एसएक्स [0] + 1; अगर (sx[0] > 7) // सीमा के पार जाएं और दूसरी तरफ sx[0] = 0 जारी रखें; } // बटन के साथ सांप के शरीर को ले जाएं } शून्य डिस्प्ले () { के लिए (संख्या = 0; संख्या <64; संख्या ++) // स्क्रीन साफ़ करें {trip.setPixelColor (संख्या, 0); } कपड़े उतारने का प्रदर्शन(); रंग [0] = ४०; // रंग सेट करें। पैरामीटर आर जी बी है, रेंज 0-255 है। रंग [1] = 0; रंग [२] = ०; सी = पट्टी। रंग (रंग [1], रंग [0], रंग [2]); // हरा लाल नीला // रंग x = प्रकाश सेट करें [FX] [वित्त वर्ष]; // भोजन पट्टी प्रदर्शित करें। सेट पिक्सेल रंग (एक्स, सी); रंग [0] = यादृच्छिक (3, 18); // रंग सेट करें। पैरामीटर आर जी बी है, रेंज 0-255 है। रंग [1] = यादृच्छिक (3, 18); रंग [२] = यादृच्छिक (३, १८); सी = पट्टी। रंग (रंग [1], रंग [0], रंग [2]); // हरा लाल नीला // के लिए रंग सेट करें (int i = 2 + स्कोर; i> 0; i--) // सांप का शरीर प्रदर्शित करें {x = प्रकाश [sx [sy ; स्ट्रिप.सेट पिक्सेल रंग (एक्स, सी); } रंग [0] = 0; // रंग सेट करें। पैरामीटर आर जी बी, रेंज 0-255 है। रंग [1] = ४०; रंग [२] = ०; सी = पट्टी। रंग (रंग [1], रंग [0], रंग [2]); // हरा लाल नीला // रंग x = प्रकाश सेट करें [sx [0] [sy [0]; // स्नेक हेड स्ट्रिप प्रदर्शित करें। सेट पिक्सेलकलर (एक्स, सी); स्ट्रिप.शो (); // डेटा भेजें} शून्य लूप () {मोबाइल (); myDelay (स्पीडएस); // भीतर() देरी का समय है। प्रदर्शित करता है (); एसएक्स = एसएक्स [0]; एसवाई = एसवाई [0]; // सांप के सिर का समन्वय प्राप्त करें (int i = 1; i <= 2 + स्कोर; i ++) {if (SX == sx && SY == sy ) गेमओवर (); } // जज करें कि क्या सांप के सिर ने उसके शरीर को छुआ है। अगर छुआ है, तो GameOver को अग्रेषित करें। अगर (एसवाई == वित्तीय वर्ष && एसएक्स == एफएक्स) {रैंडम (); स्कोर ++; रंग [0] = ४०; // रंग सेट करें। पैरामीटर आर जी बी है, रेंज 0-255 है। रंग [1] = 0; रंग [२] = ०; सी = पट्टी। रंग (रंग [1], रंग [0], रंग [2]); // हरा लाल नीला // रंग x = प्रकाश सेट करें [FX] [वित्त वर्ष]; // खाद्य पट्टी प्रदर्शित करें। सेट पिक्सेल रंग (एक्स, सी); स्ट्रिप.शो (); // डेटा भेजें अगर (!(स्कोर% 5)) {// स्कोर के अनुसार सांप की गति तेज करें। खाए गए प्रत्येक 5 खाद्य पदार्थ, 100ms की गति बढ़ाएं। गतिएस = गतिएस - 50; अगर (स्पीडएस <150) // नीचे की सीमा 200ms है। यदि गति 200ms से कम है, तो गति 200ms रहती है। स्पीडएस = १५०; } } // जज करें कि क्या खाना खाया जाता है। अगर सांप ने खाना खाया, तो प्लस स्कोर और भोजन को बेतरतीब ढंग से पुन: उत्पन्न करता है। }
प्रयोग परिणाम
चरण 4: प्रयोग परिणाम
सापेक्ष रीडिंग:
फ्रीक्सबॉट ब्लूटूथ कार
Arduino के साथ 8*8 NeoPixels मैट्रिक्स पर पहला मनका जलाएं
माइक्रो: बिट एक्सपेरिमेंट 05: RGB LED - Elecfreaks Mirco: बिट स्टार्टर किट कोर्स
शुक्रवार उत्पाद पोस्ट: एलईडी संगीत आवृत्ति स्पेक्ट्रम प्रदर्शन सोल्डरिंग किट
स्मार्ट लाइट बनाने के लिए ElecFreaks माइक्रो: बिट टिंकर किट का उपयोग करें
सिफारिश की:
डिजिटल घड़ी एलईडी डॉट मैट्रिक्स - ईएसपी मैट्रिक्स एंड्रॉइड ऐप: 14 कदम
डिजिटल क्लॉक एलईडी डॉट मैट्रिक्स - ईएसपी मैट्रिक्स एंड्रॉइड ऐप: यह लेख पीसीबीवे द्वारा गर्व से प्रायोजित है। पीसीबीवे दुनिया भर के लोगों के लिए उच्च गुणवत्ता वाले प्रोटोटाइप पीसीबी बनाते हैं। इसे अपने लिए आजमाएं और बहुत अच्छी गुणवत्ता के साथ PCBWAY पर मात्र $5 में 10 PCB प्राप्त करें, धन्यवाद PCBWAY। ईएसपी मैट्रिक्स बोर्ड जो मैंने विकसित किया है
DIY स्मार्ट एलईडी मैट्रिक्स (ESP8266 + WS2812 / NeoPixels): 7 कदम (चित्रों के साथ)
DIY स्मार्ट एलईडी मैट्रिक्स (ESP8266 + WS2812 / NeoPixels): यहां एक प्रोजेक्ट के लिए मेरा परिचय है जिसे मैं आपको दिखाने के लिए बहुत उत्साहित हूं। यह एक DIY स्मार्ट एलईडी मैट्रिक्स के बारे में है जो आपको उस पर दिखाने देगा, डेटा, जैसे कि YouTube आँकड़े, आपके स्मार्ट होम आँकड़े, तापमान, आर्द्रता के रूप में, एक साधारण घड़ी हो सकती है, या बस थाने के लिए
IoT स्मार्ट क्लॉक डॉट मैट्रिक्स Wemos ESP8266 - ESP मैट्रिक्स का उपयोग करें: 12 चरण (चित्रों के साथ)
IoT स्मार्ट क्लॉक डॉट मैट्रिक्स Wemos ESP8266 - ESP मैट्रिक्स का उपयोग करें: अपनी खुद की IoT स्मार्ट घड़ी बनाएं जो: एक सुंदर एनीमेशन आइकन के साथ घड़ी प्रदर्शित करें रिमाइंडर -1 से रिमाइंडर -5 प्रदर्शित करें कैलेंडर प्रदर्शित करें मुस्लिम प्रार्थना समय प्रदर्शित करें मौसम की जानकारी प्रदर्शन समाचार प्रदर्शन सलाह प्रदर्शन बिटकॉइन दर प्रदर्शन
सांप का खेल: 4 कदम
स्नेक गेम: हेलो दोस्तों, आज मैं आपको दिखाऊंगा कि पाइथन में एक बेसिक स्नेक गेम कैसे बनाया जाता है और दोस्तों को इस वेकेशन में विस्मित कर दिया जाता है। यह बहुत आसान है आपको बस जरूरत है अजगर 3 और पायगम इंस्टॉल। इस निर्देशयोग्य में मैंने pygame को स्थापित करने के तरीके पर वीडियो जोड़ा है। बाद में
सी में सांप का खेल: 8 कदम
गेम ऑफ स्नेक इन सी: स्नेक गेम पुराने मोबाइल फोन में लोकप्रिय था जिसे सी प्रोग्राम का उपयोग करके बहुत आसानी से विकसित किया जा सकता है। इस प्रोजेक्ट को बनाने के लिए आपको c सिंटैक्स की बुनियादी समझ की आवश्यकता है। उदाहरण: लूप के लिए, जबकि लूप, आदि। इस प्रकार के गेम प्रोजेक्ट के निर्माण के साथ आपका प्रोग्राम