विषयसूची:

फ्लॉपी बर्ड: ३ कदम
फ्लॉपी बर्ड: ३ कदम

वीडियो: फ्लॉपी बर्ड: ३ कदम

वीडियो: फ्लॉपी बर्ड: ३ कदम
वीडियो: How To Create Flappy Bird In Scratch In Under 1 Minute! 2024, जुलाई
Anonim
फ्लॉपी बर्ड
फ्लॉपी बर्ड
फ्लॉपी बर्ड
फ्लॉपी बर्ड

आज हम TFT LCD का उपयोग करके एक गेम बना रहे हैं। यह एक ऐसे खेल की तरह दिखेगा जो वास्तव में लोकप्रिय है और बहुत सारे लोग अभी भी इस खेल को खेलते हैं। गेम को फ्लैपी बर्ड कहा जाता है लेकिन यह गेम थोड़ा अलग है क्योंकि यूआई अलग होने के साथ-साथ गेम के काम करने का तरीका भी अलग है। मैंने इस गेम को फ़्लॉपी बर्ड कहा क्योंकि इससे कॉपीराइट समस्याएँ हो सकती हैं। बहरहाल, यह वास्तव में एक मजेदार खेल है और इसे बनाना आसान है। मैंने इसे निर्देश योग्य बनाया है जो आपको खेल को पूरी तरह से बनाने और इसे मेरे जैसा काम करने की अनुमति देगा। अगर आपका कोई सवाल है तो कृपया नीचे कमेंट करें और मैं इन सवालों का जल्द से जल्द जवाब देने की कोशिश करूंगा।

आपूर्ति

- अरुडिनो मेगा 2560 और केबल

- अरुडिनो मेगा शील्ड

- Arduino TFT LCD, Arduino Mega 2560. के साथ संगत

- एसडी कार्ड

चरण 1: TFT LCD को असेंबल करना

TFT LCD को असेंबल करना
TFT LCD को असेंबल करना

अब, हम TFT LCD को असेंबल करना शुरू कर सकते हैं। हम टीएफटी एलसीडी को शील्ड से जोड़ेंगे, इसलिए सबसे पहले टीएफटी एलसीडी लें और मूल रूप से इसे शील्ड पर पिन के साथ संरेखित करें। एक बार जब आप पिन को संरेखित कर लेते हैं, तो TFT LCD को नीचे की ओर धकेलें ताकि वह अपनी जगह पर फिट हो जाए। जब सभी पिन हेड शील्ड में होते हैं और आप पिन हेड्स नहीं देख पाते हैं, तब आपको पता चलता है कि TFT LCD ठीक से जुड़ा हुआ है। इसके बाद, हम शील्ड को Arduino Mega 2560 में प्लग इन कर सकते हैं। Arduino Mega पर शील्ड के पिन को संरेखित करें और इसे प्लग इन करें। जब सभी पिन हेड्स Arduino Mega में हों और आप पिन हेड्स नहीं देख सकते हैं, तो जब आप जानते हैं कि टीएफटी एलसीडी ठीक से जुड़ा हुआ है और यह चालू होने के लिए तैयार है। Arduino में प्लग इन करें यह देखने के लिए कि क्या आपने LCD को ठीक से कनेक्ट किया है, यदि LCD चालू होता है और स्क्रीन सफेद है तो बधाई हो, आपने TFT LCD को सफलतापूर्वक कनेक्ट कर लिया है और अब यह प्रोग्राम करने के लिए तैयार है। अंत में, हमें एक काम करना है, जो एलसीडी में एसडी कार्ड को कनेक्ट करना है। टीएफटी एलसीडी के पीछे एक एसडी कार्ड स्लॉट है जहां आप बस एसडी कार्ड में प्लग इन कर सकते हैं। इसलिए, बस इसे प्लग इन करें और यह हो गया।

चरण 2: टीएफटी एलसीडी प्रोग्रामिंग

टीएफटी एलसीडी प्रोग्रामिंग
टीएफटी एलसीडी प्रोग्रामिंग

अब, हम LCD को प्रोग्राम करेंगे ताकि यह गेम चलाए और हम इसे खेल सकें। नीचे वह कोड है जिसे आपको Arduino IDE का उपयोग करके संकलित और अपलोड करना है।

आपके पास हो सकती हैं समस्याएं:

आपके पास मौजूद मॉडल के अनुसार TFT LCD के मापदंडों को बदलें।

पूरा कोड:

#शामिल करें #शामिल करें

//==== वस्तुओं का निर्माण

UTFT myGLCD(ILI9341_16, 38, 39, 40, 41); // पैरामीटर्स को आपके डिस्प्ले/शील्ड मॉडल URTouch myTouch(6, 5, 4, 3, 2) में समायोजित किया जाना चाहिए;

//==== फ़ॉन्ट्स को परिभाषित करना

बाहरी uint8_t स्मॉलफॉन्ट ; बाहरी uint8_t बिगफॉन्ट ; बाहरी uint8_t सेवनसेगनमफॉन्ट ;

बाहरी अहस्ताक्षरित int Bird01[0x41A]; // पक्षी बिटमैप

इंट एक्स, वाई; // निर्देशांक के लिए चर जहां प्रदर्शन दबाया गया है

// फ्लॉपी बर्ड

इंट एक्सपी = ३१९; इंट वाईपी = १००; इंट वाईबी = ५०; इंट मूविंगरेट = 3; इंट फॉलरेटइंट = 0; फ्लोट फॉलरेट = 0; इंट स्कोर = 0; इंट लास्टस्पीडअपस्कोर = 0; इंट उच्चतम स्कोर; बूलियन स्क्रीनप्रेस = झूठा; बूलियन गेमस्टार्टेड = झूठा;

व्यर्थ व्यवस्था() {

// myGLCD. InitLCD () प्रदर्शित करें; myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision(PREC_MEDIUM); उच्चतम स्कोर = EEPROM.read(0); // EEPROM इनिशिएटिवगेम () से उच्चतम स्कोर पढ़ें; // खेल शुरू करें }

शून्य लूप () {

xP=xP-चलती दर; // xP - x स्तंभों का समन्वय करता है; रेंज: ३१९ - (-५१) ड्रापिलर्स (एक्सपी, वाईपी); // खंभों को खींचता है // yB - y पक्षी का निर्देशांक जो गिरने की दर चर के मूल्य पर निर्भर करता है yB+=fallRateInt; गिरावट दर = गिरावट दर + 0.4; // प्रत्येक प्रवेश में गिरावट की दर में वृद्धि होती है ताकि हम त्वरण/गुरुत्वाकर्षण के प्रभाव को कम कर सकें फॉलरेटइंट = इंट (फॉलरेट); // टकराव के लिए जाँच करता है अगर (yB> = 180 || yB <=0) {// ऊपर और नीचे गेमओवर (); } if((xP=5) && (yB<=yP-2)){// अपर पिलर गेमओवर (); } if((xP=5) && (yB>=yP+60)){// लोअर पिलर गेमओवर (); } // बर्ड ड्रा बर्ड (yB) खींचता है;

// स्तंभ के स्क्रीन से गुजरने के बाद

अगर (xPRESET=250) && (x=0) && (y=0) && (x=30) && (y=270){ myGLCD.setColor(0, 200, 20); myGLCD.fillRect(318, 0, x, y-1); myGLCD.setColor(0, 0, 0); myGLCD.drawRect(319, 0, x-1, y);

myGLCD.setColor(0, 200, 20);

myGLCD.fillRect(318, y+81, x, 203); myGLCD.setColor(0, 0, 0); myGLCD.drawRect(319, y+80, x-1, 204); } और अगर (x<=268) {// स्तंभ myGLCD.setColor(114, 198, 206) के दाईं ओर नीला आयत बनाता है; myGLCD.fillRect(x+51, 0, x+60, y); // स्तंभ खींचता है myGLCD.setColor(0, 200, 20); myGLCD.fillRect(x+49, 1, x+1, y-1); // स्तंभ के काले फ्रेम को खींचता है myGLCD.setColor(0, 0, 0); myGLCD.drawRect(x+50, 0, x, y); // स्तंभ myGLCD.setColor (114, 198, 206) के बाईं ओर नीले रंग का आयत खींचता है; myGLCD.fillRect(x-1, 0, x-3, y);

// नीचे का खंभा

myGLCD.setColor(114, 198, 206); myGLCD.fillRect(x+51, y+80, x+60, 204); myGLCD.setColor(0, 200, 20); myGLCD.fillRect(x+49, y+81, x+1, 203); myGLCD.setColor(0, 0, 0); myGLCD.drawRect(x+50, y+80, x, 204); myGLCD.setColor(114, 198, 206); myGLCD.fillRect(x-1, y+80, x-3, 204); } // स्कोर को ड्रा करता है myGLCD.setColor(0, 0, 0); myGLCD.setBackColor(२२१, २१६, १४८); myGLCD.setFont (बिगफॉन्ट); myGLCD.printNumI (स्कोर, 100, 220); }

//====== ड्रॉबर्ड () - कस्टम फ़ंक्शन

शून्य ड्रॉबर्ड (इंट वाई) {// पक्षी को खींचता है - बिटमैप myGLCD.drawBitmap (50, y, 35, 30, Bird01); // अपनी पिछली स्थिति को साफ़ करने के लिए पक्षी के ऊपर और नीचे नीले रंग के आयत बनाएं myGLCD.setColor(114, 198, 206); myGLCD.fillRoundRect (५०, y, ८५, y-६); myGLCD.fillRoundRect(50, y+30, 85, y+36); } //======= गेमओवर () - कस्टम फंक्शन शून्य गेमओवर () {देरी (3000); // 1 सेकंड // स्क्रीन को साफ करता है और टेक्स्ट को प्रिंट करता है myGLCD.clrScr(); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (बिगफॉन्ट); myGLCD.print ("गेम ओवर", सेंटर, 40); myGLCD.print ("स्कोर:", 100, 80); myGLCD.printNumI (स्कोर, 200, 80); myGLCD.print ("पुनरारंभ कर रहा है…", केंद्र, 120); myGLCD.setFont(SevenSegNumFont); myGLCD.printNumI(2, CENTER, 150); देरी (1000); myGLCD.printNumI(1, केंद्र, 150); देरी (1000); // EEPROM में उच्चतम स्कोर लिखता है अगर (स्कोर> उच्चतम स्कोर) {उच्चतम स्कोर = स्कोर; EEPROM.लिखें(0, उच्चतम स्कोर); } // स्थिति मान शुरू करने के लिए चर को रीसेट करता है xP=319; वाईबी = ५०; गिरावट = 0; स्कोर = 0; लास्टस्पीडअपस्कोर = 0; चलती दर = 3; गेमस्टार्ट = झूठा; // खेल को फिर से शुरू करें खेल शुरू करें (); }

चरण 3: हो गया

किया हुआ!
किया हुआ!

हमने सर्किट बनाया है और कोड संकलित किया है। अब, हमें बस Arduino mega में प्लग इन करना है और गेम खेलना है।

यहां, मेरे पास एक वीडियो का लिंक है जो दिखाता है कि यह गेम कैसे काम करता है और इसे सेट करने के लिए क्या करना है:

drive.google.com/file/d/18hKQ8v2w2OkM_std-…

अगर आपको नीचे कोई समस्या है तो मुझे बताएं।

सिफारिश की: