在這一集中,我們將基於上集的彈跳像素程序,將其擴展成單人 Pong 遊戲。玩家將透過按鈕控制玩家像素的上下移動,並需要與彈跳像素互動,若未成功阻擋即會結束遊戲。
課程大綱
- 複習彈跳像素的實現:
- 檢查先前的代碼,確保彈跳像素能在 LED 矩陣上隨牆壁反彈移動。
- 設置玩家控制的像素(“擋板”):
- 新增兩個按鈕分別作為上下控制。
- 將按鈕分別連接至 Arduino 的數位引腳 11(向上)和 12(向下)。
- 在代碼中為每個按鈕設置引腳和變量。
- 設置玩家像素位置與移動:
- 將玩家像素固定於列 0(最左側),使用按鈕控制行位置。
- 按下按鈕時調整
my_row
,在每次循環中更新玩家像素的位置。
- 加入玩家像素與彈跳像素的互動邏輯:
- 檢測當彈跳像素到達列 0 時玩家是否在同一行上。
- 若玩家像素成功擋住彈跳像素,則彈跳像素反彈;若未成功阻擋,則顯示 “遊戲結束”。
- 遊戲速度調整與優化:
- 控制玩家像素移動速度加快,同時降低遊戲像素的速度,使玩家更有時間反應。
- 透過一個計數器
CNT
實現玩家與彈跳像素的速度差,提供更具挑戰性的遊戲體驗。