本課程展示如何在 Arduino Uno R4 WiFi 的 LED 矩陣上創建一個彈跳像素,並將其延伸為單人遊戲 Pong 的基礎。課程講解了如何在矩陣內操控像素位置與方向的變化,並使用按鈕控制玩家像素的位置。


課程大綱

  1. 課程背景與彈跳像素設計
    • 目標:在 8×12 LED 矩陣上創建一個不斷移動的像素,碰撞邊界時改變移動方向。
    • 定義變量 x_positiony_position 表示當前像素的位置,並使用 delta_xdelta_y 控制移動方向。
  2. 增量控制與邊界反彈
    • 每次迴圈中,根據 delta_xdelta_y 更新像素位置。
    • 當像素到達邊界(例如 x_position == 11x_position == 0),改變相應方向的 delta_xdelta_y 的符號以實現反彈。
  3. 彈跳像素程序結構
    • 使用二重 for 迴圈將所有像素初始化為關閉狀態,僅開啟特定的 x_positiony_position 的像素。
    • 使用 renderBitmap() 函數刷新矩陣以顯示當前的像素狀態,並設定適當的延遲以控制動畫速度。
  4. 課堂作業:一人版 Pong 遊戲
    • 使用兩個按鈕控制玩家像素的上下移動,模擬 Pong 遊戲的擋板。
    • 讓玩家像素在左側牆邊來回移動,並碰撞從右側牆過來的彈跳像素。
    • 當玩家像素與彈跳像素碰撞,彈跳像素反彈;如果未碰到彈跳像素,遊戲結束或扣分。