友情提示:380元/半年,儿童学编程,就上码丁实验室。
用Micro:bit小小的5X5屏幕来设计一个【贪吃蛇游戏】。
有人用Python做过,今天尝试用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节(蛇头)的坐标就是移动后蛇头的坐标。
控制蛇前进的速度,随着分数增加,速度变快。
完成档案可以从这里下载
https://sites.google.com/site/wenyumaker2/02micro-bit-yan-jiu/41-tan-chi-she-you-xi/microbit-%E8%B2%AA%E5%90%83%E8%9B%87.hex?attredirects=0&d=1