游戏
micro:bit 的游戏积木默认了简单的游戏机制,可以创建一个角色并赋予角色生命值,透过角色的移动和碰撞,进行游戏计分或增减角色生命值,轻松实作简单的 micro:bit LED 小游戏。
游戏积木有几个分类:创建角色、删除角色、如果角色被删除、角色移动、角色旋转、设定角色状态、读取角色状态、角色是否碰到其他角色、角色是否碰到边缘、角色碰到边缘就反弹、生命设定、得分设定、开始倒数、游戏结束 / 继续 / 暂停、游戏状态。
创建角色
“创建角色”积木可以在指定的 LED 矩阵座标里,建立一个“角色”,角色在画面中就是一颗亮起的 LED 灯, “需要搭配变数积木”才能使用。
下图的例子在 micro:bit 启动后,使用变数 sprite 建立一个位在 (2,2) 的角色,在 LED 的正中间就会亮起一颗灯。
删除角色
“删除角色”积木可以删除角色,删除角色后,角色在 LED 的显示灯号就会消失。
如果角色被删除
“如果角色被删除”积木是一个逻辑判断积木,可以显示角色是否被删除,如果角色已经被删除就是 true,如果角色尚未被删除就是 false。
角色移动
“角色移动”积木可以让角色在画面中移动,默认水平方向移动,向右为正,向左为负,如果搭配“角色旋转”积木,可以往其他方向移动。
下图的例子,micro:bit 启动后会再 (2,2) 的位置建立角色,按下 A 按钮时角色会往左边移动,按下 B 按钮时角色往右边移动。
角色旋转
“角色移动”积木可以指定角色向右或向左旋转的角度,每 45 度为一个区间,可分成 0、45、90、135、180、225、270、315...等,依此类推。
下图的例子,micro:bit 启动后会再 (2,2) 的位置建立角色,并先让角色“向右旋转 45 度”,按下 A 按钮时角色就会往左上角移动,按下 B 按钮时角色就会往右下角移动。
设定角色状态
“设定角色状态”积木可以设定或改变角色的 x 座标、y 座标、亮度和闪烁的数值 ( 使用“改变”会从当前数值进行增加或减少 )。
- x 座标:水平方向座标,范围 0~4。
- y 座标:垂直方向座标,范围 0~4。
- 方向:旋转角度,建议每 45 度为一个区间。
- 亮度:角色的 LED 灯亮度,范围 0~255,0 最暗,255 最亮。
- 闪烁:角色的 LED 闪烁速度,单位是毫秒 ( 1/1000 秒 ),设定 0 则角色恒亮,不会闪烁。
下图的例子,micor:bit 创建角色后,点击 A 按钮会设定角色亮度为 10,点击 B 按钮设定角色亮度为 255。
读取角色状态
“读取角色状态”积木可以读取角色的 x 座标、y 座标、亮度和闪烁的数值。
角色是否碰到其他角色
“角色是否碰到其他角色”积木可以侦测两个角色是否互相碰到 ( 两个角色座标相同 ),如果有碰到就是 true,没有碰到就是 false。
下图的例子,micor:bit 启动后会用 a 和 b 两个变数建立两个角色 ( b 角色亮度较暗 ),按下 A 按钮时角色 a 会往左移,按下 B 按钮时角色 a 会往右移,透过重复无限次积木,判断当 a 碰到 b 时让 a 闪烁,如果没有碰到则停止闪烁。
角色是否碰到边缘
“角色是否碰到边缘”积木可以侦测角色是否碰到边缘,左右边缘的 x 座标为 0 和 4,上下边缘的 y 座标为 0 和 4。
下图的例子,micor:bit 启动后会建立一个角色 a,按下 A 按钮时角色 a 会往左移,按下 B 按钮时角色 a 会往右移,透过重复无限次积木,判断当 a 碰到边缘时就会闪烁,如果没有碰到则停止闪烁。
角色碰到边缘就反弹
“角色碰到边缘就反弹”积木可以侦测角色在“移动时”是否碰到边缘,如果有碰到,就进行反弹的动作。
下图的例子,micor:bit 启动后会建立一个角色 a,向右旋转 45 度,透过重复无限次积木,让 a 每 100 毫秒移动 1 点,并设定碰到边缘就反弹。
生命设定
“生命设定”积木可以设定角色的“生命”,并可以透过一些游戏机制,“增加生命”或“减少生命”,当“生命为 0”的时候,LED 就会“自动出现” GAME OVER 的文字跑马灯,并且显示分数,表示游戏结束。
下图的例子,micor:bit 启动后会用 a 和 b 两个变数建立两个角色 ( b 角色亮度较暗 ),以及生命设定为 1,按下 A 按钮时角色 a 会往左移,按下 B 按钮时角色 a 会往右移,判断当 a 碰到 b 时让生命减少 1,如果生命为 0 就会自动出现 GAME OVER 跑马灯动画。
得分设定
“得分设定”积木可以设定角色的“得分”,并可以透过一些游戏机制改变 ( 增加或减少 ) 得分,默认当游戏结束时,会自动显示得分,也可以设计手动的方式 ( 例如按下按钮 ),显示得分 ( 显示得分过一秒之后,会再度回到游戏画面 )。
下图的例子,micor:bit 启动后会用 a 和 b 两个变数建立两个角色 ( b 角色亮度较暗 ),以及分数设定为 0,按下 A 按钮时角色 a 会往左移,按下 B 按钮时角色 a 会往右移,每次按下按钮时,判断当 a 碰到 b 时让得分增加 1,AB 同时按下时,显示分数。
开始倒数
“开始倒数”积木可以设定一段时间,并且开始倒数计时,时间单位是毫秒 ( 1/1000 秒 ),倒数结束后,LED 就会“自动出现” GAME OVER 的文字跑马灯,并且显示分数。
注意,倒数结束表示“游戏结束”,会停止 micro:bit 所有功能直到重新启动。
下图的例子,micor:bit 启动后会用 a 和 b 两个变数建立两个角色 ( b 角色亮度较暗 ),以及分数设定为 0 并且开始倒数计时 10 秒 ( 10000ms ),按下 A 按钮时角色 a 会往左移,按下 B 按钮时角色 a 会往右移,每次按下按钮时,判断当 a 碰到 b 时让得分增加 1,当倒数结束,就会显示分数。
游戏结束 / 继续 / 暂停
“游戏结束 / 继续 / 暂停”积木可以设定游戏状态,“游戏暂停”和“游戏继续”积木是在“更多”选单里。
- 游戏结束:结束游戏,出现跑马灯动画以及显示分数 ( 游戏结束会让所有功能停止运作,直到重启 micro:bit )。
- 游戏暂停:所有游戏动作暂停 ( 但还是会继续倒数 )
- 游戏继续:取消暂停,继续游戏动作。
游戏状态
“游戏状态”积木可以以逻辑 true 或 false 的方式,表现游戏目前的状态。
- 游戏已经结束:游戏结束 ( true ),游戏尚未结束 ( false )。
- 游戏暂时停止:游戏暂停 ( true ),游戏正在运行 ( false )。
- 游戏正在运行:游戏正在运行 ( true ),游戏暂停 ( false )。
微信扫码关注
抖音扫码关注