สารบัญ:
- ขั้นตอนที่ 1: ทุกชิ้นส่วน
- ขั้นตอนที่ 2: วิธีเชื่อมต่อชิ้นส่วนต่างๆ กับ Arduino
- ขั้นตอนที่ 3: ผังการทำงานของโปรแกรม
- ขั้นตอนที่ 4: ตั้งโปรแกรมจอยสติ๊ก
- ขั้นตอนที่ 5: ระดับแรก
- ขั้นตอนที่ 6: การตรวจจับการชน
- ขั้นตอนที่ 7: สองระดับสุดท้าย
วีดีโอ: การสร้างเกมที่ยากที่สุดในโลกบน Arduino: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
โปรเจ็กต์นี้สร้างจากเกมคอมพิวเตอร์ที่คุณสามารถหาได้ทางออนไลน์ ชื่อของมันก็คือ "เกมที่ยากที่สุดในโลก" ฉันสามารถสร้างมันขึ้นมาใหม่บน Arduino โดยใช้ LED Matrix สี่โมดูล ในคำแนะนำนี้ฉันสอนวิธีสร้างมันด้วยตัวเอง ก่อนที่เราจะลงรายละเอียดมากเกินไป ฉันต้องการให้ภาพรวมคร่าวๆ ของขั้นตอนต่างๆ ที่ฉันทำเพื่อสร้างเกมนี้
- ฉันรวบรวมทุกส่วนที่จำเป็น
- ฉันเชื่อมต่อส่วนต่างๆเข้าด้วยกัน
- ฉันเขียนภาพสเก็ตช์ที่ใช้จอยสติ๊กเพื่อย้าย LED ของผู้เล่นไปยังโมดูลทั้งหมด
- ฉันออกแบบสิ่งกีดขวางแรกและเพิ่มเข้าไปในภาพสเก็ตช์เพื่อจำลองเกมที่ยากที่สุดในโลก
- จากนั้นฉันก็เพิ่มรหัสเพื่อตรวจจับการชนกับสิ่งกีดขวางซึ่งจะรีสตาร์ทเกม
- จากนั้นฉันก็ออกแบบอุปสรรคอีกสองระดับ
ขั้นตอนที่ 1: ทุกชิ้นส่วน
นี่คือรายการชิ้นส่วนทั้งหมดที่คุณต้องการ:
- ตัวเชื่อมต่อ Arduino UNO และ usb:
- สี่โมดูล 8x8: เมทริกซ์ LED
- จอยสติ๊ก:
- 10 สายชาย-หญิง:
ขั้นตอนที่ 2: วิธีเชื่อมต่อชิ้นส่วนต่างๆ กับ Arduino
วิธีเชื่อมต่อ LED Matrix กับ Arduino
- GND ไปที่ GND
- VCC ไปที่ 5V
- DataIn ไปที่ขาดิจิตอล 12
- CLK ไปที่ขาดิจิตอล 11
- CS หรือ LOAD ไปที่พินดิจิตอล 10
วิธีเชื่อมต่อจอยสติ๊ก
- GND ไปที่ GND
- 5V ไปที่ 5V
- VRx ไปที่ขาอะนาล็อก A0
- VRy ไปที่ขาอะนาล็อก A1
- SW ไม่ได้ใช้
แบตเตอรี่เชื่อมต่อกับแจ็ค 9v เพื่อให้พลังงาน Arduino
ขั้นตอนที่ 3: ผังการทำงานของโปรแกรม
วงรีแสดงถึงการเริ่มต้นของโปรแกรม
ขั้นตอนแรกคือการกำหนดอุปสรรคทั้งหมด
สองขั้นตอนถัดไประบุการตั้งค่าตัวแปรและเปิดโมดูลทั้งหมด
ขั้นตอนต่อไป คือการตั้งค่า LED เป็นระดับแรกและตัวแปรอื่นๆ
ถัดไปแสดงระดับที่ผู้เล่นเปิดอยู่
รูปสี่เหลี่ยมขนมเปียกปูนระบุว่ากำลังอ่านจอยสติ๊กเพื่อดูว่ามีการผลักไปในทิศทางใด
จากนั้นให้ย้ายเครื่องเล่นไปในทิศทางใดก็ตามที่จอยสติ๊กถูกผลัก
ตรวจสอบและดูว่าผู้เล่นชนกับสิ่งกีดขวางหรือไม่
หากผู้เล่นชนสิ่งกีดขวางให้กลับไปที่ระดับแรก ถ้าไม่ตรวจสอบดูว่าผู้เล่นถึงจุดสิ้นสุดของระดับหรือไม่
หากผู้เล่นอยู่ที่จุดสิ้นสุดของระดับ ตั้งค่าเป็นระดับถัดไปแล้วกลับไปที่ "แสดงระดับปัจจุบัน" หากยังไม่ถึงจุดสิ้นสุด ให้ย้ายสิ่งกีดขวางและกลับไปที่ "อ่านจอยสติ๊ก"
ขั้นตอนที่ 4: ตั้งโปรแกรมจอยสติ๊ก
แน่นอน ในการที่จะย้ายจุดเล็กๆ ที่เป็นผู้เล่น เราจำเป็นต้องมีจอยสติ๊ก และเพื่อให้จอยสติ๊กสามารถเคลื่อนย้ายเครื่องเล่นได้จริง เราจำเป็นต้องเขียนโค้ดใน Arduino IDE คุณต้องรวมไลบรารี LedControl ซึ่งคุณสามารถค้นหาได้โดยไปที่เมนูแบบร่าง>รวมไลบรารี>จัดการไลบรารี และค้นหา LedControl นี่คือลักษณะของรหัสสำหรับจอยสติ๊ก
#include "LedControl.h"
int DataIn = 12; int CLK = 11; int DIN = 10; LedControl lc=LedControl(DataIn, CLK, DIN, 4); //สร้างวัตถุสำหรับสี่โมดูล int delaytime = 50; //ความเร็วที่เกมรัน int joystick_RtLt, joystick_UpDn; ผู้เล่น int_x = 0; //ผู้เล่นตำแหน่งแนวนอนจาก 0 ถึง 31 int players_y = 3; // ผู้เล่นตำแหน่งแนวตั้งจาก 0 ถึง 7 int แถว, คอลัมน์, โมดูล; การตั้งค่าเป็นโมฆะ () { initialize_modules (); // เปิดและตั้งค่าโมดูลนำทั้งสี่ } วงเป็นโมฆะ () { move_player (); // เริ่มวนซ้ำโดยตรวจสอบว่าผู้เล่นเคลื่อนที่ล่าช้าหรือไม่ (เวลาหน่วง); } เป็นโมฆะ initialize_modules(){ lc.shutdown(0, false); // เริ่มต้นโมดูล 0 lc.setIntensity(0, 1); lc.shutdown(1, เท็จ); // เริ่มต้นโมดูล 1 lc.setIntensity(1, 1); lc.shutdown(2, เท็จ); // เริ่มต้นโมดูล 2 lc.setIntensity(2, 1); lc.shutdown(3, เท็จ); // เริ่มต้นโมดูล 3 lc.setIntensity(3, 1); lc.clearDisplay(0); // ล้างโมดูล 0 } โมฆะ move_player () { โมดูล = players_x/8; //กำหนดโมดูลที่ผู้เล่นอยู่ในคอลัมน์ = players_x%8; //กำหนดคอลัมน์ที่ผู้เล่นอยู่ในแถวโมดูล = players_y; lc.setLed(โมดูล แถว คอลัมน์ เท็จ); //ปิดไฟ LED ที่ตำแหน่งปัจจุบันของผู้เล่น joystick_RtLt = analogRead(A0)/204 - 2; //อ่านจอยสติ๊ก X และช่วงแผนที่ตั้งแต่ 2 ถึง -2 if(joystick_RtLt > 0) //เมื่อจอยสติ๊กอยู่ที่ผู้เล่นที่ถูกต้อง _x++; // ไปทางอื่น if(joystick_RtLt 0) // ถ้าจอยสติกอยู่ทางซ้ายและไม่ใช่จุดเริ่มต้น players_x--; //เลื่อนไปทางซ้าย joystick_UpDn = analogRead(A1)/204 - 2; //อ่านจอยสติ๊ก Y และช่วงแผนที่ตั้งแต่ 2 ถึง -2 if(joystick_UpDn 0) // ถ้าจอยสติ๊กไม่ทำงานและผู้เล่นไม่ได้อยู่ที่ด้านล่าง players_y--; //เลื่อนลงไปที่อื่น if(joystick_UpDn > 0 && players_y < 7) //ถ้าจอยสติ๊กเปิดอยู่และผู้เล่นไม่อยู่ด้านบน players_y++; //ขึ้นไปโมดูล = players_x/8; // ตั้งค่าโมดูลให้กับผู้เล่น คอลัมน์ตำแหน่งใหม่ = players_x%8; // ตั้งค่าคอลัมน์ให้กับผู้เล่น ตำแหน่งใหม่ แถว = players_y; // กำหนดแถวให้กับผู้เล่นตำแหน่งใหม่ lc.setLed (โมดูล, แถว, คอลัมน์, จริง); //เปิดไฟ led ที่ตำแหน่งใหม่ของผู้เล่น }
ตอนนี้คุณได้เพิ่มจอยสติ๊กแล้ว มาทำงานกับสิ่งกีดขวางแรกกัน!
ขั้นตอนที่ 5: ระดับแรก
เอาล่ะ ได้เวลาเข้าสู่ส่วนหลักของโปรแกรมแล้ว สิ่งกีดขวาง! อุปสรรคคือสิ่งที่ทำให้เกมนี้เป็น "เกมที่ยากที่สุดในโลก" ดังนั้นหากคุณต้องการเล่นเกมจริงๆ คุณต้องเพิ่มสิ่งนี้ในรหัสของคุณ:
อุปสรรคไบต์[LEVELS][SCENES][COLUMNS][ROWS] = { //สามระดับ 8 ฉาก 8 collums 8 แถว
{{{1, 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}, {0, 0, 1, 1, 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}}, {{1, 1, 1, 1, 1, 0, 0, 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}, {1, 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}}, {{1, 1, 1, 1, 0, 0, 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}, {1, 1, 0, 0, 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}}, {{1, 1, 1, 0, 0, 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}, {1, 1, 1, 0, 0, 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}}, {{1, 1, 0, 0, 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}, {1, 1, 1, 1, 0, 0, 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}}, {{1, 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}, { 1, 1, 1, 1, 1, 0, 0, 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, 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 } {1, 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}}, {{0, 1, 1, 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}, {1, 1, 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}}} การตั้งค่าเป็นโมฆะ () { initialize_modules (); // เปิดและตั้งค่าโมดูลนำทั้งสี่ start_level(0); วงเป็นโมฆะ () { move_player (); // เริ่มวนซ้ำโดยตรวจสอบว่าผู้เล่นเคลื่อนที่หรือไม่ถ้า (ชน ()) { // ตรวจสอบระดับการชน = 0; //ถ้าเกิดการชนกันจริง ให้รีเซ็ตระดับ start_level(ระดับ); // เริ่มเกมใหม่ } else if (delay_count == barrier_delay) { // ถ้าไม่มีการชนกัน ย้ายสิ่งกีดขวาง ทุก ๆ ดีเลย์ moveobstacle (); delay_count = 0; }อื่น ๆ delay_count++; ล่าช้า (ล่าช้า); //ดีเลย์ตามความเร็วของเกม }
และนั่นคืออุปสรรคแรก! หากคุณเบื่อกับด่านนี้เป็นด่านแรก คุณสามารถเปลี่ยนไบต์ได้เสมอ จำไว้ว่าคุณต้องมีฉากที่แตกต่างกันถึงแปดฉาก! ไปต่อในขั้นตอนต่อไป การตรวจจับการชนกัน!
ขั้นตอนที่ 6: การตรวจจับการชน
ขั้นตอนนี้ถือเป็นอีกส่วนสำคัญของเกม ถ้าหากไม่มีก็คงไม่ท้าทายอะไรมาก! คุณสามารถสานทางของคุณผ่านสิ่งกีดขวางโดยไม่มีผลกระทบใด ๆ ! มันจะไม่สนุกมากใช่มั้ย? มาทำให้เกมมีความท้าทายมากขึ้น (และให้ความบันเทิงมากขึ้นด้วย!) โดยการเพิ่มส่วนนี้ของโปรแกรม:
วงเป็นโมฆะ () {
move_player(); // เริ่มวนซ้ำโดยตรวจสอบว่าผู้เล่นเคลื่อนที่หรือไม่ถ้า (ชน ()) { // ตรวจสอบระดับการชน = 0; //ถ้าเกิดการชนกันจริง ให้รีเซ็ตระดับ start_level(ระดับ); // เริ่มเกมใหม่ } else if (delay_count == barrier_delay) { // ถ้าไม่มีการชนกัน ย้ายสิ่งกีดขวาง ทุก ๆ ดีเลย์ moveobstacle (); delay_count = 0; }อื่น ๆ delay_count++; ล่าช้า (ล่าช้า); // หน่วงเวลาด้วยความเร็วของเกม } int การชนกัน (){ // ตรวจสอบว่าผู้เล่นชนสิ่งกีดขวางในโมดูลฉากหรือไม่ = players_x/8; คอลัมน์ = ผู้เล่น _x%8; แถว = ผู้เล่น_y; if(module > 0) if(obstacle[level][scene][column][row] == 1) //ถ้าตำแหน่งของผู้เล่นเหมือนกับสิ่งกีดขวางกลับมา(1); //ตรวจพบการชนกัน คืนค่ากลับจริง (0); //ไม่มีการชนกลับเท็จ }
แล้วคุณล่ะ! ตอนนี้คุณสามารถสนุกกับเกมได้มากขึ้น! ตอนนี้ฉันจะแสดงวิธีตั้งโปรแกรมสองระดับสุดท้ายของเกมให้คุณดู! คุณเกือบเสร็จแล้วกับคำแนะนำนี้ และฉันแน่ใจว่าคุณพร้อมที่จะลอง!
ขั้นตอนที่ 7: สองระดับสุดท้าย
เมื่อใกล้ถึงจุดสิ้นสุดของคำแนะนำ สองระดับสุดท้ายนี้เป็นทั้งหมดที่คุณต้องการเพื่อจบเกมนี้ จากนั้นคุณสามารถลองด้วยตัวคุณเอง! นี่คือรหัส:
อุปสรรคไบต์[LEVELS][SCENES][COLUMNS][ROWS] = { //ระดับที่สองและสาม 8 ฉาก 8 คอลัมน์ 8 แถว
{{{1, 0, 0, 0, 0, 0, 0, 0, 1}, // ระดับที่สอง, ฉากแรก {0, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, { 0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0, 1}}, {{1, 1, 0, 0, 0, 0, 0, 1}, // ระดับที่สอง, ฉากที่สอง {0, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 0, 0 } {0, 1, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 1}}, {{0, 1, 0, 0, 0, 0, 0, 0}, // ระดับที่สอง, ฉากที่สาม {0, 0, 1, 1, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 1, 0}}, {{0, 0, 1, 0, 0, 0, 0, 0}, // ฉากที่สี่ระดับที่สอง {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {0, 1, 1, 1, 1, 0, 1, 0}, {0, 1, 0, 1, 1, 1, 1, 0}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0}}, {{0, 0, 0, 1, 0, 0, 0, 0}, // ระดับที่สอง, ห้า ฉากที่ {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 1, 1, 0, 0, 1}, {1, 0, 0, 1, 1, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 0}, // ระดับที่สอง ฉากที่หก {0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 1, 0, 0}, {1, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 1, 1}, {0, 0, 1, 0, 0, 1, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 1, 0, 0}, //ระดับที่สอง, ฉากที่เจ็ด {0, 0, 0, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 1, 1}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 0, 0, 1, 0}, // ฉากที่สองระดับแปด {1, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 0, 0, 0}}}, {{{0, 1, 0, 0, 0, 0, 0, 1}, // ระดับที่สาม, ฉากแรก {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 0} }, {{0, 0, 0, 0, 0, 1, 0, 0, 1}, // ระดับที่สาม, ฉากที่สอง {1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // ระดับที่สาม, ฉากที่สาม {0, 0, 0, 1, 0, 0, 1, 0}, { 0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 1}, // ระดับที่สาม, ฉากที่สี่ {1, 0, 0, 1, 0, 0, 1, 0 } {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // ระดับที่สาม, ฉากที่ห้า {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 1}, // ระดับที่สาม, ฉากที่หก {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}, {{0, 1, 0, 0, 1, 0, 0, 1}, // ระดับที่สาม, ฉากที่เจ็ด {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}}, {{0, 0, 0, 0, 1, 0, 0, 0}, // ระดับที่สาม, ฉากที่แปด { 1, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0}}} };
และนั่นแหล่ะ! คุณพร้อมแล้วที่จะพยายามเล่นเกมที่ยากที่สุดในโลกให้สำเร็จ นอกจากนี้ยังแนบรหัส Arduino แบบเต็มด้านล่าง
แนะนำ:
การออกแบบเกมในการสะบัดใน 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++)
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino