草地上有六個洞,地鼠會從隨機的洞冒出來,只探頭 1 秒就縮回去。用滑鼠點到牠就加 1 分,30 秒一到遊戲結束,看你打到幾隻。這款是狩獵鬼魂的改編:一樣用分身,但這次學把分身放到固定的幾個位置上、用 Scratch 內建的計時器算時間,還有每個分身都能各自被點擊。
今天要做出來的作品

老師上課會先打開
07_打地鼠.sb3按一次綠旗,大家一起看成品長什麼樣子。 📥 下載本堂講義 PDF
學習目標
- 分身+隨機位置:用「隨機取數 × 間距」,讓分身只出現在六個洞上,不會出現在洞和洞中間
- 計時器:用「計時器重置」和「計時器」算經過幾秒,不必自己一秒一秒扣
- 當角色被點擊也能用在分身上:點到哪一隻,就是那一隻自己加分、自己消失
- 複習:分身刪除、廣播「開始」「時間到」
遊戲規則
- 按綠旗:分數歸零、剩下時間 30,開始計時。
- 每 0.7 秒就有一隻地鼠從六個洞裡隨機挑一個冒出來,1 秒後自己縮回去。
- 用滑鼠點到地鼠:加 1 分,那隻地鼠馬上消失。
- 計時器超過 30 秒:地鼠全部消失、不再冒出來,跳出「時間到!」,分數就是你的成績。
| 誰 | 做什麼 |
|---|---|
| 舞台 | 歸零、重置計時器、喊「開始」;一直更新剩下時間;超過 30 秒喊「時間到」 |
| 地鼠(本尊) | 藏起來,收到「開始」後每 0.7 秒生一個分身,30 秒到就停 |
| 地鼠(分身) | 跳到隨機一個洞 → 顯示 1 秒 → 刪掉自己;被點到就加分、刪掉自己 |
| 字卡 | 收到「時間到」就顯示 |
步驟 1:畫草地、準備角色

- 開新專案,刪掉小貓。
- 點右下角舞台,到「背景」分頁用「繪畫」畫一張背景,名字改成「草地」:上面畫一條藍天、其他塗成綠色,再用「圓形」工具畫六個深咖啡色的洞,排成兩列、每列三個。
- 點「選個角色」選 Mouse1,名字改成「地鼠」。
- 畫一個「字卡」角色,用「T 文字」工具打上「時間到!」。
💡 為什麼洞要排成整齊的兩列三欄?洞的位置是等一下程式要算出來的。排整齊,每個洞的 x 就是 -150、0、150,y 就是 0、-130,一個乘法就能算到;洞亂放的話就得一個一個記座標。
💡 為什麼洞要畫在背景,不做成角色?洞不會動、也不用寫程式,放在背景最簡單。做成角色的話,還可能擋住地鼠、讓地鼠點不到。
步驟 2:舞台用計時器算 30 秒

先建兩個變數:分數、剩下時間。再點舞台,拼出這段:

- 當綠旗被點擊 → 背景換成 草地 → 分數設為 0 → 剩下時間設為 30 → 計時器重置 → 廣播「開始」。
- 重複直到〈計時器 > 30〉:剩下時間設為(四捨五入數值(30 - 計時器))。
- 剩下時間設為 0 → 廣播「時間到」。
💡 為什麼一開始要「計時器重置」?計時器從你打開 Scratch 就一直在跑,不會因為按綠旗就歸零。不重置的話,也許一按綠旗計時器早就超過 30,遊戲馬上結束。
💡 為什麼用計時器,不像狩獵鬼魂那樣「等待 1 秒、減 1」?計時器是 Scratch 自己在算的真實時間,程式卡一下也不會算錯。而且判斷「過了 30 秒沒」只要一句〈計時器 > 30〉。
💡 為什麼要「四捨五入數值」?計時器會算到小數點,30 - 計時器 會變成 17.4836 這種數字,玩家看得眼花。四捨五入之後只顯示整數秒。
💡 為什麼迴圈後面還要「剩下時間設為 0」?迴圈是在計時器剛好超過 30 時停的,最後一次算出來可能是 1 或 -0。直接設成 0,畫面才乾淨。
步驟 3:地鼠分身從隨機的洞冒出來

點「地鼠」,拼前三段:

- 當綠旗被點擊 → 隱藏。
- 當收到訊息「開始」→ 重複直到〈計時器 > 30〉〔建立 自己 的分身 → 等待 0.7 秒〕。
- 當分身產生 → 定位到 x:(隨機取數 -1 到 1)× 150、y:(隨機取數 -1 到 0)× 130 → 顯示 → 等待 1 秒 → 分身刪除。
💡 為什麼 x 要寫「隨機取數 -1 到 1 再乘 150」,不直接寫「隨機取數 -150 到 150」?直接取的話,可能取到 -87、23 這種數字,地鼠會出現在草地中間、不在洞上。先隨機取 -1、0、1 三個整數,再乘上洞和洞的距離 150,結果只可能是 -150、0、150,剛好是三個洞。
💡 為什麼 y 是「-1 到 0 乘 130」?只有兩列洞,y 只能是 0(上面那列)或 -130(下面那列)。取 -1 或 0 再乘 130,就只會落在這兩列。
💡 為什麼分身「等待 1 秒 → 分身刪除」?地鼠探頭一下就要縮回去,玩家才需要手腳快。不刪的話,地鼠只會越冒越多,最後滿地都是,隨便點都點得到。
💡 為什麼本尊要隱藏?本尊只負責生分身。它如果顯示,會一直站在舞台正中間(0, 0)、不在洞上,點它也會加分,遊戲就不公平了。
✅ 檢查點:按綠旗,剩下時間從 30 開始變少,地鼠每次都從某個洞冒出來、1 秒後消失;不點牠,畫面上最多只有一兩隻。
步驟 4:點到地鼠加分

在地鼠身上拼第四段(見上面地鼠的程式):當角色被點擊 → 變數 分數 改變 1 → 隱藏 → 播放音效 pop 直到結束 → 分身刪除。
💡 為什麼分身也能用「當角色被點擊」?每個分身都有一份自己的程式。你點到哪一隻,就只有那一隻收到「被點擊」,其他地鼠不受影響。本尊藏起來了點不到,所以只有分身會被點。
💡 為什麼這裡用「當角色被點擊」,狩獵鬼魂卻用〈碰到 鼠標〉且〈滑鼠鍵被按下〉?狩獵鬼魂有一個瞄準器永遠蓋在最上層,滑鼠點下去點到的是瞄準器,鬼魂收不到「被點擊」。打地鼠沒有東西擋在上面,直接用「當角色被點擊」最簡單。
💡 為什麼點到後先隱藏、再播音效、最後才刪除?分身一刪掉,它的音效也會跟著停。先藏起來,玩家看到地鼠立刻被打掉;等音效播完再刪。
步驟 5:時間到
- 地鼠再加一段:當收到訊息「時間到」→ 分身刪除。
- 字卡:當綠旗被點擊 → 隱藏;當收到訊息「時間到」→ 圖層移到 最上 層 → 顯示。

💡 為什麼「時間到」要讓分身刪除?時間到的那一刻,可能還有一兩隻地鼠正探著頭。不刪的話,玩家還能點到牠們,時間到了分數還在加。
💡 為什麼生分身的迴圈也用〈計時器 > 30〉當條件?時間到之後就不該再冒新的地鼠。條件和舞台一樣,舞台喊「時間到」的時候,本尊也剛好停手。
✅ 檢查點:一直點地鼠,分數會增加;30 秒到跳出「時間到!」,地鼠全部消失,之後怎麼點分數都不會變。再按一次綠旗,分數從 0 開始。
步驟 6:存檔繳交

檔案 → 下載到你的電腦,再上傳到 Google Classroom。
💡 為什麼一定要下載?線上版 Scratch 沒登入不會幫你存,關掉分頁就沒了。
收不到、不會動?先查這幾件事
| 狀況 | 多半是 |
|---|---|
| 一按綠旗就時間到 | 少了「計時器重置」,計時器早就超過 30 |
| 剩下時間出現一長串小數 | 少了「四捨五入數值」 |
| 地鼠出現在洞和洞中間 | 定位寫成「隨機取數 -150 到 150」,要改成「隨機取數 -1 到 1」× 150 |
| 地鼠只會在同一個洞 | 隨機取數的兩個數字一樣(例如 1 到 1),或乘法放錯格子 |
| 舞台中間站著一隻不會消失的地鼠 | 本尊綠旗時沒有隱藏 |
| 滿地都是地鼠 | 「當分身產生」最後少了「等待 1 秒 → 分身刪除」 |
| 點了沒加分 | 「當角色被點擊」寫到字卡或舞台身上了;或變數選錯 |
| 時間到還能繼續加分 | 地鼠收到「時間到」少了「分身刪除」 |
換成你自己的(必做)
- ☐ 換一個主題:地鼠換成別的角色(打蚊子、抓寶可夢、戳泡泡…),背景也重畫
- ☐ 至少改一條規則:洞的數量或排法、地鼠探頭的秒數、生分身的速度、遊戲秒數選一個改
- ☐ 洞如果改了位置,程式裡的乘法數字也要跟著改,而且地鼠要真的出現在洞上
- ☐ 按一次綠旗能從頭玩到「時間到!」
挑戰(做完的人選一題)
- ★ 時間到時,字卡說出「你打到 ○ 隻!」(提示:外觀類「說出」+運算類「字串組合」)。
- ★ 地鼠被點到時換成另一個造型(Mouse1 有兩個造型),再消失。
- ★★ 加一種「炸彈」角色也從洞裡冒出來,點到扣 3 分。
- ★★ 改成三列三欄九個洞(提示:y 也改成「隨機取數 -1 到 1」× 間距,背景重畫)。
- ★★★ 越來越快:剩下時間越少,地鼠探頭的時間越短(提示:「等待 1 秒」改成「等待(剩下時間 ÷ 30)秒」,再加一點保底秒數)。
互看檢查表(兩人互相打勾)
- ☐ 地鼠每次都出現在洞上,不會出現在草地中間嗎?
- ☐ 不點的話,地鼠會自己縮回去嗎?
- ☐ 點到一隻,只有那一隻消失、分數加 1 嗎?
- ☐ 剩下時間是整數、會倒數到 0,然後跳出「時間到!」嗎?
- ☐ 時間到之後點畫面,分數還會變嗎?(不該變)
- ☐ 說得出:為什麼「隨機取數 -1 到 1」乘 150,地鼠就只會出現在三個洞上?
