Day21 ( 高级 ) 心电感应 ( 广播 )

心电感应 ( 广播 )

教学原文参考:心电感应 ( 广播 )

这篇文章会使用「按钮依序开关灯」的范例,搭配「广播」、「逻辑判断」积木,做出一个可以双人互动的心电感应小游戏,如果两人心电感应成功就会出现爱心符号,感应不成功就会是 X 的符号。

相关文章参考:按钮依序开关灯广播逻辑判断

积木程序原理

开启「按钮依序开关灯」文章里面的范例解答,使用范例积木继续编辑 ( 开启後点击上方 Edit Code 按钮 )。

范例连结:按钮依序开关灯

micro:bit - 心电感应 ( 广播 )

因为要使用广播功能,所以要先设定「广播群组」,编辑「当启动时」的程序,新增「广播群组设为 1」的积木 ( 可以自己设定想要的群组号码,范围 0~255 )。

micro:bit - 心电感应 ( 广播 )

编辑按下 A 按钮和 B 按钮的程序,加入逻辑判断,将 n 的数值限制在 0~25 的范围

micro:bit - 心电感应 ( 广播 )

修改按下 A+B 按钮的程序,让按下 A+B 按钮时,发送「n 的数值」广播讯号

micro:bit - 心电感应 ( 广播 )

最後实作收到广播数字 receivedNumber 的程序:

逻辑判断 说明
receivedNumber 等於 n 表示两人灯号相同 ( 心电感应成功 ),出现爱心图示,发送 100 的广播讯号。
receivedNumber 等於 100 表示对方已经收到,且灯号相同,所以发回 100 的讯号,所以就可以出现爱心图示,表示心电感应成功。
receivedNumber 不等於 n 表示两人灯号不同 ( 心电感应失败 ),出现 X 图示,发送 99 的广播讯号。
receivedNumber 等於 99 表示对方已经收到但灯号不同,所以发回 99 的讯号,所以就可以出现 X 图示,表示心电感应失败。

micro:bit - 心电感应 ( 广播 )

完成後,将程序分别写入两块不同的 micro:bit,micro:bit 双双启动後,彼此按压 A 按钮或 B 按钮,确认灯号後同时按下 AB 按钮,开始进行心电感应的游戏。

范例解答

范例解答:心电感应 ( 广播 )

关於我

大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!


<<:  ASP.NET MVC 从入门到放弃(Day16)-MVC基本概念

>>:  企划实现(6)

Day 9 - 元件的资料传输(1)

在Vue中,元件间资料沟通传递的方式,一直都是个不容忽视的问题,妥善处理资料流,也是身为工程师的必学...

Day 17 - Sorting Band Names without articles

前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...

Proxmox VE 虚拟机防火墙管理 (一)

在网路防护方面,Proxmox VE 提供了相当良好的防火墙管理功能,并且可以适用於节点实体机、客...

[Day25]C# 鸡础观念- 共产主义者~静态成员

农场里的鸡饲料都是大把大把的撒在地上, 每只鸡都去吃那些饲料,吃完就没了, 而不像其他宠物有独立的饲...

树选手1号:decision tree

想要利用接下来的几篇文章把tree-based的模型稍微介绍一下,所有的tree-based模型基本...