0°

(十六)基础例子:心情电台

这个项目使用收音机与其他micro:bit分享你的心情。当你按下时A,你的朋友会看到一个笑脸。当你按下时B,他们会看到一张皱眉的脸。

发个笑脸

micro:bit无法理解情绪,但数字相当不错。事实上,它可以使用无线电天线在micro:bit之间发送数字,就像电话可以发送短信一样。

让我们添加A按下按钮时发送数字的块。我们假设这0是发送笑脸的“情绪代码” 。

input.onButtonPressed(Button.A, () => {
    radio.sendNumber(0)
    basic.showIcon(IconNames.Happy)
})

收到笑脸

我们添加一个||radio:on radio received||模块,只要有新的“情绪”消息进入就会运行代码。该receivedNumber变量包含发送的数值。由于我们已经确定它0笑脸,我们还需添加条件||logic:if then||语句来显示此图标。

radio.onDataPacketReceived( ({ receivedNumber }) =>  {
    if (receivedNumber == 0) {
        basic.showIcon(IconNames.Happy)
    }
})

发脾气

以类似的方式为我们的消息传递应用添加另一种心情。我们认为“情绪代码” 1意味着皱眉。我们可以添加一个B发送该代码的按钮事件。

input.onButtonPressed(Button.B, () => {
    radio.sendNumber(1)
    basic.showIcon(IconNames.Sad)
})

如果是||radio:on radio received||模块,我们添加另一个条件||logic:if then||语句来处理皱眉的 “情绪代码”。

radio.onDataPacketReceived( ({ receivedNumber }) =>  {
    if (receivedNumber == 0) {
        basic.showIcon(IconNames.Happy)
    }
    if (receivedNumber == 1) {
        basic.showIcon(IconNames.Sad)
    }
})

将您的代码下载到多个micro:bit并尝试一下!

挑战

尝试添加新代码并使用||input:on shake||事件发送它。

全部来源

input.onButtonPressed(Button.A, () => {
    radio.sendNumber(0)
    basic.showIcon(IconNames.Happy)
})
input.onButtonPressed(Button.B, () => {
    radio.sendNumber(1)
    basic.showIcon(IconNames.Sad)
})
radio.onDataPacketReceived( ({ receivedNumber }) =>  {
    if (receivedNumber == 0) {
        basic.showIcon(IconNames.Happy)
    }
    if (receivedNumber == 1) {
        basic.showIcon(IconNames.Sad)
    }
})
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论