Leçon 3 : Utilisation des énoncés If
Navigation dans le labyrinthe du disque à l'aide des instructions If
Dans le défi du labyrinthe de disques, le robot VR vérifie l'état du capteur oculaire avant pour voir quelle couleur est signalée. Chacune des couleurs s'aligne sur un comportement différent que le robot VR doit effectuer.
Pour votre information
L'instruction if accepte uniquement les conditions booléennes. En utilisant les modèles observés lors de la résolution du labyrinthe de disques dans la leçon 2, un projet peut être créé où le robot VR prend une décision si la condition est déclarée comme vraie ou fausse.
si condition :
réussiteL'instruction if sera exécutée une fois dans un projet. Dans cet exemple, le capteur oculaire avant signalera Vrai si un objet vert est détecté et exécutera la commande à l'intérieur de l'instruction if - tournez à droite sur 90 degrés. Si aucun objet vert n'est détecté, le projet passera à la commande suivante.
def main() :
if front_eye.detect(GREEN) :
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.stop()- Démarrez un nouveau projet et sélectionnez le Disk Maze Playground lorsque vous y êtes invité.

-
Nommez-le Unit7Lesson3.

- Ajoutez des commentaires pour décrire l' intention des comportements du robot VR au cours de chaque section suivante du projet.
def main() :
# Si l'œil avant détecte le vert, tournez à droite
# Si l'œil avant détecte le bleu, tournez à gauche- Faites glisser ou saisissez l'instruction if sous le premier commentaire.
def main() :
# Si l'œil avant détecte le vert, tournez à droite
si condition :
pass
# Si l'œil avant détecte le bleu, tournez à gauche- Définissez la condition de l'instruction if sur la commande front_eye.detect et définissez le paramètre sur « VERT ».
def main() :
# Si l'œil avant détecte le vert, tournez à droite
si front_eye.detect(VERT) :
pass
# Si l'œil avant détecte le bleu, tournez à gauche- Faites glisser ou tapez une commande turn_for à l'intérieur de l'instruction if pour remplacer la commande 'pass'. Réglez les paramètres pour tourner à droite de 90 degrés. Maintenant, si le capteur oculaire avant détecte « VERT », le robot VR tournera à droite de 90 degrés.
def main() :
# Si l'œil avant détecte le vert, tournez à droite
si front_eye.detect(VERT) :
drivetrain.turn_for(DROITE, 90, DEGRÉS)
# Si l'œil avant détecte le bleu, tournez à gauche- Nous suivrons ces mêmes étapes pour ajouter des instructions si supplémentaires pour les trois couleurs du labyrinthe de disques (vert, bleu et rouge). Chaque couleur est associée à un comportement différent. Les commandes à l'intérieur des instructions if devront correspondre au comportement prévu. Ajoutez les commandes suivantes au projet sous le deuxième commentaire, de sorte que si le capteur oculaire frontal détecte la couleur « BLEU », le robot VR tournera à gauche de 90 degrés.
# Si l'œil avant détecte le bleu, tournez à gauche
si front_eye.detect (BLEU)
: drivetrain.turn_for (GAUCHE, 90, DEGRÉS)-
Lorsque le robot VR atteint la fin du labyrinthe, le capteur oculaire avant détecte la couleur « ROUGE ».

- Pour arrêter le robot VR, une autre instruction si doit être ajoutée avec des instructions sur ce qu'il faut faire si le capteur oculaire avant détecte « ROUGE ». Ajoutez le commentaire et les commandes suivants au projet afin que le robot VR arrête de conduire s'il détecte « ROUGE ».
# If front eye detects red then stop
if front_eye.detect(RED) :
drivetrain.stop()Si aucune des couleurs n'est détectée
Le robot VR peut également prendre une décision s'il ne voit pas une couleur en utilisant la valeur « aucun ». Par exemple, au point de départ du labyrinthe de disques, le capteur oculaire avant ne détecte aucune couleur.
Étant donné que le capteur oculaire avant ne détecte pas de couleur au début du labyrinthe de disques, le robot VR devra avancer jusqu'à ce qu'il détecte le disque vert. Une autre instruction si peut être ajoutée pour indiquer au robot VR ce qu'il doit faire lorsqu'aucune couleur n'est détectée.
- Ajoutez le commentaire et les commandes suivants au projet, de sorte que si le capteur oculaire avant ne détecte aucune couleur, le robot VR avancera.
# If front eye detects none then drive forward
if front_eye.detect(NONE) :
drivetrain.drive(FORWARD)- Le robot VR a maintenant des instructions pour chaque couleur détectée par le capteur oculaire avant.
- Si le capteur oculaire avant détecte « VERT » – Tourner à droite à 90 degrés
- Si le capteur oculaire avant détecte « BLEU » – Tourner à gauche à 90 degrés
- Si le capteur oculaire avant détecte « ROUGE » – Arrêter de conduire
- Si le capteur oculaire avant détecte « AUCUN » – Conduire vers l'avant
- Ouvrez la fenêtre Playground si elle n'est pas déjà ouverte. Assurez-vous que le terrain de jeu Disk Maze s'ouvre et exécutez le projet. L'ensemble du projet devrait ressembler à ceci :
def main() :
# If front eye detects green then turn right
if front_eye.detect (GREEN) :
drivetrain.turn_for (RIGHT, 90, DEGREES)
# If front eye detects blue then turn left
if front_eye.detect (BLUE) :
drivetrain.turn_for (LEFT, 90, DEGREES)
# If front eye detects red then stop
if front_eye.detect (RED) :
drivetrain.stop ()
# If front eye detects none then drive forward
if front_eye.detect (NONE) :
drivetrain.drive(FORWARD)- Le robot VR se comporte-t-il comme prévu ? Pourquoi ou pourquoi pas ? Sur la page suivante de la leçon, nous en apprendrons plus sur ce projet.
Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.