教学原文参考:太鼓达人
这篇文章会大量使用「阵列」的操作,搭配「变数」、「逻辑判断」、「点亮」、「[计次回圈」、「逻辑判断」等积木,在 micro:bit 实作一个类似太鼓达人的节奏小游戏。
太鼓达人是一款用按钮和 LED 灯互动的节奏小游戏 ( 如果能搭配蜂鸣器的音效更好 ),游戏开始後,会有鼓点 ( 光点 ) 按照一定的节奏,从上而下移动,当鼓点移动到指定位置时,按下 A 或 B 按钮进行「打鼓」的动作,如果有打到则得分。
如果使用 micro:bit 实作,游戏操作步骤如下:
- 同时按下 AB 按钮,开始游戏 ( 或重新游戏 )。
- 按下 A 按钮,在指定位置打击左侧鼓点。
- 按下 B 按钮,在指定位置打击右侧鼓点。
- 鼓点被打鼓後就会消失,得分加一。
- 如果有三次没有打鼓成功,游戏结束,显示得分。
首先设计「一串鼓点」的移动,因为有鼓点不会只有一点,所以使用阵列来呈现:
新增一个重复无限次积木,制作灯号从上往下移动的动画效果:
不用担心 y 如果大於 4 或小於 0,点亮或不点亮的积木,会自动忽略超过范围的数值。
完成後启动 micro:bit,就会看见灯光不断往下移动。
因为游戏开始时,鼓点会从最上方出现,所以要修改程序:
完成後,启动 micro:bit 就能看到灯号不是从最下面出发,而是从最上方开始移动。
了解原理後,将启动时的阵列,全部搬移到「当按下 A+B 按钮」积木里,作为游戏开始使用:
将打鼓模式的积木,复制一份到「当按下 A 按钮」的积木里。
接着修改 a 阵列的重复无限次积木:
新增一个重复无限次积木,判断 end 等於 0 的时候,显示分数,并将 run 设定为 0 ( 表示游戏结束 )。
最後,如法泡制,新增另外一个 b 阵列以及按下 B 按钮的程序 ( 基本上都和 a 相同 ),就能做到同时有两个鼓点出现的效果。完成後,启动 micor:bit,就可以开始进行太鼓达人的游戏。
范例解答:太鼓达人
对於「阵列」的应用不熟悉,该如何开始呢?
可以先参考以下三篇文章,帮助自己厘清阵列操作 LED 的观念:阵列点灯 ( 显示图形 )、阵列点灯 ( 动画 )、移动速度不同的灯。
为什麽 A+B 按钮也要判断「run 是否等於 1」?
因为太鼓达人在游戏过程中,常常会出现 A+B 按钮一起按下的状况,为了不让「启动」和「游戏」搞混,所以要多增加「run 是否等於 1」的判断。
大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!
<<: ASP.NET MVC 从入门到放弃(Day24)-MVC删除资料介绍
本系列文章同步发布於笔者网站 上一篇讲述了 OVN Plug-in 在 OpenStack 中的参考...
当我们的程序可能会有其他语言使用者时,就得开始考虑国际化的问题了,专业术语叫i18n: i n t ...
早起运动Day6 - 生日快乐我的国家 三点多有起来记录了一下梦话,接着再睡了回去,我想那是在...
这个部分算是JavaScript比较难缠的部分,不是难以理解,而是因为比较冗杂,稍稍心浮气躁,就没...
今天我们来看一下Native Camp用户设定,看一下有没有遗漏什麽栏位没有设置的, 这边可以看到可...