# 貪吃蛇想吃恐龍蛋 完成作品 : https://scratch.mit.edu/projects/719792638/ 使用素材 : https://drive.google.com/drive/u/1/folders/1mPWws48M0pXzJSndZI7LwXtq1ujgzOXD --- # 貪吃蛇遊戲原理 * **貪吃蛇的遊戲基本上屬於「清單」( 陣列 ) 的操作,只要明白清單的控制原理,就能輕鬆實現貪吃蛇的遊戲** 1. 開始時,蛇的清單長度為 1,清單內容是蛇的位置。 2. 蛇在移動時,將新的位置加入在第一個項目,並刪除最後一個項目。 3. 如果吃到蛋,清單長度增加 1 ( 蛇的長度增加 1 ),將蛋的位置加入在第一個項目。 4. 接著就按照上方的邏輯,控制移動和吃蛋的清單內容。 ![](https://i.imgur.com/nv1SGiw.jpg) --- # 基礎篇 ## 1. 蛇蛇移動 * **基本移動** > 設定 x, y, face ( 蛇的朝向 ) 變數 ![](https://i.imgur.com/lSC3Y0K.jpg =50%x) * **為移動設定條件 ( 不能180°移動 )** > ![](https://i.imgur.com/oFgAKnF.jpg) ## 2. 產生恐龍蛋 * **設定一格為 25 x 25 pixel ( 像素 )** * **被吃到就直接換位置** ![](https://i.imgur.com/AadmGEm.jpg) ## 3. 蛇蛇的身體 * **紀錄蛇經過的座標** ![](https://i.imgur.com/sVkRkgF.jpg =80%x) * **吃到恐龍蛋的廣播 ( 蛇的程式 )** ![](https://i.imgur.com/IdWObOs.jpg =70%x) * **沿路產生分身** ![](https://i.imgur.com/qQuqMmZ.jpg) ## 4. 遊戲細節優化 * **記錄歷史最高分 ( 雲端變數 )** ![](https://i.imgur.com/1XZEWFs.jpg) * **讓蛇可以穿過邊界 ( 蛇的程式 )** ![](https://i.imgur.com/O08hcX8.jpg =70%x) * **設定蛇不能碰到自己的身體 ( 蛇的程式 )** ![](https://i.imgur.com/89mNkrU.jpg) * **結束時分身刪除** ![](https://i.imgur.com/FbVqn8a.jpg) * **讓蛇的身體隨著長度縮小** ![](https://i.imgur.com/MwbdyMe.jpg) * **加入金蛋添加遊戲性** > 將"分數的變數"改到恐龍蛋程式做改變 ![](https://i.imgur.com/X43aoGE.jpg =90%x) * **加入移動音效、遊戲背景** ![](https://i.imgur.com/jKqSHdJ.jpg) --- # 進階篇 ## 1. 加入開頭畫面 ( 使用視差特效 ) > 改變蛇與恐龍蛋的出場順序 ![](https://i.imgur.com/gBfK2z9.jpg) ![](https://i.imgur.com/nrEfGBE.jpg) ### (1). 恐龍 > 將角色的 x 座標設定為滑鼠 x 座標的相反方向 > " 階段0" 為開頭畫面階段 > " 階段1" 為教學畫面階段 * **恐龍1 ( 藍色 )** ![](https://i.imgur.com/f72Qkzu.jpg) * **恐龍2 ( 紅色 )** ![](https://i.imgur.com/88Byyfx.jpg) * **恐龍3 ( 綠色 )** ![](https://i.imgur.com/Pfj37j8.jpg) * **為恐龍增加互動性 ( 三隻恐龍 )** ![](https://i.imgur.com/ZNBnYch.jpg) ### (2). 草地 ![](https://i.imgur.com/bw94BFg.jpg) ### (3). 樹 ![](https://i.imgur.com/YQWo3Rh.jpg) ### (4). 貪吃蛇前輩 ![](https://i.imgur.com/MUzifoz.jpg) ### (5). 標題 ( 彩色特效 ) ![](https://i.imgur.com/KNkJjUT.jpg) ### (6). 開始按鈕 ![](https://i.imgur.com/D1TtV7L.jpg) * **廣播教學畫面時其他角色隱藏** ![](https://i.imgur.com/qTKZtDT.jpg) ## 2. 加入教學畫面 > 重複按下左鍵更換文字 ![](https://i.imgur.com/aCWJ2Cv.jpg =90%x) * **切換背景音樂 ( 調整音量 )** ![](https://i.imgur.com/ffxCXUX.jpg) ## 3. 遊戲中加入恐龍阻撓蛇偷蛋 > 根據所得分數調整恐龍出現的頻率 ( 難度 ) ![](https://i.imgur.com/J0vw5Nl.jpg) * **調整恐龍的程式 ( 三隻恐龍 ) 接收從警告標示的廣播** ![](https://i.imgur.com/bcsaklo.jpg) ## 4. 遊戲結束特效 * **背景切換** ![](https://i.imgur.com/No6dIKe.jpg) * **預先產生文字清單** > 利用清單 ( list ) 紀錄文字座標 ![](https://i.imgur.com/raHNeUi.jpg) * **將星星用分身全部顯示出來** > 利用分身的改變旋轉角度來區分不同的星星 ![](https://i.imgur.com/ktMoG6W.jpg) * **讓分數與最高分在正確的時機顯示出來** ![](https://i.imgur.com/mVgFuSZ.jpg) # 未來可加入 1. 破紀錄時顯示不同的文字 ( 結尾的星星文字 ) 2. 讓蛇有多次失誤的機會 ( 碰到會扣血 ) 3. 讓恐龍有不同的干擾技能 ( 會走去抓蛇、會吐火球... ) # 參考資料 1. STEAM 教育學習網 - 視差效果, 貪吃蛇遊戲 https://steam.oxxostudio.tw/category/scratch/index.html 2. 109 Scratch 國中遊戲組特優 ( 03-04-1 ) - 結尾特效 https://drive.google.com/drive/folders/1wdSXaNfBo3JEH-ykPL62NixV5PEpPUQC
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up