Leçon 2 : Utilisation de plusieurs boucles pendantes
Continuer à travers le labyrinthe mural
Nous avons maintenant utilisé une boucle while avec le capteur de pare-chocs pour que le robot VR arrête de conduire lorsqu'il atteint le mur. Cependant, pour continuer à travers le labyrinthe mural, le robot VR doit tourner lorsqu'il atteint un mur, afin de pouvoir changer de direction et continuer.
-
Pour commencer, supprimez la commande stop en dehors de la boucle while , et remplacez-la par une commande turn_for . Réglez les paramètres pour que le robot VR tourne à gauche sur 90 degrés. Votre projet devrait maintenant ressembler à ceci :
def main() : while not left_bumper.pressed() : drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGRÉS) - Lancez le Wall Maze Playground s'il n'est pas déjà ouvert et exécutez le projet.
-
Regardez le robot VR conduire depuis le début du labyrinthe mural, arrêtez-vous lorsque le capteur de pare-chocs est pressé par le mur et tournez à gauche à 90 degrés.

Plusieurs boucles et le problème du labyrinthe mural
Maintenant, le robot VR a atteint un mur et a tourné pour pouvoir continuer à conduire à travers le labyrinthe. De la même manière que les données du capteur de pare-chocs ont été utilisées dans une boucle while pour cette première étape du labyrinthe, la même structure peut être utilisée plusieurs fois dans le même projet pour faire continuer le robot VR à travers le labyrinthe. Plusieurs boucles while peuvent être utilisées dans le même projet.
-
À partir de la position actuelle du robot VR, la prochaine étape pour résoudre le labyrinthe mural serait d'avancer vers le mur suivant et de tourner à droite à 90 degrés. Les commandes existantes peuvent être copiées et collées sous la commande précédente while loop et turn_for. N'oubliez pas de tenir compte de l'indentation et de modifier les nouveaux paramètres de commande turn_for pour tourner à droite de 90 degrés. Votre projet devrait maintenant ressembler à ceci :
def main() : while not left_bumper.pressed() : drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGRÉS) while not left_bumper.pressed() : drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGRÉS) - Réinitialisez le Wall Maze Playground et exécutez à nouveau le projet.
-
Regardez le robot VR conduire depuis le début du labyrinthe mural, arrêtez-vous lorsque le capteur de pare-chocs est pressé par le mur, tournez à gauche à 90 degrés, avancez jusqu'à ce que le capteur de pare-chocs soit à nouveau pressé par un mur, puis tournez à droite à 90 degrés et arrêtez-vous.

Mini Défi
Pour ce mini défi, créez un projet dans lequel le robot VR se déplace du début à la lettre « A » sur le labyrinthe Wall Maze Playground en utilisant plusieurs boucles tandis que et le capteur de pare-chocs !

Suivez ces étapes pour terminer le mini défi :
-
Regardez la vidéo de la solution ci-dessous pour voir comment le robot VR doit conduire afin de relever le mini défi. Dans ce clip vidéo, le robot VR commence au début en bas au centre de l'aire de jeux. Il avance jusqu'à ce que le capteur de pare-chocs soit pressé par le mur opposé, puis tourne à gauche et se dirige vers le mur suivant devant lui. Lorsque le pare-chocs est appuyé contre ce mur, le robot tourne à nouveau à gauche et avance jusqu'à ce qu'il atteigne le mur final et la lettre A.
- Créez un projet en ajoutant ou en supprimant les commandes nécessaires au projet Unit4Lesson2.
- Lancez le projet pour le tester.
- Si le projet échoue, modifiez-le et réessayez. Continuez à réviser et à exécuter le projet jusqu'à ce que le robot VR conduise avec succès du début à la lettre « A ».
- Sauvegardez le projet une fois que le robot VR conduit avec succès du début à la lettre « A ».
Félicitations ! Vous avez résolu le mini défi !
Questions
Veuillez sélectionner un lien ci-dessous pour accéder au questionnaire de la leçon.
Google Doc / .docx / .pdf