Skip to main content

Leçon 3 : Conduisez au nombre « 31 »

Dans cette leçon, le robot VR se dirigera vers le numéro « 31 », puis reviendra au numéro « 1 » sur le terrain de jeu de la carte de la grille numérique!

Une vue de haut en bas du terrain de jeu de la carte à grille numérique, avec le numéro 31 surligné par une case rouge. Le robot VR commence au numéro 1, et le carré numéro 31 est trois espaces au-dessus.

Notez que le robot VR se déplacera le long de l'axe Y pour se déplacer vers le numéro ‘31‘ sur le terrain de jeu de la carte de la grille numérique.

Une vue de haut en bas de l'aire de jeux Number Grid Map, avec l'espace du numéro 31 mis en évidence par une boîte noire. Une ligne indique des mesures à travers l'axe Y, le premier espace étant de -900 millimètres sur l'axe Y, et le suivant étant de -700 continuant à compter par 200 à chaque fois. L'espace numéro 31 se trouve à un emplacement Y de -300 millimètres.

Le robot VR se rendra à l'emplacement du numéro ‘31‘ sur le terrain de jeu de la carte de la grille numérique. Cependant, avant que le robot VR puisse naviguer jusqu'à ce numéro, il faut lui dire où se trouve ce numéro. Les coordonnées du nombre ‘31’ sont (-900, -300).

Une vue de haut en bas de l'aire de jeux Number Grid Map, avec deux indicateurs d'axe marquant l'emplacement de l'espace numéro 31. Le robot VR commence à -900 X et -900 Y, tandis que l'espace numéro 31 est à -900 X et -300 Y.
  • Faites glisser le bloc [Drive] sans attente dans l'espace de travail.

    Un nouveau projet de blocs VR VEXcode qui commence par un bloc When Started suivi d'un bloc Drive Forward.
  • Fixez un bloc [Attendre jusqu'à] sous le bloc [Lecteur].

    Une continuation du projet de blocs VR VEXcode, maintenant avec un bloc Wait Until ajouté après le bloc Drive Forward. L'ensemble du projet se lit désormais When Started, Drive Forward et Wait Until. Le bloc Attendre jusqu'à a un paramètre booléen vide.
  • Faites glisser le bloc reporter <Greater than> booléen dans le bloc [Attendre].

    Une continuation du projet VEXcode VR blocks, maintenant avec un bloc Greater Than inséré dans le bloc Wait Until. L'ensemble du projet se lit désormais When Started, Drive Forward suivi d'un bloc Wait Until avec un bloc Greater Than qui se lit « blank is Greater Than 50 ».
  • Notez que le <Greater than> bloc est utilisé à la place du <Less than> bloc car le robot VR remonte du bas de l'aire de jeu. Le robot VR démarre à une valeur Y de -900 millimètres (mm). Au fur et à mesure que le robot VR avance, les valeurs Y augmentent.

    La même vue de haut en bas du terrain de jeu Number Grid Map avec deux indicateurs d'axe marquant l'emplacement de l'espace numéro 31 d'avant. Le robot VR commence à -900 X et -900 Y, tandis que l'espace numéro 31 est à -900 X et -300 Y.
  • Faites glisser le bloc (Position du robot) dans le <Greater than> bloc.

    Une continuation du projet VEXcode VR blocks, maintenant avec un bloc Position of Robot inséré dans le bloc Greater Than. L'ensemble du projet indique désormais Au démarrage, Avancer et Attendre jusqu'à ce que la position X du robot en millimètres soit supérieure à 50.
  • Réglez le paramètre du bloc (Position du robot) sur « Y » et le paramètre du <Greater than> bloc sur -300.

    Une continuation du projet de blocs VR VEXcode, maintenant avec l'axe Position du bloc Robot changé de X à Y et le deuxième paramètre du bloc Supérieur à changé de 50 à -300. L'ensemble du projet indique désormais Au démarrage, Avancez et Attendez que la position Y du robot en millimètres soit supérieure à -300.
  • Faites glisser un bloc [Arrêter de conduire] et ajoutez-le au projet.

    Une continuation du projet de blocs VR VEXcode, maintenant avec un bloc Stop Driving ajouté sous le bloc Wait Until. L'ensemble du projet indique désormais Au démarrage, Avancez et Attendez que la position Y du robot en millimètres soit supérieure à -300. Enfin, arrêtez de conduire.
  • Lancez le terrain de jeu Number Grid Map s'il n'est pas déjà ouvert et exécutez le projet.
  • Regardez le lecteur VR Robot jusqu'au numéro ‘31’ sur le terrain de jeu Number Grid Map.

    Une vue de haut en bas de l'aire de jeux Number Grid Map avec le robot VR reposant sur l'espace numéro 31.
  • Dans ce projet, le robot VR se dirige vers le numéro « 31 » sur le terrain de jeu de la carte de la grille numérique. Étant donné que les valeurs Y augmentent à mesure que le robot VR atteint le nombre « 31 », le projet utilise un <Greater than> bloc.
  • Le robot VR s'arrêtera une fois que sa valeur Y sera supérieure à la valeur Y de la coordonnée sur laquelle se trouve le nombre indiqué. Étant donné que la valeur Y du nombre « 31 » est de -300, le robot VR cessera de conduire une fois que la valeur Y sera supérieure à -300.
Un diagramme visualisant le flux de logique dans le projet VEXcode VR Blocks. Le projet commence par un bloc When Started, puis commence à avancer et maintient cette commande jusqu'à ce que la position Y du capteur du robot en millimètres soit supérieure à -300, après quoi un bloc Stop Driving met fin à la commande Drive Forward.

Utilisation des blocs de commutation 

Dans cette leçon, vous avez appris à utiliser le bloc VEXcode [Attendre jusqu'à] avec une condition booléenne pour ordonner au robot d'attendre jusqu'à ce que le robot atteigne une position supérieure à -300 sur l'axe Y avant de passer au comportement suivant.

L'image ci-dessous montre le bloc VEXcode à côté du bloc Switch contenant la commande Python pour les mêmes comportements. 

Une comparaison d'un bloc VEXcode VR Wait Until et de son bloc de commutation correspondant. Le bloc VR indique « Attendre que la position Y du robot en millimètres soit supérieure à -300 ». Le code Python du bloc de commutation indique « while notlocation.position (Y, MM) > -300 : wait(5, MSEC) ». La commande wait est indentée sous while not.Dans le bloc Switch, bien que non location.position(Y, MM) > -300 : est la première commande Python qui vérifie si la position du robot le long de l'axe X est supérieure à -300.

La deuxième commande en retrait, wait (5, MSEC), met en pause l'exécution de la boucle conditionnelle pendant 5 millisecondes.

Dans VEXcode VR, une commande wait est toujours ajoutée avec la boucle conditionnelle. L'objectif de la commande wait est de garantir que VEXcode VR peut exécuter correctement le projet comme prévu, en raison de la nature Web de la plate-forme VEXcode VR. La commande wait ne doit jamais être supprimée lors de l'utilisation d'une boucle conditionnelle, sinon votre projet risque de ne pas fonctionner comme prévu. 

Dans cet exemple, le projet vérifie si la position du robot est supérieure ou non à une valeur Y de -300 toutes les 5 MS. Cette ligne de code est mise en retrait sous la première ligne de code car cette commande est le comportement qui se répétera jusqu'à ce que la condition (une valeur de coordonnée Y supérieure à -300) soit remplie. 

Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.