第 7 課
貪食蛇
--重現經典遊戲「貪食蛇」
1.
2.
畫出貪食蛇
設定蛇的動作
設計蛇移動的動作
設計蛇的食物
設計第二關
設計第三關
開頭、結尾與
背景音樂
1.
用水果來作為食物
2.
讓食物在舞台上動來動
去
1.
設定第二關的背景與角
色
2.
設計舞台的程式
3.
設計蛇的程式
4.
設 計 「 食 物 」 與 「 阻
礙」程式
1.
2.
複製第二關的程式碼
調整指令上的數字
1.
2.
製作標題、背景音樂與
音效
設計玩家成功或失敗的
結束畫面
我 將 學 會
1.
2.
3.
4.
使用「創造分身」的方式來複製角色
使用「當分身產生時」事件,來設計分身的程式
使用變數,來控制程式執行的狀態
使用模組化的設計,讓產生新關卡變簡單
7 貪食蛇
你玩過「貪食蛇」類型的遊戲嗎?這是個經典的老遊戲,雖然有點年代,
卻還是非常好玩。這一課,讓我們來重現「貪食蛇」吧!
7-1 設計蛇移動的動作
7-1-1 畫出「貪食蛇」
1 開啟Scratch,在「舞
台」的「背景」區,用
【以顏色填滿】,填
上黃色的漸層色。命名
為「第一關」。
小叮嚀
你也可以填上自己喜歡的顏
色哦!
2 使用 【橢圓工具】,
畫 一 個 新 角 色 ( 使 用
「向量模式」),造型
命名為「頭部」。
3 將 此 角 色 命 名 為
「蛇」。
貓熊老師說
「蛇」的舌頭是在畫出一個
橢 圓 之 後 , 再 用 「 塑 形 工
具」拉出來的。
141
遊戲 自由e 學園2 Scratch 2
7-1-2 設定蛇的動作
4 點選 【畫新造型】,
再畫出一個圓,命名為
「身體」。
貓熊老師說
這個造型將用來作為「蛇」
的身體。
1 在 「 程 式 區 」 , 拉 入
一 組 【 當 按 下 上移鍵
鍵 】 、 【 面 向 0 方
向】。
2 複 製 上 面 的 指 令 , 把
「 下 、 左 、 右 」 都 完
成。
貓熊老師說
這邊,我們要讓玩家按 、 、 、 鍵時,可以改變「蛇」的頭所面對的方
向。
142
7 貪食蛇
3 在 「 舞 台 」 的 「 程
式 區 」 新 增 5 個 「 變
數 」 : 【 分 數 、 生 命
值 、 速 度 、 長 度 、 關
數 】 , 其 中 , 讓 「 分
數、生命值、關數」呈
現在畫面上。
4 為這5個「變數」設定
預設值。
5 回 到 「 蛇 」 的 「 程 式
區 」 , 加 入 【 當 綠 旗
被 點 一 下 】 、 【 廣 播
從原點開始】。
充電區
為 什 麼 不 在 「 綠 旗 」 下
方,直接加入「從原點開
始」的程式碼呢?這是因
為,「從原點開始」的動
作,除了一開始之外,還
會發生在「蛇」死亡或過
關時,所以我們要把它獨
立出來。
6 在旁邊加入【當我接收
到從原點開始】、【將
造 型 設 定 為 頭部 】 、
【顯示】、【移到x: 0
y: -170 】 、 【 直 到 <
分數 = 100 >前都不斷
重複】。
貓熊老師說
第一關會有10個食物,每個10分,所以得到100分時,就代表過關了。
143
遊戲 自由e 學園2 Scratch 2
7 在「直到< 分數 = 100
>前都不斷重複」的迴
圈中,插入【創造角色
自己 的 分 身 】 、 【 移
動 10 步 】 、 【 等 待
速度 秒】。
充電區
「 創 造 角 色 自己 的 分
身」指令,會在目前的位
置,複製一個「自己」。
8 在下方再加入【當分身
產生時】、【將造型設
為 身體 】 、 【 等 待 □
秒】。
9 從 「 運 算 」 類 , 把
(○*○)指令,拉進
【等待□秒】的框框內。
貓熊老師說
在Scratch中,米字號「*」是乘法的意思,而除法的符號是「/」。
144
7 貪食蛇
10 把【速度】、【長度】
二 個 「 變 數 」 , 拉 進
(○*○)中。
11 下方再加入【刪除這個
分身】。
12 按 下 「 綠 旗 」 測 試 看
看,使用 、 、
、 鍵就可移動「蛇」
了,看起來是不是很可
愛呢…。
充電區
了解這隻「蛇」是怎麼運作的嗎?由於一開始的長度是3,所以要等到產生3
個分身之後,才可以刪除最先產生的分身,然後維持3個分身的狀況。這就
是為什麼要「等待 速度x 長度 秒」的原因。
7-2 設計蛇的食物
接下來,讓我們把蛇的食物給設計出來吧!
145
遊戲 自由e 學園2 Scratch 2
146
1 新 增 一 個 角 色
「Apple」,把它命名
為「食物」。
2 在「造型」區,把它命
名為「第1關」。
3 在「食物」的「程式區」,
加入【當綠旗被點一下】、
【隱藏】、【將造型設
定為 第1關 】、【重複
10 次 】 、 【 創 造 角 色
自己 的分身】。
貓熊老師說
「 食 物 」 的 本 尊 是 不 現 身
的,所以要隱藏,任務就交
給分身去做吧!
4 在下方加入【當分身產
生時】、【移到x:(在
-220 到 220 間 隨 機 選
一個數)y: (在 -170
到 160 間 隨 機 選 一 個
數)】、【顯示】。
貓熊老師說
這個步驟,是要讓分身出現
的位置以「亂數」決定。又
為了讓「食物」不會出現在
太邊邊的位置,所以x、y的
值,做了一點調整。
7 貪食蛇
5 在 下 方 接 上 【 直 到 <
碰到 蛇?>前都不斷重
複 】 、 【 將 變 數 分數
的 值 改 變 10 】 、 【 將
變 數 長度 的 值 改 變
3 】 、 【 刪 除 這 個 分
身】。
貓熊老師說
這個步驟,會讓「食物」碰
到「蛇」時消失,同時增加
分數,也讓「蛇」變長。
6 按 下 「 綠 旗 」 , 使 用
、 、 、 鍵測
試,果然吃到「食物」
會變長了。
7 為了讓畫面更有趣,在
「食物」的「程式區」,
加入【當分身產生時】、
【不停重複】、【面向
120 方 向 】 、 【 等 待
0.5 秒】、【面向60 方
向】、【等待0.5 秒】。
貓熊老師說
這個步驟會讓「食物」左、
右擺動。
147