micro:bit造物粒子(基于Mind+)13— 拆弹游戏

2018-08-073万
AI 快速预览详细 收起
本文介绍了如何使用micro:bit主控板和BOSON扩展板制作一个拆弹游戏。游戏通过动作识别、灯光交互和计分系统来挑战玩家的反应能力。玩家需要根据micro:bit提示的方向倾斜板子,快速解锁炸弹。游戏由三个部分组成:动作识别、灯光交互和计分系统。通过这个项目,孩子们可以锻炼逻辑思维和动手能力。
麦克的故事
小朋友们要来麦克家里做客了,麦克很高兴,麦克想把自己最喜欢的玩具拿出来和小朋友们分享,有遥控汽车,遥控飞机
麦克觉得这些玩具没有什么新奇的,怎样才能够做一个属于麦克的游戏呢?麦克决定用micro:bitBOSON做一个炫酷的游戏——拆弹游戏,考验一下小伙伴们的反应能力吧。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图1
所需元件
1×micro:bit主控板
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图2
1×micro:bit扩展板
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图3
1× 彩虹灯带
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图4

1×  MicroUSB 连接线
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图5


实现功能
启动micro:bit之后,LED灯模拟的引线会开始燃烧,当引线烧至最后时炸弹会引爆。麦克需要在炸弹引爆前,根据micro:bit提示的方向依次将板子向不同的方向倾斜,快速解锁炸弹才能避免“**”。
这样的拆弹装置由三个部分组成:
1.    动作识别:用来识别倾斜的方向是否和指示的方向一致。
2.    灯光交互:为LED灯设置引线燃烧的效果,经过时间越长剩余点亮的LED灯越少。
3.    计分系统:在LED灯全部熄灭之前完成20个动作则拆弹成功;LED灯全部熄灭时仍然没有完成,则判定游戏结束。
硬件连接
将彩虹灯带接在扩展板的P0号接口。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图6
编写程序
STEP1:动作识别
首先我们需要让micro:bit能够产生并显示随机的方向,在我们向该方向倾斜操作时能识别出来,随后随机显示下一个方向。这样的一个程序的流程图大致如下。

在游戏过程中,只有当我们的操作与随机产生的指示箭头一致时,才会进行下一步操作,否则一直保持当前的箭头方向。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图7
怎样产生随机方向呢?

可以用0~3四个数字代表四个方向,使用数学Math下的子模块产生随机数模块“选取0至(  )”来从0~3四个数字中随机选择一个数字。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图8
建立一个函数“产生随机方向”,对应产生的随机数,显示不同的箭头。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图9
怎样判读倾斜操作的实际方向呢?

通过在输入input下的姿势识别模块来读取micro:bit的倾斜方向,并且分别对应到0~3中。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图10
通过一个如果if语句条件判断,操作方向与目标方向是否一致。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图11
这个部分的完整程序为:
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图12
注意:“如果为While语句”用于保证两次随机出现的方向不相同。
STEP2:制作炸弹程序

炸弹的效果通过彩色灯带显示,使用灯带来模拟炸弹的保险丝。随着时间的推移,保险丝上的led灯珠将会以稳定的速度相继熄灭。所以反应速度越快,小灯剩余数量越多。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图13
怎么实现倒计时?
建立时间函数,通过计数的形式,设置每次计时的时间间隔,为(1*100)*100ms.一次计时间隔结束,小灯数量减1.

注意:因为micro:bit在处理数据时会消耗到一定的时间,所以倒计时模块实际运行时会走得慢一些。
时间倒计时的同时,小灯的显示部分:
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图14
这个部分的完整程序:
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图15
STEP3:增加计分功能
在操作过程中,每次操作方向和目标方向一致,积一分,直到积满20分,并且此时LED灯珠数量大于0,那么挑战成功,拆单成功,最终得分为LED灯珠剩余个数;否则,失败。

流程图大致如下:
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图16
判断是否成功及失败的程序如下:
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图17
计分部分可以合并在主程序中
STEP4:最终程序。
micro:bit造物粒子(基于Mind+)13— 拆弹游戏图18

能力提升
1.尝试加快LED灯的熄灭速度,增加游戏难度;
2.将上下左右方向用其他图形替代,挑战更高难度的下的反应力。
希望你的micro:bit之旅不会止步,用你的奇思妙想,玩出更多新颖有创意的作品。如果你愿意与我们分享的话,也可以直接登陆我们的论坛,让我们的社区论坛记录下你的点点滴滴!
欢迎登陆DFRobot创客社区!

DFRobot 创客社区: www.dfrobot.com.cn



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
程泽宇
程泽宇
垃圾,程序都是错的,不信你自己回去做一下,垃圾
Nick-ccq
Nick-ccq
此mind+版本为1.5.5。因此随机数只需0-3即可。
Anony123
Anony123
666
gada888
gada888
bang,bang,bang
- 没有更多了 -