Leçon 3 : Flux de projet avec plusieurs boucles pendantes
Maintenant que vous avez créé un projet de texte pour diriger le robot VR jusqu'à la lettre « A » sur le labyrinthe mural Playground, vous allez développer vos compétences en utilisant des conditions et des valeurs de capteur. Dans cette leçon, vous dirigerez le robot VR jusqu'au numéro « 2 » dans le labyrinthe Wall Maze Playground , puis découvrirez pourquoi des commandes supplémentaires sont nécessaires pour conduire jusqu'à la lettre « B ». Dans le mini-challenge, vous appliquerez ces compétences pour naviguer du début du labyrinthe mural au nombre « 3 ».

Résultats d'apprentissage
- Décrivez le déroulement du programme dans un projet qui a un robot VR qui avance jusqu'à ce que le capteur de pare-chocs soit enfoncé.
Renommer le projet
- Si le projet de la leçon précédente n'est pas déjà chargé, chargez le projet Unit4Lesson2.
-
Renommer le projet Unit4Lesson3.
Flux du projet à conduire à la lettre « A »
Dans la leçon précédente, le robot VR s'est rendu à la lettre « A » sur le Wall Maze Playground. Décomposons le flux du projet alors que nous nous préparons à naviguer vers un nouvel emplacement dans le labyrinthe mural.

-
Pour mieux comprendre le déroulement du projet pour conduire jusqu'à la lettre « A » sur le Wall Maze Playground, commencez par modifier votre projet précédent ou créez un nouveau projet pour correspondre à ce projet de base.
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 (LEFT, 90, DEGRÉS) while not left_bumper.pressed () : drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop()
- Lorsqu'un projet utilise une boucle while avec une condition not , le flux du programme du projet suit toujours la même séquence de haut en bas. La boucle while permet au flux du programme de « s'arrêter » à un certain moment, pendant qu'une condition est remplie. L'opérateur et non permet au projet de rester dans la boucle jusqu'à ce que la condition soit signalée comme Fausse. Ensuite, le projet passera à la commande suivante en dehors de la boucle. Une condition booléenne, telle que la pression sur le pare-chocs gauche, indique une valeur Vrai ou Faux. Dans ce code pour conduire le robot VR à la lettre « A », le robot VR avancera jusqu'à ce que l'état booléen du pare-chocs gauche enfoncé soit Vrai.
Le flux de projet du projet à conduire à la lettre « A » ressemblerait à ceci :
Le comportement du robot VR montre comment chaque boucle while est exécutée. Décomposé à côté du mouvement du robot VR, nous pouvons clairement voir où le robot VR a conduit après chaque exécution de la boucle du projet.
Conduisez jusqu'au numéro « 2 »
Dans cette leçon, le projet sera modifié pour que le robot VR se dirige vers le numéro « 2 » sur le Wall Maze Playground !

-
Le projet de la leçon 2 a le robot VR tournant à gauche pour conduire à la lettre « A ». Afin de naviguer jusqu'au numéro « 2 », le robot VR devra plutôt tourner à droite, avancer, puis tourner à gauche.
-
Changez la direction du deuxième tour_pour la commande vers la droite au lieu de la gauche. 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) while not left_bumper.pressed () : drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop()
- Lancez le terrain de jeu Wall Maze s'il n'est pas déjà ouvert et exécutez le projet.
-
Regardez le robot VR commencer à rouler jusqu'au numéro « 2 », mais arrêtez-vous devant un mur. Ainsi, le robot VR doit tourner à gauche une fois qu'il appuie contre le mur au lieu de s'arrêter.
-
Sélectionnez le bouton « Réinitialiser » pour réinitialiser le terrain de jeu et ramener le robot VR à la position de départ.
-
Modifiez le code en supprimant la commande stop et en la remplaçant par les commandes suivantes afin de conduire le robot VR au numéro « 2 ».
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) 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 (LEFT, 90, DEGRÉS) while not left_bumper.pressed () : drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop ()
- Lancez le Wall Maze Playground s'il n'est pas déjà ouvert et exécutez le projet.
-
Regardez le robot VR se diriger vers le numéro « 2 » sur le Wall Maze Playground !
- Sélectionnez le bouton « Réinitialiser » pour réinitialiser le terrain de jeu et ramener le robot VR à la position de départ.
Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.