42 貪吃蛇遊戲
(2018/11/14)
有關Micro:bit的遊戲,以前一直只玩【射擊遊戲】及【賽車遊戲】,應該也要再擴展一些新遊戲了,以前覺得用Micro:bit小小的5X5屏幕要來設計【貪吃蛇遊戲】,好像有一點難,至少到現在好像還沒有人用Makecode來做過,今天想了想、試了試,好像也沒有那麼難,但還是有些複雜度,至少最後完成了!
作品說明:
一開始【蛇頭】出現在(2,2),然後會往右移動,一格一格移動,移動速度會隨著分數增加而變快
按A鍵蛇頭會右轉90度,按B鍵蛇頭會左轉90度
另外,在舞台上會隨機出現一顆【水果】(設定一直閃爍,好方便辨識)
控制【蛇頭】去吃【水果】,每吃一顆水果,得1分
每得1分(或2分、3分)則蛇的長度增加一節 (可自行設定要得幾分,便會增加1節)
如果蛇頭碰壁或碰到自己的身體則GAME OVER
程式說明
先建立【蛇頭】及【水果】兩個變數來當角色
建立一個【蛇身各節】的陣列來當角色
蛇身各節(1)是第1節蛇身的角色
蛇身各節(2)是第2節蛇身的角色....
這些角色等增加長度後才【創建】
分別建立【蛇X陣列】、【蛇Y陣列】兩個陣列來儲存蛇頭及蛇各節的X座標及Y座標
蛇X陣列(0)、蛇Y陣列(0)為蛇頭座標
蛇X陣列(1)、蛇Y陣列(1)為第1節蛇身的座標...
建立【蛇身長度】的變數來儲存蛇身的長度
按A鍵蛇頭會右轉90度,按B鍵蛇頭會左轉90度
當蛇頭吃到水果時
得1分
設定得幾分來增加一節蛇身
當增加一節長度時
在X、Y陣列中,加入一個項目(蛇尾的座標值)
建立一個【蛇身各節】的陣列來當角色 ,並創建在蛇尾的位置
蛇頭移動所做的動作
移動一格
如果移動後的位置與移動前的位置一樣,代表【碰壁了】,就直接GAME OVER
如果移動後的位置與陣列中蛇各節的座標一樣,代表【碰到身體了】,一樣給GAME OVER
移動後,除了蛇頭外,陣列中蛇各節的座標分別取代它前一節的座標,如第3節的座標就是原本第2節的座標,陣列中第0節(蛇頭)的座標就是移動後蛇頭的座標。
控制蛇前進的速度,隨著分數增加,速度變快。
完成檔案,如附件