2.20 JEU - Ne Touchez Pas la Tuile Blanche

Je suis sûr que beaucoup d’entre vous ont joué à ce jeu sur vos téléphones portables. Ce jeu se joue en tapotant sur des blocs noirs apparaissant aléatoirement pour ajouter des points, la vitesse devient de plus en plus rapide, tapotez sur des blocs blancs ou manquez des blocs noirs et la partie se termine.

Maintenant, nous utilisons PictoBlox pour le reproduire.

Insérez deux modules d’évitement d’obstacles IR verticalement sur la plaque de montage, lorsque votre main est placée au-dessus de l’un des modules IR, un point clignotant apparaîtra sur la scène, représentant une touche effectuée.

Si la touche est sur le bloc noir, le score augmente de 1, touchez le bloc blanc, le score diminue de 1.

Vous devez décider de placer votre main au-dessus du module IR à gauche ou au-dessus du module IR à droite, en fonction de la position du bloc noir sur la scène.

../_images/21_tile.png

Composants requis

Pour ce projet, nous aurons besoin des composants suivants.

Il est certainement pratique d’acheter un kit complet, voici le lien :

Nom

ÉLÉMENTS DE CE KIT

LIEN

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

Vous pouvez également les acheter séparément via les liens ci-dessous.

INTRODUCTION DES COMPOSANTS

LIEN D’ACHAT

Carte SunFounder R3

BUY

Plaque d’essai

BUY

Fils de Cavalier

BUY

Module d’Évitement d’Obstacle

BUY

Construisez le Circuit

Le module d’évitement d’obstacles est un capteur de proximité infrarouge à distance réglable dont la sortie est normalement haute et basse lorsqu’un obstacle est détecté.

Construisez maintenant le circuit selon le schéma ci-dessous.

../_images/2avoid_circuit.png

Programmation

Ici, nous avons besoin de 3 sprites, Tile, Left IR et Right IR.

  • Sprite Tile : utilisé pour obtenir l’effet d’alternance des tuiles noires et blanches vers le bas, dans le jeu sur téléphone portable, il y a généralement 4 colonnes, ici nous en ferons seulement deux.

  • Sprite Left IR : utilisé pour réaliser l’effet de clic, lorsque le module IR gauche détecte votre main, il enverra un message - left au sprite Left IR, le laissant commencer à travailler. S’il touche la tuile noire sur la scène, le score augmentera de 1, sinon le score diminuera de 1.

  • Sprite Right IR : La fonction est essentiellement la même que Left IR, sauf qu’il reçoit l’information Right.

1. Peindre un sprite Tuile.

Supprimez le sprite par défaut, passez la souris sur l’icône Add Sprite, sélectionnez Paint et un sprite vierge apparaîtra et nommez-le Tile.

../_images/21_tile1.png

Allez à la page Costumes et utilisez l’outil Rectangle pour dessiner un rectangle.

../_images/21_tile2.png

Sélectionnez le rectangle et cliquez sur Copy -> Paste pour faire un rectangle identique, puis déplacez les deux rectangles en position alignée.

../_images/21_tile01.png

Sélectionnez l’un des rectangles et choisissez une couleur de remplissage noire.

../_images/21_tile02.png

Sélectionnez maintenant les deux rectangles et déplacez-les de sorte que leurs points centraux correspondent au centre du canevas.

../_images/21_tile0.png

Dupliquez le costume1, en alternant les couleurs de remplissage des deux rectangles. Par exemple, la couleur de remplissage du costume1 est blanche à gauche et noire à droite, et la couleur de remplissage du costume2 est noire à gauche et blanche à droite.

../_images/21_tile3.png

2. Scripter le sprite Tuile

Retournez maintenant à la page Blocks et réglez la position initiale du sprite Tile pour qu’il soit en haut de la scène.

../_images/21_tile4.png

Créez une variable - blocks et donnez-lui une valeur initiale pour déterminer le nombre de fois où le sprite Tile apparaîtra. Utilisez le bloc [repeat until] pour faire diminuer progressivement la variable blocks jusqu’à ce que blocks soit 0. Pendant ce temps, faites en sorte que le sprite Tile change aléatoirement de costume.

Après avoir cliqué sur le drapeau vert, vous verrez le sprite Tile sur la scène changer rapidement de costume.

../_images/21_tile5.png

Créez des clones du sprite Tile pendant que la variable blocks diminue, et arrêtez l’exécution du script lorsque blocs est 0. Deux blocs [wait () seconds] sont utilisés ici, le premier pour limiter l’intervalle entre les clones de Tile’s et le second pour permettre à la variable blocs de diminuer à 0 sans arrêter immédiatement le programme, donnant au dernier sprite de tuile suffisamment de temps pour se déplacer.

../_images/21_tile6.png

Maintenant, scriptez le clone du sprite Tile pour qu’il descende lentement et supprimez-le lorsqu’il atteint le bas de la scène. Le changement dans la coordonnée y affecte la vitesse de chute, plus la valeur est grande, plus la vitesse de chute est rapide.

../_images/21_tile7.png

Cachez le corps et affichez le clone.

../_images/21_tile8.png

3. Lire les valeurs des 2 modules IR

Dans le décor, lisez les valeurs des 2 modules IR et effectuez les actions correspondantes.

  • Si le module d’évitement d’obstacles IR gauche détecte votre main, diffusez un message - left.

  • Si le module d’évitement IR gauche détecte votre main, diffusez un message - right.

../_images/21_tile9.png

4. Sprite IR Gauche

Encore une fois, passez la souris sur l’icône Add sprite et sélectionnez Paint pour créer un nouveau sprite appelé Left IR.

../_images/21_tile10.png

Allez à la page Costumes du sprite Left IR, sélectionnez la couleur de remplissage (n’importe quelle couleur hors noir et blanc) et dessinez un cercle.

../_images/21_tile11.png

Commencez maintenant à scripter le sprite Left IR. Lorsque le message - left est reçu (le module récepteur IR à gauche détecte un obstacle), déterminez alors si le bloc noir du sprite Tile est touché, et si c’est le cas, laissez la variable count ajouter 1, sinon soustraire 1.

../_images/21_tile12.png

Note

Vous devez faire apparaître le sprite Tile sur la scène, puis absorber la couleur du bloc noir dans le sprite Tile.

../_images/21_tile13.png

Maintenant, faisons l’effet de détection (agrandir et rétrécir) pour Left IR.

../_images/21_tile14.png

Faites en sorte que le sprite Left IR se cache lorsque le drapeau vert est cliqué, s’affiche lorsque le message - left est reçu, et se cache à nouveau enfin.

../_images/21_tile15.png

5. Sprite IR Droit

Copiez le sprite Left IR et renommez-le en Right IR.

../_images/21_tile16.png

Changez ensuite le message reçu en - right.

../_images/21_tile17.png

Maintenant que toute la programmation est terminée, vous pouvez cliquer sur le drapeau vert pour exécuter le script.