Table des matières:

Quelle est la petite pensée? Créez un jeu de devinettes simple avec le BBC Microbit ! : 10 étapes
Quelle est la petite pensée? Créez un jeu de devinettes simple avec le BBC Microbit ! : 10 étapes

Vidéo: Quelle est la petite pensée? Créez un jeu de devinettes simple avec le BBC Microbit ! : 10 étapes

Vidéo: Quelle est la petite pensée? Créez un jeu de devinettes simple avec le BBC Microbit ! : 10 étapes
Vidéo: L'ÉNIGME DES 9 POINTS 🤔 2024, Juillet
Anonim
Quelle est la petite pensée? Créez un jeu de devinettes simple avec le BBC Microbit !
Quelle est la petite pensée? Créez un jeu de devinettes simple avec le BBC Microbit !

J'ai récupéré quelques microbits de la BBC après avoir lu des critiques positives à leur sujet dans plusieurs articles en ligne.

Pour tenter de me familiariser avec le BIT, j'ai joué avec l'éditeur de blocs Microsoft en ligne pendant quelques heures et j'ai proposé un jeu de devinettes simple.

Dans cet IBLE, nous parlerons des règles du jeu et naviguerons à travers les fonctions assemblées dans différents blocs de code dans l'éditeur de blocs.

Enfin, le public enthousiaste peut naviguer vers le simulateur en ligne et essayer ce jeu simple.

Commençons.

Étape 1: Avant de commencer…

Avant de commencer…
Avant de commencer…
Avant de commencer…
Avant de commencer…

Le matériel

La carte BBC Microbit est facile à prendre en main. Pour cet IBLE, tout ce que vous devez savoir, c'est qu'il s'agit d'une petite carte avec 2 boutons-poussoirs, un ensemble de minuscules LED et une prise micro-USB qui sert d'alimentation et de moyen de charger un programme sur la carte..

La gamme de minuscules LED peut être programmée pour s'allumer selon différents modèles.

Noter:

Vous n'avez pas besoin de la carte physique pour cette IBLE ! Le site BBC Microbit dispose d'un simulateur en ligne pour tester le code que vous développez en ligne.

Les logiciels

Cet IBLE n'entre pas dans les détails sur la mise en route du BBC Microbit et/ou de l'éditeur de blocs en ligne.

Le public est encouragé à explorer cette ressource BBC Micorbit avant de passer aux étapes suivantes.

BBC Microbit a été conçu pour enseigner la programmation à l'aide d'une approche très conviviale. Par conséquent, la familiarité avec un autre langage de programmation est un atout, mais n'est pas obligatoire, surtout si vous utilisez l'éditeur de blocs Microsoft pour apprendre la programmation.

Néanmoins, je n'ai pas encore rencontré de produit aussi facile à utiliser que le BBC Microbit, étant donné que je possède et joue avec plusieurs autres plates-formes de programmation de microcontrôleurs.

Étape 2: Règles du jeu de devinettes

Règles du jeu de devinettes
Règles du jeu de devinettes

Les règles du jeu sont les suivantes:

  1. Lors de la mise sous tension, le BIT pense à un nombre et défie le joueur humain de deviner quel est ce nombre en imprimant un message sur son panneau LED, et attend une réponse
  2. Le joueur fait une supposition et appuie sur le bouton poussoir gauche (A) autant de fois que la réponse - Exemple, si le joueur a deviné 5, alors le bouton est enfoncé 5 fois
  3. Pour soumettre la réponse au BIT, le joueur appuie une fois sur le bouton poussoir droit (B) !
  4. Si les joueurs devinent juste, alors le joueur marque un point, sinon le BIT obtient un point
  5. Si un joueur a deviné un nombre en dehors de la plage, l'autre joueur marque un point - le BIT affiche un grand X sur son écran LED et procède à deviner un nouveau nombre et à répéter le défi; Exemple: Si le BIT vous a mis au défi de deviner un nombre entre 1 et 5, et que vous avez deviné 6, ou si vous avez deviné ZÉRO (en appuyant simplement sur le bouton B avant d'appuyer sur le bouton A), alors ce tour est invalidé
  6. Le défi-réponse se poursuit jusqu'à ce que l'un des joueurs marque le maximum de points autorisés

Commencer une nouvelle partie:

Pour commencer une nouvelle partie à tout moment, secouez simplement le BIT ! Ou, déconnectez et reconnectez simplement l'alimentation.

Étape 3: Le programme Blocks: Variables

Le programme Blocs: Variables
Le programme Blocs: Variables

Le programme utilise quelques variables nommées pour correspondre à leurs fonctions énumérées ci-dessous. Ces variables peuvent être créées en cliquant sur l'onglet Programmation de variables dans l'éditeur de blocs

BIT_SCORE - Garde une trace des points marqués par le BIT

bitGuessed - Cette variable contient la valeur aléatoire devinée par le BIT

CHECK - lorsqu'il est défini sur True, le BIT vérifie si la supposition des joueurs est égale à la supposition du BIT

GAME_RANGE - Ce nombre limite la hauteur du BIT ou un joueur peut deviner

Exemple: Si défini sur 6, les deux joueurs peuvent deviner de 1 à 6

MSG - Une chaîne qui est modifiée pour afficher différents messages en fonction du contexte du jeu

PLAYER_SCORE - garde une trace des points marqués par le joueur

playerGuess - Le nombre deviné par le joueur est enregistré dans cette variable

REMARQUE

La toute première variable nommée item est une variable générale et par défaut et peut être ignorée

Étape 4: les fonctions

Les fonctions
Les fonctions

Dans le cadre du processus d'apprentissage et pour une meilleure organisation, le code a été organisé en un certain nombre de fonctions qui pouvaient être appelées ou invoquées dans le programme principal. Tout comme les variables, les fonctions peuvent être créées et accessibles en cliquant sur l'onglet Avancé > Programmation des fonctions.

Voici ci-dessous une brève description des fonctions:

annonceWinner - Cette fonction imprime le message Gagnant adressé au joueur gagnant

doChallenge - La fonction que le BIT appelle pour deviner un nombre et poser un défi au joueur

showBadGuess - Affiche un message avec un énorme X sur le panneau LED si l'un des joueurs a deviné en dehors de la plage autorisée

showLose - est appelé si le BIT gagne un tour de défi sur le joueur

showMessage - présente un message pour défier le joueur de deviner un nombre dans une plage définie

showWin - est appelé lorsque le joueur gagne le tour de devinettes sur le BIT

Étape 5: Le démarrage du programme et les événements Shake et les gestionnaires d'événements

Le démarrage du programme et les Shake Events & Event Handlers
Le démarrage du programme et les Shake Events & Event Handlers

Les événements "on start" et "on shake" sont des gestionnaires d'événements appelés respectivement lorsque les événements "start" et "shake" se produisent. Comme le montre le code Blocks, ce qui se passe lorsque ces deux gestionnaires d'événements sont appelés est presque identique à:

  • La fonction showMessage() est appelée pour afficher le message lorsque le jeu commence
  • Il y a une brève pause de 650 millisecondes après l'affichage du message
  • La fonction doChallenge () est appelée dans laquelle le BIT devine un nombre et attend que le joueur humain soumette une estimation

Nous couvrirons les deux fonctions à l'étape suivante.

Cela dit, il existe des différences fondamentales entre les gestionnaires d'événements "on start" et "on shake":

  1. Le gestionnaire d'événements "au démarrage" s'exécute à chaque démarrage du BIT - comme pour déconnecter et reconnecter l'alimentation du BIT
  2. Certaines choses qui ne doivent se produire qu'une seule fois au démarrage du programme sont définies dans le "on start" et nulle part ailleurs dans l'ensemble du programme
  3. L'une de ces choses est l'initialisation de la variable GAME_RANGE - dans ce cas, elle est initialisée à 6, ce qui signifie que les joueurs peuvent deviner un nombre entre 1 et 6
  4. Comme la fonction "au démarrage" est une fonction BIT de base, il n'est pas étonnant qu'elle soit accessible depuis l'onglet Programmation de base de l'éditeur de blocs
  5. Le "on shake" d'autre part est un gestionnaire d'événements qui est appelé chaque fois que l'utilisateur fournit une entrée au BIT sous la forme d'un shake rapide
  6. Par conséquent, le gestionnaire d'événements "on shake" peut être trouvé dans l'onglet Programmation d'entrée de l'éditeur de blocs

Étape 6: les fonctions de message de démarrage et de défi

Les fonctions de message de démarrage et de défi
Les fonctions de message de démarrage et de défi
Les fonctions de message de démarrage et de défi
Les fonctions de message de démarrage et de défi
Les fonctions de message de démarrage et de défi
Les fonctions de message de démarrage et de défi

La fonction de message de démarrage showMessage() est une fonction simple qui efface la palette de LED BITs avec une commande d'écran clair et affiche un message défilant invitant le joueur à deviner un nombre.

Comme le montre le bloc fonctionnel showMessage, quelques morceaux de chaîne fixes sont ajoutés ensemble à la variable GAME_RANGE pour afficher un message simple qui dit:

Devinez 0 - 6 !

La fonction doChallenge() est appelée au début de chaque tour de défi, et fait donc ce qui suit comme vu à partir du bloc fonction doChallenge:

  1. Initialise la variable playerGuess à zéro avant d'accepter une nouvelle entrée du joueur humain
  2. Initialise la variable CHECK à false - ce qui signifie que le tour est sur le point de commencer et qu'il n'est pas encore temps de comparer les nombres devinés par les deux joueurs
  3. Ensuite, et le plus important, le BIT choisit un nombre aléatoire dans la plage définie par GAME_RANGE et l'enregistre dans la variable bitGuessed
  4. Enfin, la palette LED est éclairée par un symbole de point d'interrogation invitant le joueur humain à saisir une réponse au défi BITs !

Noter

Si la valeur de la variable GAME_RANGE est modifiée comme indiqué à l'étape précédente, votre jeu peut sembler et agir un peu différemment.

La fonction de jointure est une fonction de chaîne et peut être accessible depuis l'onglet Programmation de texte de l'éditeur de blocs

Étape 7: L'événement Button a Click - Relevez le défi BITs

L'événement Button a Click - Répondez au défi BITs !
L'événement Button a Click - Répondez au défi BITs !

Une fois que le grand point d'interrogation apparaît sur l'écran LED BITs, répondre au défi pour le joueur humain consiste simplement à faire ce qui suit:

  1. Devinez à quel nombre le BIT pourrait penser entre 0 et 6
  2. Appuyez sur le bouton A autant de fois que votre réponse est - Exemple si votre réponse est 3, puis appuyez 3 fois sur le bouton A

Evidemment, l'appui sur le bouton est une saisie utilisateur et donc le gestionnaire d'événement "on bouton" est accessible via l'onglet Programmation des saisies de l'éditeur de blocs. Chaque fois que l'utilisateur appuie sur le bouton A, ce gestionnaire d'événements effectue les opérations suivantes:

  • Incrémentez la valeur de la variable playerGuess de 1 tant qu'elle est dans la limite GAME_RANGE (6 dans ce cas)
  • Si le joueur soumet 7 ou plus, la conjecture est invalidée et le playerGuess est remis à zéro, invalidant essentiellement la conjecture du joueur

L'action suivante consiste à soumettre la réponse au défi, que nous aborderons à l'étape suivante.

Étape 8: L'événement de clic sur le bouton B - Soumettez votre réponse au défi BITs

L'événement de clic sur le bouton B - Soumettez votre réponse au défi BITs !
L'événement de clic sur le bouton B - Soumettez votre réponse au défi BITs !
L'événement de clic sur le bouton B - Soumettez votre réponse au défi BITs !
L'événement de clic sur le bouton B - Soumettez votre réponse au défi BITs !

Le joueur humain soumet la réponse au BIT en appuyant une fois sur le bouton B. Un certain nombre d'étapes se produisent dans le gestionnaire d'événements "au clic" du bouton B dès que le BIT reçoit la réponse des joueurs, comme indiqué par les marqueurs de code dans l'image:

  1. L'indicateur CHECK est défini sur True - un signal pour le BIT de comparer sa supposition avec celle des joueurs
  2. Le score n'a lieu que si les deux joueurs ont deviné des nombres supérieurs à zéro et compris dans la limite GAME_RANGE (sur 6) et sinon, la fonction showBadGuess() est appelée - le bon joueur gagne un point et le mauvais joueur en perd un !
  3. Si les joueurs devinent correspond à celui des BIT, la fonction showWin() est appelée - le joueur gagne ce tour !
  4. Sinon, la fonction showLose() est appelée - le BIT gagne ce tour !
  5. Un contrôle est effectué à la fin de chaque tour par la fonction annonceWinner() pour voir si l'un des deux joueurs a gagné en marquant 3 points - si c'est le cas, le jeu est terminé et le gagnant final est annoncé et tous les scores et messages sont réinitialiser
  6. Le BIT redémarre le jeu en lançant un défi en appelant la fonction doChallenge () et attend que le joueur réponde et que le processus se répète

Nous discuterons des nouvelles fonctions dans les prochaines étapes.

Attendre! Comment devinez-vous ZÉRO?

  • Si vous regardez la fonction mathématique random(), vous pouvez voir que sa valeur initiale est définie sur zéro et ne peut pas être modifiée.
  • Le BIT est donc libre de deviner un Zéro et de défier le joueur du fait de cette limitation
  • De même, le joueur humain peut soumettre une proposition zéro en cliquant simplement sur le bouton B sans cliquer d'abord sur le bouton A !
  • Si cela est autorisé, le joueur humain n'a pas à faire d'effort pour jouer et cela n'a aucun sens !
  • Par conséquent, cette limitation a été compensée par la puce #2. discuté ci-dessus

Étape 9: Le gagnant/perdant et le reste des fonctions

Le gagnant/perdant et le reste des fonctions
Le gagnant/perdant et le reste des fonctions
Le gagnant/perdant et le reste des fonctions
Le gagnant/perdant et le reste des fonctions
Le gagnant/perdant et le reste des fonctions
Le gagnant/perdant et le reste des fonctions

Toutes ces fonctions sont appelées par le gestionnaire d'événements Button B "au clic" comme vu à l'étape précédente.

Ces fonctions sont assez simples et à ce stade, vous devriez vous familiariser avec la nature intuitive et narrative du code créé par une combinaison de variables bien nommées et les attributs visuels de l'éditeur de blocs.

  1. La fonction showWin() affiche un message qui indique que le joueur a gagné ce tour de défi et incrémente la variable PLAYER_SCORE de 1
  2. De même, la fonction showLose() affiche la mauvaise estimation du joueur et attribue un point au BIT en incrémentant la variable BIT_SCORE de 1
  3. La fonction showBadGuess() affiche un grand X à l'écran indiquant qu'un des joueurs a fait une mauvaise estimation (soit 0 soit supérieure à 6) - le mauvais joueur dans ce cas perd un point, et l'autre marque un point !

Et enfin, la fonction annonceWinner() effectue la tâche d'annoncer qui est le grand gagnant après 3 tours de défi/réponse suivis de:

  • Réinitialisation des variables de score PLAYER_SCORE et BIT_SCORE
  • Pause brève et démarrage d'un nouveau jeu en appelant la fonction de démarrage showMessage () décrite à l'étape précédente (6) de cet IBLE

Enfin, place au simulateur et au code !

Étape 10: Le simulateur et le code

Le simulateur et le code
Le simulateur et le code

Le code s'exécute dans le simulateur en ligne situé ici

  • Le simulateur est situé en bas à gauche de la page
  • Alternativement, le bouton Télécharger peut être utilisé pour télécharger le code au cas où vous auriez un BBC Microbit à portée de main
  • Comme mentionné au début de l'IBLE, vous n'avez pas besoin d'un BBC Microbit pour construire le code dans l'éditeur de blocs ou pour simuler et tester votre code, bien que cela ne fonctionne pas pour les personnes curieuses comme moi !

Une note sur le bouton Modifier

  • Si vous avez observé, le code est dans le domaine public et il existe un moyen de le modifier en utilisant le bouton Modifier en haut à droite
  • Cependant, je vous demande sincèrement de faire une copie de ce code et de le modifier en fonction de vos besoins afin que la version originale soit préservée dans l'intérêt de cette IBLE

Merci! Et bon codage !!!:-)

Conseillé: