สารบัญ:
วีดีโอ: ฟลอปปี้เบิร์ด: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
วันนี้เราจะทำเกมโดยใช้ TFT LCD นี่จะดูเหมือนเกมที่ได้รับความนิยมอย่างมากและผู้คนจำนวนมากยังคงเล่นเกมนี้อยู่ เกมนี้มีชื่อว่า Flappy Bird แต่เกมนี้แตกต่างออกไปเล็กน้อยเนื่องจาก UI นั้นแตกต่างกันเช่นเดียวกับวิธีการทำงานของเกม ฉันเรียกเกมนี้ว่า Floppy Bird เนื่องจากอาจนำไปสู่ปัญหาลิขสิทธิ์ อย่างไรก็ตาม มันเป็นเกมที่สนุกจริงๆ และทำง่าย ฉันได้ทำคำแนะนำนี้ซึ่งจะช่วยให้คุณสร้างเกมได้อย่างสมบูรณ์และทำให้มันทำงานได้เหมือนที่ฉันทำ หากคุณมีคำถามใด ๆ โปรดแสดงความคิดเห็นด้านล่างและเราจะพยายามตอบคำถามเหล่านี้โดยเร็วที่สุด
เสบียง
- Arduino Mega 2560 และเคเบิล
- Arduino Mega Shield
- Arduino TFT LCD เข้ากันได้กับ Arduino Mega 2560
- การ์ด SD
ขั้นตอนที่ 1: การประกอบ TFT LCD
ตอนนี้ เราสามารถเริ่มประกอบ TFT LCD ได้แล้ว เราจะเชื่อมต่อ TFT LCD กับชิลด์ ดังนั้นก่อนอื่น ให้นำ TFT LCD และจัดตำแหน่งให้ตรงกับหมุดบนชิลด์ เมื่อคุณจัดตำแหน่งหมุดแล้ว ให้กด TFT LCD ลงเพื่อให้เข้าที่ เมื่อพินทั้งหมดอยู่ในชิลด์และคุณมองไม่เห็นพิน นั่นคือเมื่อคุณรู้ว่า TFT LCD เชื่อมต่ออย่างถูกต้อง ต่อไป เราสามารถเสียบชิลด์เข้ากับ Arduino Mega 2560 ได้ จัดตำแหน่งพินของชิลด์บน Arduino Mega แล้วเสียบเข้าไป เมื่อหัวพินทั้งหมดอยู่ใน Arduino Mega และคุณมองไม่เห็นหัวพิน นั่นคือ เมื่อคุณรู้ว่า TFT LCD เชื่อมต่ออย่างถูกต้องและพร้อมที่จะเปิดเครื่อง เสียบ Arduino เพื่อดูว่าคุณได้เชื่อมต่อ LCD อย่างถูกต้องหรือไม่ หาก LCD เปิดขึ้นและหน้าจอเป็นสีขาว ยินดีด้วย คุณเชื่อมต่อ TFT LCD สำเร็จแล้ว และตอนนี้ก็พร้อมที่จะตั้งโปรแกรมแล้ว สุดท้ายนี้ เรามีสิ่งที่ต้องทำอย่างหนึ่งคือ เชื่อมต่อการ์ด SD ในจอ LCD ที่ด้านหลังของ TFT LCD มีช่องเสียบการ์ด SD ซึ่งคุณสามารถเสียบการ์ด SD ได้ ดังนั้นเพียงแค่เสียบปลั๊กก็เสร็จเรียบร้อย
ขั้นตอนที่ 2: ตั้งโปรแกรม TFT LCD
ตอนนี้เราจะตั้งโปรแกรม LCD เพื่อให้เล่นเกมและเล่นได้ ด้านล่างนี้คือโค้ดที่คุณต้องคอมไพล์และอัปโหลดโดยใช้ Arduino IDE
ปัญหาที่คุณอาจมี:
เปลี่ยนพารามิเตอร์ของ TFT LCD ตามรุ่นที่คุณมี
กรอกรหัส:
#รวม #รวม #รวม
//==== การสร้างวัตถุ
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); //ควรปรับพารามิเตอร์ตามรุ่น Display/Shield URTouch myTouch(6, 5, 4, 3, 2);
//==== การกำหนดแบบอักษร
extern uint8_t SmallFont; ภายนอก uint8_t BigFont; extern uint8_t SevenSegNumFont;
ภายนอก unsigned int bird01[0x41A]; // บิตแมปนก
int x, y; // ตัวแปรสำหรับพิกัดที่กดจอแสดงผล
// ฟลอปปี้เบิร์ด
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; ลอย fallRate = 0; คะแนน int = 0; int lastSpeedUpScore = 0; int คะแนนสูงสุด; บูลีน screenPressed = false; เกมบูลีนเริ่ม = false;
การตั้งค่าเป็นโมฆะ () {
// เริ่มการแสดง myGLCD. InitLCD(); myGLCD.clrScr(); myTouch. InitTouch(); myTouch.setPrecision(PREC_MEDIUM); คะแนนสูงสุด = EEPROM.read(0); // อ่านคะแนนสูงสุดจาก EEPROM beginGame(); // เริ่มเกม }
วงเป็นโมฆะ () {
xP=xP-อัตราการเคลื่อนที่; // xP - x พิกัดของเสา; ช่วง: 319 - (-51) drawPilars(xP, yP); // ดึงเสา // yB - y พิกัดของนกซึ่งขึ้นอยู่กับค่าของตัวแปร FallRate yB+=fallRateInt; fallRate=ตกอัตรา+0.4; // inetration แต่ละครั้งอัตราการล้มจะเพิ่มขึ้นเพื่อให้เราสามารถผลของการเร่งความเร็ว/ แรงโน้มถ่วง fallRateInt= int(fallRate); // ตรวจสอบการชนกัน if(yB>=180 || yB<=0){ // top and bottom gameOver(); } if((xP=5) && (yB<=yP-2))){ // เสาบน gameOver(); } if((xP=5) && (yB>=yP+60)){ // เสาล่าง gameOver(); } // วาดนก drawBird(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); } else if(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 (221, 216, 148); myGLCD.setFont(BigFont); myGLCD.printNumI(คะแนน, 100, 220); }
//====== drawBird() - ฟังก์ชั่นกำหนดเอง
เป็นโมฆะ drawBird (int y) {// วาดนก - บิตแมป myGLCD.drawBitmap (50, y, 35, 30, bird01); // วาดสี่เหลี่ยมสีน้ำเงินด้านบนและด้านล่างของนกเพื่อล้างสถานะก่อนหน้า myGLCD.setColor(114, 198, 206); myGLCD.fillRoundRect(50, y, 85, y-6); myGLCD.fillRoundRect(50, y+30, 85, y+36); } //======== gameOver () - ฟังก์ชั่นที่กำหนดเองเป็นโมฆะ gameOver () { ล่าช้า (3000); // 1 วินาที // ล้างหน้าจอและพิมพ์ข้อความ myGLCD.clrScr(); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(0, 0, 0); myGLCD.setFont(BigFont); myGLCD.print("จบเกม", CENTER, 40); myGLCD.print("คะแนน:", 100, 80); myGLCD.printNumI (คะแนน, 200, 80); myGLCD.print("กำลังเริ่มต้นใหม่…", CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI(2, CENTER, 150); ล่าช้า (1000); myGLCD.printNumI (1, CENTER, 150); ล่าช้า (1000); // เขียนคะแนนสูงสุดใน EEPROM ถ้า (คะแนน > คะแนนสูงสุด) { คะแนนสูงสุด = คะแนน; EEPROM.write(0,คะแนนสูงสุด); } // รีเซ็ตตัวแปรเพื่อเริ่มต้นค่าตำแหน่ง xP=319; yB=50; อัตราการตก = 0; คะแนน = 0; LastSpeedUpScore = 0; อัตราการเคลื่อนที่ = 3; gameStarted = เท็จ; // เริ่มเกมใหม่เริ่มต้นเกม (); }
ขั้นตอนที่ 3: เสร็จแล้ว
เราได้สร้างวงจรและคอมไพล์โค้ดแล้ว ตอนนี้เราแค่ต้องเสียบ Arduino mega แล้วเล่นเกม
ที่นี่ ฉันมีลิงก์ไปยังวิดีโอที่แสดงให้เห็นว่าเกมนี้ทำงานอย่างไรและต้องทำอย่างไรเพื่อตั้งค่า:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
แจ้งให้เราทราบหากคุณมีปัญหาใด ๆ ด้านล่าง
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง