สารบัญ:

การสร้างเกมที่ยากที่สุดในโลกบน Arduino: 7 ขั้นตอน
การสร้างเกมที่ยากที่สุดในโลกบน Arduino: 7 ขั้นตอน

วีดีโอ: การสร้างเกมที่ยากที่สุดในโลกบน Arduino: 7 ขั้นตอน

วีดีโอ: การสร้างเกมที่ยากที่สุดในโลกบน Arduino: 7 ขั้นตอน
วีดีโอ: EP 27. Arduino ฉบับไวจนไฟลุก !! - สาระเดฟ ใน 3 นาที 2024, พฤศจิกายน
Anonim
Image
Image

โปรเจ็กต์นี้สร้างจากเกมคอมพิวเตอร์ที่คุณสามารถหาได้ทางออนไลน์ ชื่อของมันก็คือ "เกมที่ยากที่สุดในโลก" ฉันสามารถสร้างมันขึ้นมาใหม่บน Arduino โดยใช้ LED Matrix สี่โมดูล ในคำแนะนำนี้ฉันสอนวิธีสร้างมันด้วยตัวเอง ก่อนที่เราจะลงรายละเอียดมากเกินไป ฉันต้องการให้ภาพรวมคร่าวๆ ของขั้นตอนต่างๆ ที่ฉันทำเพื่อสร้างเกมนี้

  1. ฉันรวบรวมทุกส่วนที่จำเป็น
  2. ฉันเชื่อมต่อส่วนต่างๆเข้าด้วยกัน
  3. ฉันเขียนภาพสเก็ตช์ที่ใช้จอยสติ๊กเพื่อย้าย LED ของผู้เล่นไปยังโมดูลทั้งหมด
  4. ฉันออกแบบสิ่งกีดขวางแรกและเพิ่มเข้าไปในภาพสเก็ตช์เพื่อจำลองเกมที่ยากที่สุดในโลก
  5. จากนั้นฉันก็เพิ่มรหัสเพื่อตรวจจับการชนกับสิ่งกีดขวางซึ่งจะรีสตาร์ทเกม
  6. จากนั้นฉันก็ออกแบบอุปสรรคอีกสองระดับ

ขั้นตอนที่ 1: ทุกชิ้นส่วน

ชิ้นส่วนทั้งหมด
ชิ้นส่วนทั้งหมด
ชิ้นส่วนทั้งหมด
ชิ้นส่วนทั้งหมด

นี่คือรายการชิ้นส่วนทั้งหมดที่คุณต้องการ:

  1. ตัวเชื่อมต่อ Arduino UNO และ usb:
  2. สี่โมดูล 8x8: เมทริกซ์ LED
  3. จอยสติ๊ก:
  4. 10 สายชาย-หญิง:

ขั้นตอนที่ 2: วิธีเชื่อมต่อชิ้นส่วนต่างๆ กับ Arduino

วิธีเชื่อมต่อชิ้นส่วนต่างๆ เข้ากับ Arduino
วิธีเชื่อมต่อชิ้นส่วนต่างๆ เข้ากับ Arduino

วิธีเชื่อมต่อ LED Matrix กับ Arduino

  1. GND ไปที่ GND
  2. VCC ไปที่ 5V
  3. DataIn ไปที่ขาดิจิตอล 12
  4. CLK ไปที่ขาดิจิตอล 11
  5. CS หรือ LOAD ไปที่พินดิจิตอล 10

วิธีเชื่อมต่อจอยสติ๊ก

  1. GND ไปที่ GND
  2. 5V ไปที่ 5V
  3. VRx ไปที่ขาอะนาล็อก A0
  4. VRy ไปที่ขาอะนาล็อก A1
  5. 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 แบบเต็มด้านล่าง

แนะนำ: