Skip to content

Activité

Hot and cold game

Intermédiaire | MakeCode, Python | Boutons, Radio, Écran LED | Communication, Types de données

Étape 1 : Fais-le

Qu'est-ce que c'est ?

Réalisez ce jeu amusant à deux joueurs en utilisant la fonctionnalité radio du BBC micro:bit.

Ce que vous apprendrez

En réalisant ce projet, vous apprendrez ce que sont les réseaux, comment les informations sont envoyées entre des appareils électroniques par radio, et comment les ordinateurs stockent les informations dans différents types de données, par exemple comment les mots sont stockés dans des chaînes de caractères.

Comment ça marche

  • C'est un jeu pour deux personnes. Une personne cache un objet et donne des indices au chercheur : « chaud » lorsqu'il est proche de l'objet, « plus froid » lorsqu'il s'en éloigne et « plus chaud » lorsqu'il s'en rapproche.
  • Habituellement, on joue à ce jeu en criant les mots « chaud », « plus froid » et « plus chaud », mais dans cette version du jeu, les mots sont envoyés par radio d'un micro:bit à l'autre et s'affichent sur l'écran LED.
  • Il y a deux programmes, l'un pour le cacheur et l'autre pour le chercheur.
  • Tout d'abord, chaque programme définit le groupe radio à 47. Les groupes sont comme des canaux, de sorte que tout micro:bit utilisant le même groupe recevra le message. Vous pouvez utiliser n'importe quel numéro de groupe de 0 à 255.
  • Le cacheur appuie sur le bouton A pour envoyer le message « plus chaud », sur le bouton B pour envoyer le message « plus froid » et sur les boutons A et B ensemble pour envoyer le message « très chaud ».
  • Le micro:bit peut envoyer des messages sous forme de chiffres ou de texte. Nous utilisons des messages texte dans ce projet, veillez donc à utiliser des blocs radio qui font référence à chaînes de caractères plutôt qu'à nombres ou valeurs.
  • En informatique, une chaîne (string) est une séquence de caractères pouvant contenir des lettres, des chiffres, des symboles et des espaces.
  • Lorsque le micro:bit du chercheur reçoit un message radio, il affiche la chaîne reçue sur son écran LED. Les chaînes de caractères sont également affichées sur le micro:bit du cacheur.

Ce dont vous aurez besoin

  • 2 micro:bits
  • L'éditeur MakeCode
  • bloc de piles (recommandé)

Étape 2 : Codez

Hider code

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)

Seeker code

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)

Étape 3 : Améliorez

  1. Edit the program so that different words appear instead of 'hot', 'colder' and 'warmer'. For example, you could use the words for 'hot', 'colder' and 'warmer' in a foreign language you are learning.
  2. Add sound effects to the program.
  3. Use this game with a timer or step counter program to see how quickly you found the object.