Micro:bit创意课程系列:贪吃蛇游戏

用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节蛇身的坐标...

建立【蛇身长度】的变量来储存蛇身的长度

file

按A键蛇头会右转90度,按B键蛇头会左转90度

file

当蛇头吃到水果时

得1分

设定得几分来增加一节蛇身

当增加一节长度时

在X、Y数组中,加入一个项目(蛇尾的坐标值)

建立一个【蛇身各节】的数组来当角色,并创建在蛇尾的位置

file

蛇头移动所做的动作

移动一格

如果移动后的位置与移动前的位置一样,代表【碰壁了】,就直接GAME OVER

如果移动后的位置与数组中蛇各节的坐标一样,代表【碰到身体了】,一样给GAME OVER

移动后,除了蛇头外,数组中蛇各节的坐标分别取代它前一节的坐标,如第3节的坐标就是原本第2节的坐标,数组中第0节(蛇头)的坐标就是移动后蛇头的坐标。

控制蛇前进的速度,随着分数增加,速度变快。

file

黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代