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