Skip to content

アクティビティ

ホット&コールドゲーム

中級 | MakeCode, Python | LED表示, ボタン, 無線 | データ型, 通信

ステップ1: 作る

説明

BBC micro:bitのラジオ機能を使って、この楽しい2人用ゲームを作ろう。

学ぶこと

このプロジェクトを行うことで、ネットワーク、無線による電子機器間の情報送信方法、コンピュータが異なるデータ型で情報を保存する方法(単語が文字列で保存される方法など)について学ぶことができる。

動作の仕組み

  • これは二人用のゲームです。 ある人がオブジェクトを隠し、シーカーにヒントを与えます: オブジェクトがオブジェクトに近づいたら「熱く」します。 遠ざかっているときは「より冷たい」、近づいているときは「より暖かい」。
  • 通常、このゲームは「熱い」と叫ぶことによって再生されます。 「より冷たい」と「より暖かい」が、このゲームのバージョンでは、micro:bitから別のmicro:bitに無線で単語が送信され、LEDディスプレイに表示されます。
  • 2つのプログラムがあります, 1はハイダーのためのものとシーカーのためのもの.
  • まず、各プログラムはラジオグループを47に設定します。 グループはチャンネルのようなもので、同じグループを使っているmicro:bitはメッセージを受け取ります。 0から255の好きなグループ番号を使用できます。
  • ハイダーは、メッセージ「より暖かい」を送信するためにボタンAを押します。 メッセージ「より冷たい」を送信するにはボタンBを押し、ボタンAとBを同時に押して「熱い」というメッセージを送信します。
  • micro:bitは数字やテキストとしてメッセージを送信できます。 このプロジェクトではテキスト・メッセージを使うので、数字や値ではなく、文字列や値を参照するラジオ・ブロックを使うようにしてください。
  • 計算では、 文字列 は文字、数字、記号、スペースを含めることができる文字列です。
  • シーカーのmicro:bitがラジオメッセージを受信すると、LEDディスプレイに受信した文字列が表示されます。 ハイダーのmicro:bitにも文字列が表示されます。

必要なもの

  • micro:bit 2個
  • MakeCodeエディター
  • バッテリーパック(推奨)

ステップ2:プログラミング

ハイダーコード

1# Imports go at the top
2from microbit import *
3import radio
4radio.config(group=47)
5radio.on()
6
7while True:
8    if button_a.is_pressed() and button_b.is_pressed():
9            radio.send('HOT!')
10            display.scroll('HOT!')
11    elif button_a.is_pressed():
12        radio.send('warmer')
13        display.scroll('warmer')
14    elif button_b.is_pressed():
15        radio.send('colder')
16        display.scroll('colder')
17    sleep(100)

シーカーコード

1# Imports go at the top
2from microbit import *
3import radio
4radio.config(group=47)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        display.scroll(message)
11    sleep(100)

ステップ3:改善する

  1. 「熱い」、「より寒い」、「より暖かい」の代わりに異なる単語が表示されるようにプログラムを編集します。 たとえば、学習中の外国語で「熱い」、「より冷たい」、「より暖かい」の単語を使用することができます。
  2. プログラムに効果音を追加します。
  3. このゲームでは、タイマーまたはステップカウンタープログラムを使用して、オブジェクトをどれだけ早く見つけたかを確認します。