跟小孩一起學程式:Scratch 打造手機可玩的《皮卡丘打排球》
BY PJ.
-2025 年 6 月 11 日
(最後更新於: 2025 年 6 月 14 日)
繼上一篇 Scratch 圖形化積木教學指南,介紹了 Scratch 的基本介面與動畫製作流程。這次要更進一步,帶大家製作一款互動式遊戲 —— 皮卡丘打排球!
這個遊戲會運用:
- 自訂變數
- 條件判斷
- 基本的角色互動與物理概念(像是跳躍與重力模擬)
而且我們還會讓這款遊戲能在手機上玩
開始前:準備圖像資源與角色
你可以先下載以下圖檔素材,自行上傳到 Scratch,建立以下角色:
- 左邊皮卡丘(玩家)
- 右邊皮卡丘(電腦)
- 排球
- 方向鍵(左、右、跳)
(圖中小火龍用來播報勝負,可先忽略)
📱手機操作設計:畫面上的方向鍵控制
為了讓手機也能玩,我們不用鍵盤操作,而是畫面上設計方向鍵按鈕
,點擊來控制皮卡丘。
建立自訂變數
在 Scratch 中建立以下變數(對所有角色):
左鍵按下
右鍵按下
跳鍵按下
⬅ 左鍵積木邏輯
以左鍵為例,積木如下:
同理為右鍵與跳鍵做相同邏輯。
這樣就能透過「變數」來通知其他角色是否有按下哪個按鍵。
玩家皮卡丘邏輯(左方)
在皮卡丘角色中,根據變數控制移動與跳躍:
左鍵按下 = True
:向左移動右鍵按下 = True
:向右移動跳鍵按下 = True
且角色在地面時:
(1) 執行跳躍動畫
(2) 每次向下改變 y 座標,模擬重力
(3) 當角色掉到地面以下,自動修正回地面高度
這樣就能實現:左右移動與跳躍控制。
🏐 排球邏輯設計重點
排球的行為是整個遊戲的核心,下面是排球的關鍵邏輯設計方向:
✅ 基本移動與拋物線
- 使用
x_speed
與y_speed
變數控制排球移動 - 每次迴圈根據速度改變座標,同時讓
y_speed
持續減少,模擬拋物線和重力
✅ 碰到角色時的反彈
- 如果排球碰到皮卡丘角色,並且碰撞位置偏上方
(1) 給排球一個向上的y_speed
(2) 同時根據碰撞角度與方向,調整x_speed
✅ 網子判斷
- 在畫面中央設一個區域(如 x 約在 -5 到 +5、y 約在 -137 到 -28)
- 如果排球進入這個區域 → 模擬碰到網子:
(1) 如果撞到網子側邊,反彈回去
(2) 如果撞到網子上緣,往上反彈再落下
✅ 得分與重置回合
- 若排球掉到地面以下:
(1) 根據是哪一邊沒接到,加分給對方
(2) 廣播「重置回合」,將排球與玩家位置歸位
(3) 倒數 3、2、1 再重新發球
電腦皮卡丘(右方)AI 控制
電腦皮卡丘會觀察球的位置,並自動移動接球,基本策略如下:
- 當球在右半邊且接近地面時:
(1) 電腦皮卡丘往球靠近
(2) 若球在空中會起跳接球 - 利用球的
x
與y
位置來判斷該不該移動與起跳
完整專案展示
你可以透過以下連結查看完整積木: 👉 皮卡丘打排球 - 專案連結
如果你也想深入了解 Scratch,或是希望能和孩子一起學習寫程式,歡迎與我聯繫!未來也會持續分享更多親子共學的程式設計實作案例!
YOU MAY ALSO LIKE...
#Scratch教學 #親子共學 #兒童程式教學 #兒童程式設計 #Scratch遊戲製作 #Scratch親子遊戲 #學習程式 #兒童互動遊戲 #皮卡丘打排球