Pierre feuille ciseaux

Dans cette page tu trouveras :

Bases du code

Utiliser la radio

Pour ce jeu nous allons avoir besoin de deux joueurs chacun avec son propre micro:bit.
 
Pour communiquer ensemble, les deux joueurs devront se mettre sur le même canal radio. Pour cela au démarrage du micro:bit, il faut définir le groupe sur lequel les deux joueurs vont se connecter. Mettez vous d’accord sur un nombre entre 1 et 255 et vérifiez que personne d’autre dans le groupe n’as le même numéro.

Envoyer un message

Tu trouveras différents blocs dans la radio. Après avoir défini le groupe, il faut maintenant envoyer le choix pierre feuille ou ciseaux par message à son partenaire de jeu. 
Il existe différents moyens d’envoyer des messages. Pour faciliter la lecture on va utiliser des chaînes de caractères avec des noms très clairs : 

  • Si on appuie sur A on envoie « pierre »
  • Si on appuie sur B on envoie « feuille »
  • Si on appuie sur A et B en même temps on envoie « ciseaux »

Recevoir un message

Pour recevoir un message, il existe différents blocs. Nous allons utiliser les chaînes, en anglais ça s’appelle « String ». 

Quand le microbit reçoit un texte, il le stocke dans une variable qui s’appelle receivedString ce qui veut dire texte reçu. 

On peut commencer par l’afficher afin de vérifier que tout fonctionne bien

Personnaliser l’affichage

Au lieu d’afficher le texte, tu peux maintenant ajouter des conditions pour afficher des images différentes selon le choix, une pierre si le message est pierre, une feuille si c’est une feuille ou encore ciseaux si c’est ciseaux.

A toi de laisser ta créativité pour dessiner ces icônes. 

Craft

Création de la manette

Sur une feuille de papier tu vas pouvoir dessiner les différents choix et faire un bouton avec un morceau de papier d’aluminium fixé sur la feuille avec une pince croco. 

Chacun des choix va être relié à une pin en entrée : 

  • P0 pierre
  • P1 feuille
  • P2 ciseaux

Pense à bien mettre une autre pince croco sur GND afin de fermer le circuit et que l’on puisse détecter le contact. 

Tu peux alors soit poser la pince croco sur ton choix, soit la garder dans une main et choisir avec l’autre main

Pense à modifier le code pour utiliser les blocs quand la broche P0 est activée plutôt que quand le bouton A est pressé.

Une image montrant les branchements sera insérée plus tard

Synchronisation

Principe de la synchronisation

L’objectif de cette partie est d’ajouter un mécanisme qui permet de jouer en même temps et s’assurer que les deux joueurs envoient le message en même temps. 

Pour cela on va avoir besoin d’un nouveau message pour lancer la partie : « go »
Après avoir affiché un petit décompte, on envoie le coup joué par le joueur, et pour cela il va falloir le mémoriser à l’aide d’une variable.

Mise en place de la variable de choix du coup joué

Nous allons créer une variable choix.

Cette variable va permettre de se souvenir du coup joué afin d’envoyer les messages de manière synchronisé et ne pas de l’envoyer dès que le coup a été joué. 

Envoi du message et compte à rebours

Le principe de la synchronisation est que les deux microbits fassent exactement la même chose en même temps, que ce soit au moment où l’un envoie le message « go »ou au moment ou l’autre reçoit le message « go ».

D’un côté si on appuie sur un bouton alors on envoie le message « go » puis on affiche le compte à rebours et à la fin du compte à rebours on envoie le message correspondant au choix. De l’autre si on reçoit le message « go » on affiche le compte à rebours et on envoie le message correspondant au choix.

Notre code va donc être le même à ces deux endroits, et voici donc les différentes étapes de synchronisation :

  1. On affiche différents messages pour faire un compte à rebours et savoir qu’il faut jouer
  2. On envoie le message correspondant au choix
Si tu le souhaites il est également possible d’effacer les coups joués en dehors de la partie et remettre la variable à une chaine vide pour dire qu’aucun choix n’as été fait jusque là pendant la partie. 
 
Dans ce cas, n’hésite pas à remettre à ajouter une condition qui permet d’afficher une croix si le message reçu n’est aucun des cas définis jusque là .

Déclarer un vainqueur 

Ajouter des conditions 

Pour savoir qui a gagné une manche il faut comparer les coups de chacun des deux joueurs. 

Imaginons que l’autre joueur à joué « pierre », alors il y a plusieurs solutions : 

  • tu as joué « pierre » aussi dans ce cas c’est une égalité
  • tu as joué « feuille » alors tu as gagné
  • tu as joué « ciseaux » alors tu as perdu
  • bonus : tu n’as pas joué (la variable choix est vide)

Tu peux alors imbriquer des conditions pour chacune de ces situations et afficher le message correspondant. Fais bien attention à déterminer le vaniqueur dans chaque situation. 

Tu n’as plus qu’à faire de même pour toutes les autres situations. 

Bonus : Personnalise ton pierre, feuille, ciseau

Ajoute de la musique

Tu peux utiliser les blocs musique pour jouer un son lors du compte à rebours, ou alors lors de l’envoi du message

Ajoute un score

Tu peux ajouter un score et quand tu lances une partie faire autant de manches que tu veux en répétant plusieurs fois le même code.
Pense à laisser un temps pour afficher le résultat de la manche en cours avant de passer à la manche suivante

Personnalise ton affichage :

N’hésite pas à changer la durée du compte à rebours et son affichage ou alors l’image ou le texte affiché lors d’une manche. 

Profitez d’être deux pour trouver des idées et vous mettre d’accord sur les règles quels boutons utiliser ou encore de secouer le microbit pour envoyer le coup… Laissez place à votre imagination

Retour en haut