跟小孩一起學程式:Scratch 打造手機可玩的《皮卡丘打排球》

BY PJ. -2025 年 6 月 11 日
(最後更新於: 2025 年 6 月 14 日)


繼上一篇 Scratch 圖形化積木教學指南,介紹了 Scratch 的基本介面與動畫製作流程。這次要更進一步,帶大家製作一款互動式遊戲 —— 皮卡丘打排球

這個遊戲會運用:

  • 自訂變數
  • 條件判斷
  • 基本的角色互動與物理概念(像是跳躍與重力模擬)

而且我們還會讓這款遊戲能在手機上玩


開始前:準備圖像資源與角色

你可以先下載以下圖檔素材,自行上傳到 Scratch,建立以下角色:

像素皮卡丘

像素排球

  • 左邊皮卡丘(玩家)
  • 右邊皮卡丘(電腦)
  • 排球
  • 方向鍵(左、右、跳)

scratch角色

(圖中小火龍用來播報勝負,可先忽略)


📱手機操作設計:畫面上的方向鍵控制

為了讓手機也能玩,我們不用鍵盤操作,而是畫面上設計方向鍵按鈕,點擊來控制皮卡丘。

方向鍵


建立自訂變數

在 Scratch 中建立以下變數(對所有角色):

  • 左鍵按下
  • 右鍵按下
  • 跳鍵按下

scratch變數設定


⬅ 左鍵積木邏輯

以左鍵為例,積木如下:

scratch左鍵積木

同理為右鍵與跳鍵做相同邏輯。

這樣就能透過「變數」來通知其他角色是否有按下哪個按鍵。


玩家皮卡丘邏輯(左方)

在皮卡丘角色中,根據變數控制移動與跳躍:

  • 左鍵按下 = True:向左移動
  • 右鍵按下 = True:向右移動
  • 跳鍵按下 = True 且角色在地面時:
    (1) 執行跳躍動畫
    (2) 每次向下改變 y 座標,模擬重力
    (3) 當角色掉到地面以下,自動修正回地面高度

scratch皮卡丘

這樣就能實現:左右移動與跳躍控制。


🏐 排球邏輯設計重點

排球的行為是整個遊戲的核心,下面是排球的關鍵邏輯設計方向:

✅ 基本移動與拋物線

  • 使用 x_speedy_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) 若球在空中會起跳接球
  • 利用球的 xy 位置來判斷該不該移動與起跳

scratch電腦皮卡丘


完整專案展示


你可以透過以下連結查看完整積木: 👉 皮卡丘打排球 - 專案連結

如果你也想深入了解 Scratch,或是希望能和孩子一起學習寫程式,歡迎與我聯繫!未來也會持續分享更多親子共學的程式設計實作案例!



#Scratch教學 #親子共學 #兒童程式教學 #兒童程式設計 #Scratch遊戲製作 #Scratch親子遊戲 #學習程式 #兒童互動遊戲 #皮卡丘打排球

💬 留言區