Atelier du 29 février 2020 – Programmation d’un jeu réseau pour Micro:bit

Toujours en utilisant le BBC Micro:bit, nous allons implémenter le jeu de « la patate chaude » aussi appelé « jeu de la bombe à retardement ».

En voici le scénario : chaque joueur dispose d’un Micro:bit et doit rejoindre un groupe (les groupes sont définis par choix d’un canal de communication radio). Le jeu qui a créé le groupe possède une « bombe » munie d’un compte à rebours. Le compte à rebours a été choisi de manière aléatoire et nul joueur ne connait sa valeur.

Le joueur qui « possède » la bombe le voit sur l’afficheur LED du Micro:bit. Il peut décider d’attendre… au risque de provoquer le déclenchement de la bombe , ou bien, il peut « passer » la bombe à un autre joueur, choisi aléatoirement, en appuyant sur le bouton <A>.

Le joueur qui possède la bombe quand elle explose a perdu !

Voilà, les règles sont simples, mais la réalisation possède quelques pièges dignes d’une implémentation de type TCP/IP. En effet, le protocole réseau du Micro:bit est vraiment simple et ne propose pas de mode connecté (avec acquittement des paquets), ainsi, il est difficile de s’assurer que la bombe ne sera pas perdue lors de son émission d’un joueur à l’autre. Ce jeu permet d’évoquer la notion de protocole et montrer la difficulté à réaliser des communications fiables.

Le jeu doit aussi pouvoir regrouper un nombre quelconque de participants : il faut donc être capable de déterminer combien de joueurs sont présents pour pouvoir un choisir à qui envoyer la bombe ! Ce jeu permet donc d’introduire la notion de « tableau » et montre comment utiliser une telle structure de données.

Vous pouvez télécharger le code (en hexadécimal) du jeu en cliquant ici.