Objectifs
- Manipuler un système embarqué ;
- Récupérer des informations via des capteurs ;
- Créer des événements grâce aux actionneurs ;
- Envoyer et recevoir des informations.
Projet - Créer le jeu Duel Laser sur micro:bit 🎮
Projet
Ce projet se réalise par groupe de 4, organisés en 2 binômes.
Chaque binôme utilise une carte micro:bit.
Le but est de créer un jeu de tir en duel, où :
- Une carte contrôle un joueur qui esquive.
- L’autre carte contrôle un tireur qui tente de toucher le joueur.
- Les cartes
communiquent
entre elles par radio.
Les rôles s’échangent automatiquement pendant la partie, et le jeu doit donner des retours visuels selon que le tir touche ou rate.
🎯 Règles du jeu
- Un joueur déplace un point (le "personnage") en bas de l’écran pour esquiver les tirs à l'aide des boutons.
- L’autre joueur déplace un viseur (en haut) et peut tirer.
- Si le tir atteint la position du joueur → c’est touché.
- Sinon → le tir est raté.
- Des animations différentes sont affichées selon que le tir touche ou rate.
- Après un certain temps ou nombre de tirs, les rôles s’inversent automatiquement.
🛠️ Étapes à suivre
Étape 1 : Initialiser la communication radio
Dans chaque programme :
- On définit pour chaque carte un groupe pour la radio (il faut que les 2 cartes soient dans le même groupe pour communiquer).
Étape 2 : Carte Joueur (celui qui esquive)
- Créer une variable
xJoueur
à2
,xTir
initialisée à-1
,vie
à3
. - Allumer une LED au point de coordonnées
(xJoueur, 4)
- Déplacement :
bouton A pressé
→ décrémentexJoueur
(si > 0)bouton B pressé
→ incrémentexJoueur
(si < 4)- Efface et réaffiche le point
- Lorsqu’un message
"tir"
est reçu par radio :- Changer la valeur de
xTir
par celle reçue par radio - Faire descendre un point, allant de
(xTir, 0)
jusqu’à(xTir, 4)
- Si les coordonnées
x
du tir et du joueur sont égales, à la ligne 4 :- Afficher un crâne ☠️
- Envoyer
"touche"
par radio - Retirer une vie
- Si plus de vie → afficher
"Perdu"
- Sinon :
- Afficher un smiley 😊
- Envoyer
"rate"
par radio
- Changer la valeur de
Étape 3 : Carte Tireur
- Créer une variable
xTireur
à2
- Allumer une LED au point de coordonnées
(xTireur, 0)
- Déplacement :
bouton A pressé
→ décrémentexTireur
(si > 0)bouton B pressé
→ incrémentexTireur
(si < 4)
- Tir :
A+B pressés
→ envoyer"tir"
avecxTireur
- Réception :
- Si
"touche"
→ afficher une étoile ⭐ ou autre symbole de réussite - Si
"rate"
→ afficher une croix ❌
- Si
Étape 4 : Inversion des rôles
- Créer une variable
mode
:"joueur"
ou"tireur"
- Après n tirs ou 30 secondes :
- Envoyer
"changer"
par radio
- Envoyer
- Quand
"changer"
est reçu :- Alterner le rôle
- Réinitialiser les positions
- Nettoyer l’écran
📄 À rendre
- Une démonstration fonctionnelle du jeu entre les 2 micro:bits.
- Un document word (avec noms et prénoms des membres du groupe) avec :
- Rôle de chaque binôme
- Fonctions principales réalisées
- Ce qui a bien ou mal fonctionné
- Le programme enregistré sous forme de lien MakeCode :
- Mettre vos noms dans
Project Title
- Cliquer sur
Partager le projet
- Copier le lien et l'intégrer dans le word
💡 Astuces
- Ligne 0 = haut de l’écran ; ligne 4 = bas
- Utiliser
effacer écran
oudésactiver led (x, y)
pour nettoyer l’affichage - Commencer avec 3 vies
- Pour les rôles, on peut utiliser une variable
mode
différente sur chaque carte - Un effet visuel rapide (par ex.
montrer icône
,pause
, puiseffacer
) permet d’attirer l'attention - Testez souvent à deux cartes.
- Ajoutez des
montrer nombre
pour vérifier les valeurs - Travaillez étape par étape, commencez par les raquettes
- Pensez à tester chaque partie séparément avant de tout combiner