教学原文参考:老鼠走迷宫
这篇文章会介绍如何使用「创建角色」、「角色是否碰到其他角色」、「阵列」、「变数」、「逻辑判断」、「计次回圈」、「当按钮按下」等积木,实作一个老鼠走迷宫的 LED 灯小游戏。
老鼠走迷宫是一个简单的小游戏,游戏开始後,下方会有一个「老鼠」的 LED 灯亮起,上方会有「墙壁」不断往下移动 ( 就像老鼠不断往上爬 ),使用者需要操纵「老鼠」左右移动闪躲墙壁,如果老鼠撞到墙壁就输了。使用 micro:bit 的游戏操作步骤如下:
- AB 按钮同时按下,开始游戏。
- 游戏开始後,下方出现「老鼠」角色 LED,上方出现「墙壁」往下移动 ( 亮度较暗 )。
- 按下 A 按钮,老鼠角色往左移动。
- 按下 B 按钮,老鼠角色往右移动。
- 老鼠从道路穿过墙壁就得分。
- 墙壁撞到老鼠,游戏结束,显示最後得分。
首先设定启动时的变数:
设定 A、B 按钮控制老鼠移动的程序,按下 A 按钮时角色 x 改变 -1 ( 老鼠往左移 ),按下 B 按钮时角色 x 改变 1 ( 老鼠往右移 )。
设定 AB 按钮同时按下,游戏开始的程序:
接着设计「第一层」墙壁往下移动的程序:
接着设计「第二层」墙壁往下移动的程序:
接着设计「第三层」墙壁往下移动的程序:
在来设计「老鼠碰到墙壁」的程序:
最後,在按下 A+B 按钮的积木里,加入逻辑判断程序:
完成後,启动 micro:Bit,按下 AB 按钮,就可以开始进行老鼠走迷宫的游戏。
在游戏的过程中,发现游戏停止後,分数在某些情形下还会继续累加,原因在於「计次回圈」并没有因为游戏暂停而停止回圈,这时只要透过简单的逻辑判断修正,判断如果游戏正在进行,才进行分数的累计。
范例解答:老鼠走迷宫
为什麽要使用这麽多个「角色」呢?
其实更好的做法是使用「阵列」判断,但因为是透过「积木」来操作,使用阵列会造成积木排列的较为复杂,所以透过 MakeCode 内建的游戏积木,建立角色,判断角色碰撞,对於入门者来说较容易理解。
为什麽要「判断角色是否存在」呢?
因为如果在「角色不存在」的状况下「删除角色」,会造成程序发生错误,所以在删除角色之前,必须先判断角色是否存在,如果角色存在,才能删除角色。
为什麽要使用「游戏继续」和「游戏暂停」呢?
因为 MakeCode 游戏积木里的「游戏结束」功能,会让整块 micro:bit 功能停止运作,必须重新启动才能继续游戏,且创立角色後,角色会影响 LED 所有的显示画面,使用了游戏暂停就能避免这种情况发生。
大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!
<<: 如何在 WordPress 设定 Google reCAPTCHA 保护(登入、留言、联络)表单,免遭恶意攻击
>>: Day 22:专案05 - KKBOX风云榜01 | AJAX
在前面,我有稍微带到 Apache NiFi 的性质与特点,但除了了解这些之外,我们也要清楚知道这个...
什麽是 Base 样式 概念有点像是 CSSreset,现在网页基本上都会使用 CSS reset...
今天内容跟我原本预期的,出入满多QQ 因为先前有买一的书,叫「黑客大揭秘 近源渗透测试」, 本来打算...
因为个人的 blog 需要一个弹出视窗做提示,而套件里的样式我都不喜欢,所以今天就来客制化一个吧!...
前面我们介绍了简单的条件逻辑运算符,现在我们来看一下另外一种条件判断 ———— if. 在前面的判断...