Lección 3: Uso de bloques [If then]
En el Desafío del Laberinto de Discos, el Robot de RV está verificando el estado del Sensor del Ojo Frontal para ver qué color se está informando. Cada uno de los colores coincide con un comportamiento diferente que debe realizar el robot de realidad virtual.

-
Inicie un nuevo proyecto y llámelo Unit7Lesson3.

-
Arrastre un bloque [If then] al espacio de trabajo y adjúntelo al bloque [When started].

Para su información
El bloque [If then] es un bloque C que acepta bloques informadores booleanos como entrada. Usando los patrones observados mientras se resuelve el Laberinto de Discos en la Lección 2, se puede crear un proyecto en el que el Robot VR tome una decisión si la condición informa como VERDADERA o FALSA.

El bloque [If then] se ejecutará una vez en un proyecto. En este ejemplo, el sensor de ojo frontal informará VERDADERO si se detecta un objeto verde y ejecutará el comando dentro del bloque C: gire a la derecha 90 grados. Si no se detecta un objeto verde, el proyecto pasará al siguiente comando de la pila.

Uso de bloques de interruptores
La imagen a continuación muestra el enunciado de bloque Switch [If then] para el proyecto de ejemplo de esta lección.
El siguiente proyecto incluye los mismos comandos convertidos en un bloque Switch.
La primera línea de código, si front_eye.detect(VERDE): es el bucle condicional que comprueba si el sensor de ojo frontal detecta el color verde. Tenga en cuenta que debe haber dos puntos (:) al final de esta línea.
La segunda línea de código, drivetrain.turn_for (DERECHA, 90, GRADOS) le dice al robot que gire a la derecha 90 grados cuando el sensor del ojo delantero detecta el color verde. Esta línea tiene sangría en un valor predeterminado de 4 espacios porque este es el comportamiento específico que se realizará si el sensor de ojo frontal detecta verde.

-
Arrastre un <Color sensing> bloque al espacio de trabajo en la entrada hexagonal del bloque [If then].

-
Cambie el parámetro del <Color sensing> bloque a ‘verde’.

-
Cuando el sensor del ojo frontal detecta un disco verde, el robot VR deberá girar 90 grados a la derecha para comenzar a resolver el laberinto de discos. Arrastre un bloque [Turn for] al bloque [If then].

-
Siga estos mismos pasos para añadir otro bloque [If then] para los tres colores del Laberinto de discos (verde, azul y rojo). Cada color está asociado con un comportamiento diferente. Los bloques dentro del bloque [If then] deberán coincidir con el comportamiento previsto. Añade los siguientes bloques al proyecto. Cuando el robot VR detecta el color ‘azul’, el robot VR girará 90 grados a la izquierda.

-
Cuando el robot VR llega al final del laberinto, el robot VR detectará el color ‘rojo’.

-
Para detener el Robot VR, se debe añadir otro bloque [If then] con instrucciones sobre qué hacer cuando el Robot VR detecta ‘rojo’. Añade los siguientes bloques al proyecto.

-
El robot de realidad virtual también puede tomar una decisión si no ve un color utilizando el valor "ninguno". En el punto de inicio del Disk Maze, el VR Robot no detecta ningún color.

-
Debido a que el sensor de ojo frontal no detecta un color al comienzo del laberinto de discos, el robot VR deberá avanzar hasta que detecte el disco verde. Se puede añadir otro bloque [If then] para indicar al robot VR qué hacer cuando no se detecta ningún color.

-
Añade los siguientes bloques al proyecto. Cuando el robot VR no detecta ningún color, el robot VR avanzará.

- El robot VR ahora tiene instrucciones para cada color detectado por el sensor ocular.
- El sensor de ojo frontal detecta ‘¿verde?’
- Gire a la derecha 90 grados
- El sensor de ojo frontal detecta ‘¿azul?’
- Gire a la izquierda 90 grados
- El sensor del ojo delantero detecta ‘¿rojo?’
- Dejar de conducir
- El sensor de ojo frontal detecta ‘¿ninguno?’
- Conducir hacia adelante
- El sensor de ojo frontal detecta ‘¿verde?’
- Abra el Disk Maze Playground y ejecute el proyecto.
Seleccione el botón Siguiente para continuar con el resto de esta lección.