iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
自我挑戰組

micro:bit 從入門到精通系列 第 21

Day21 ( 高級 ) 心電感應 ( 廣播 )

  • 分享至 

  • xImage
  •  

心電感應 ( 廣播 )

教學原文參考:心電感應 ( 廣播 )

這篇文章會使用「按鈕依序開關燈」的範例,搭配「廣播」、「邏輯判斷」積木,做出一個可以雙人互動的心電感應小遊戲,如果兩人心電感應成功就會出現愛心符號,感應不成功就會是 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,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!


上一篇
Day20 ( 中級 ) 依序點燈 ( 座標 )
下一篇
Day22 ( 遊戲設計 ) 小瑪莉遊戲機
系列文
micro:bit 從入門到精通46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言