กลับไปหน้ารวมไฟล์
arduino-space-invaders.md

รหัสย้อนยุค: Space Invaders สไตล์ Arcade

โปรเจกต์ Arduino Space Invaders เป็นบททดสอบสำคัญสำหรับนักพัฒนาเกม มันต้องการให้คุณจัดการวัตถุที่เคลื่อนไหวจำนวนมาก (lasers, aliens, ยานของผู้เล่น) พร้อมกันภายใต้ข้อจำกัดด้านหน่วยความจำที่เข้มงวดของ 8-bit microcontroller

arduino_radar_sweep_display_1772681940235.png

Object-Oriented Programming (OOP)

เมื่อต้องจัดการ aliens 20 ตัวบนหน้าจอ คุณไม่สามารถสร้างตัวแปร X และ Y 20 ตัวด้วยมือได้ โปรเจกต์นี้เป็นข้ออ้างที่สมบูรณ์แบบในการเรียนรู้ Structs หรือ Classes

  • คุณสร้าง Alien class ที่เก็บตำแหน่ง X, ตำแหน่ง Y และความเร็ว
  • คุณสร้าง Array ของ Alien objects
  • ใน loop() หลักของคุณ คุณใช้ for loop เดียวเพื่อสั่งให้ alien object ทุกตัว .moveDown() และ .checkCollision()

ส่วนประกอบที่จำเป็น

  • Arduino Uno หรือ ESP32 (สำหรับกราฟิกที่ลื่นไหลและมี FPS สูง)
  • 0.96" OLED I2C Display (128x64): สามารถเรนเดอร์ complex sprites ได้
  • Push Buttons (x3): ปุ่ม Left, Right และ FIRE!
  • Piezo Buzzer: จำเป็นสำหรับจังหวะการเต้นของหัวใจที่ลดลงของฝูง alien

การจัดการหน่วยความจำ

เนื่องจาก Uno มี RAM เพียง 2KB คุณต้องใช้ PROGMEM เพื่อจัดเก็บอาร์เรย์กราฟิกยานอวกาศของคุณใน flash memory มิฉะนั้น Arduino จะ crash ทันทีที่คุณเปิดเครื่อง เป็นโปรเจกต์ที่ท้าทายและคุ้มค่าอย่างยิ่งสำหรับ intermediate coders

ข้อมูล Frontmatter ดั้งเดิม

title: "Arduino Space Invaders"
description: "Defend the earth! Recreate the legendary 1978 arcade shooter on an OLED screen, using buttons to blast descending alien spaceships."
category: "Games & Toys"
difficulty: "Advanced"