步驟1:製作
這是什麼?
使用廣播進行“熱土豆”或熱鴨小組遊戲!
運作方式
- 就像傳送鴨子遊戲一樣,它使用radio透過micro:bit之間的空中發送“鴨子”。 這個遊戲只適用於 2 個玩家,因為它會向每個人發出相同的訊息 – 很快您就會發現幾乎每個人都有一隻鴨子,而且任何人都可以扔出一隻。
- 如果您有2位以上的玩家,那麼每個micro:bit都需要選擇一種方法來選擇哪個玩家將獲得成功,因此每個玩家的程序都有一個唯一的ID號,從1開始。
- 我們將其儲存在名為 ID 的變數中,在將程式刷新到他們的micro:bit上之前,您需要為每個播放器分別設置為2 、3、4,等。
- 將 players 變量設置為人數,以確保每個人都有機會得到鴨子。 程式開始時在 LED 螢幕上顯示玩家的 ID 號碼,這樣您就知道誰有哪個號碼。
- 為確保只有擁有鴨子的玩家才能將其卡住,該程式僅在搖動它時才發送一條消息,如果您有鴨子的話。 它使用一個叫布爾變數的 hasDuck 來追蹤這一點。 布爾變數只能有兩個標準值:真或偽。 開始時,只有 1 號玩家擁有鴨子,其他人都不能扔。
- 當玩家1搖動其micro:bit時,程式將生成一個介於1和玩家數量之間的隨機數。 如果隨機數字不等於她自己的 ID 號碼,它將透過無線電發送新的 ID 號碼,清除她的螢幕,並且將她的 hasDuck 變數設定為「偽」。
- 如果隨機數等於她自己的ID,則需要再次拋出,但這比鴨子被發送給自己更好-而且在異次元迷路了!
- 如果您的 micro:bit 收到一個數字,它將檢查它是否等於(匹配)您的 ID 號碼。 如果是這樣的話,恭喜,您現在擁有鴨子了! 當一隻鴨子出現在您的 LED 螢幕上,您的 hasDuck 變數被設定為正確,這表示您現在可以把鴨子扔給別人了。
- 請負責任地抓鴨子:確保您在玩這款遊戲時不要掉落micro:bit或撞到朋友。
你需要的東西
- 3個或更多micro:bit
- MakeCode 或, Python 編輯器
- 電池組(選配)
- 一群人一起玩
步驟2:編碼
1from microbit import *
2import radio
3import random
4
5radio.config(group=42)
6players = 3
7ID = 3
8display.show(ID)
9if ID == 1:
10 hasDuck = True
11else:
12 hasDuck = False
13radio.on()
14
15while True:
16 message = radio.receive()
17 if accelerometer.was_gesture('shake'):
18 if hasDuck:
19 sendTo = random.randint(1, players)
20 if sendTo != ID:
21 display.clear()
22 radio.send(str(sendTo))
23 if message:
24 if message == str(ID):
25 hasDuck = True
26 display.show(Image.DUCK)
27 else:
28 hasDuck = False
29
步驟3:進階
- 更改程序以發送其他內容而不是發送鴨子。
- 目前,如果它挑選了一個與您自己的 ID 號碼相同的隨機號碼,您必須再次搖動。 修改程式以便永遠不會再發生這種情況。 可能有不止一種方法可以做到這一點。
- 1 號玩家總會在遊戲開始時擁有鴨子。 您能否修改程式,讓第一個拿著鴨子的玩家被隨機選中? 您將如何向每位玩家的 micro:bit 傳達這一點?
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.