Control#

Esperar#

El bloque Esperar se utiliza para esperar una cantidad de tiempo específica antes de pasar al siguiente bloque.

esperar (1) segundos

Elija un período de tiempo para esperar.

El bloque de espera puede aceptar decimales, números enteros o bloques numéricos.

En este ejemplo, el robot VR avanzará durante 4 segundos antes de detenerse.

cuando empezó :: hat events
unidad [adelante v]
esperar (4) segundos
deja de conducir

Repetir#

El bloque C Repetir se utiliza para repetir los bloques contenidos en el interior una cantidad determinada de veces.

repetir (10)
fin

Primero ingrese un valor para indicar cuántas veces la pila repetirá los bloques contenidos en su interior.

El bloque C Repetir puede aceptar números enteros o bloques numéricos.

Los bloques C también pueden superponerse. Este concepto se denomina anidamiento y puede ahorrar tiempo al programar diferentes comportamientos.

En este ejemplo, el robot VR avanzará 400 milímetros y girará 90 grados a la derecha cuatro veces seguidas para formar un cuadrado.

cuando empezó :: hat events
repetir (4)
unidad [adelante v] para (400) [mm v] ▶
girar [derecha v] por (90) grado ▶
fin

Para siempre#

El bloque C Para siempre se utiliza para repetir cualquier bloque contenido dentro para siempre.

para siempre
fin

Coloque bloques en un bloque C Para siempre para que esas acciones se repitan para siempre.

Puedes salir de un bloque C Para siempre colocando un bloque de ruptura dentro.

Los bloques C también pueden superponerse. Este concepto se denomina anidamiento y puede ahorrar tiempo al programar diferentes comportamientos.

En este ejemplo, el bloque Forever se utiliza para verificar continuamente si se ha presionado el parachoques izquierdo mientras el robot VR avanza.

cuando empezó :: hat events
unidad [adelante v]
para siempre
si <[LeftBumper v] presionado?> entonces
deja de conducir
fin

Si entonces#

El bloque C Si entonces se utiliza para ejecutar los bloques internos, si la condición booleana informa “Verdadero”.

si <> entonces
fin

El bloque C Si entonces solo comprobará la condición booleana una vez.

Si la condición booleana informa “Verdadero”, se ejecutarán los bloques dentro del bloque C.

Si la condición booleana informa “Falso”, se omitirán los bloques dentro del bloque C.

El bloque C Si entonces puede aceptar bloques con forma hexagonal (de seis lados) como condición.

En este ejemplo, el bloque Si entonces se verifica continuamente para ver si el parachoques izquierdo está presionado. Si lo está, la transmisión se detendrá.

cuando empezó :: hat events
unidad [adelante v]
para siempre
si <[LeftBumper v] presionado?> entonces
deja de conducir
fin

Si entonces de lo contrario#

El bloque C If then else se utiliza para ejecutar los bloques dentro de la primera o segunda parte del if then else, según el valor booleano informado.

si <> entonces
demás
fin

El bloque C Si entonces si no solo comprobará la condición booleana una vez.

Si la condición booleana informa “Verdadero”, se ejecutarán los bloques dentro de la sección si.

Si la condición booleana informa “Falso”, se ejecutarán los bloques dentro de la sección else.

El bloque C Si entonces si no puede aceptar bloques con forma hexagonal (de seis lados) como condición.

En este ejemplo, el bloque Si entonces si no se revisa continuamente para ver si el sensor de distancia frontal ha detectado un objeto. Si el sensor detecta un objeto, el robot de RV avanzará; de lo contrario, girará a la derecha.

cuando empezó :: hat events
para siempre
si <[FrontDistance v] Encontraste un objeto?> entonces
unidad [adelante v]
demás
turno [derecha v]
fin

Si entonces de lo contrario si entonces de lo contrario#

El bloque C Si entonces de lo contrario si entonces de lo contrario se utiliza para ejecutar los bloques dentro del primer conjunto de bloques internos en el bloque C Si entonces de lo contrario si entonces de lo contrario donde la condición devuelve “Verdadero”.

si <> entonces
de lo contrario si <> entonces
demás

El bloque C Si entonces de lo contrario si entonces de lo contrario solo comprobará la condición booleana una vez.

Si la condición booleana informa “Verdadero”, los bloques dentro de la sección si se ejecutarán.

Si la condición booleana indica “Falso”, el bloque C Si entonces, si entonces, si entonces, si verificará la primera de las líneas si entonces, si. Para cada línea si entonces, si, el bloque verificará si la condición booleana indica “Verdadero”. Si es verdadero, se ejecutarán los bloques internos inmediatamente debajo de esa línea antes de continuar con el siguiente bloque del bloque C Si entonces, si entonces, si.

Si todas las condiciones booleanas para las líneas else if informan “Falso”, se ejecutarán los bloques dentro de la sección else.

El bloque C Si entonces de lo contrario si entonces de lo contrario puede aceptar bloques con forma hexagonal (de seis lados) como condición.

Para agregar otra condición else if, haga clic en el símbolo + en la línea else. Esto agregará una nueva condición else if al final de la lista actual.

Para eliminar una condición else if, haga clic en - en la línea else. Esto eliminará la última línea de la condición else if, pero no eliminará los bloques usados en la condición.

En este ejemplo, el bloque Si entonces… si entonces… si entonces… si se revisa continuamente para ver si el Sensor de Ojos Inferiores ha detectado el color verde y luego el azul. Si detecta el color verde, el Robot de RV girará 90 grados a la derecha. Si detecta el color azul, girará 90 grados a la izquierda. Si el Sensor de Ojos Inferiores no detecta nada, el Robot de RV avanzará.

cuando empezó :: hat events
para siempre
si <[DownEye v] detecta [verde v]?> entonces
girar [derecha v] por (90) grado ▶
de lo contrario si <[DownEye v] detecta [azul v]?> entonces
girar [izquierda v] por (90) grado ▶
demás
unidad [adelante v]

Esperar hasta#

El bloque Esperar hasta se utiliza para esperar a que un bloque booleano informe “Verdadero” antes de pasar al siguiente bloque.

esperar hasta <>

El bloque Esperar hasta verificará repetidamente un bloque de informe booleano y no pasará al siguiente bloque hasta que el bloque de informe booleano informe “Verdadero”.

El bloque booleano Esperar hasta puede aceptar bloques con forma hexagonal (de seis lados).

En este ejemplo, el robot VR avanzará hasta que su posición Y actual en milímetros sea mayor a 300, luego se detendrá.

cuando empezó :: hat events
unidad [adelante v]
esperar hasta <(posición [Y v] en [mm v]) [math_greater_than v] (300)>
deja de conducir

Repetir hasta#

El bloque C Repetir hasta se utiliza para repetir los bloques internos hasta que la condición booleana informe “Verdadero”.

repetir hasta <>

El bloque C Repetir hasta solo verificará la condición booleana al comienzo de cada bucle.

Si la condición booleana informa “Falso”, los bloques dentro del bloque se ejecutarán.

Si la condición booleana informa “Verdadero”, se omitirán los bloques dentro del bloque.

El bloque C “Repetir hasta” puede aceptar bloques con forma hexagonal (de seis lados) como condición.

En este ejemplo, el robot de RV avanzará en incrementos de 100 milímetros, esperando un segundo después de cada movimiento. El bloque Repetir hasta repetirá esos movimientos hasta que la posición Y del robot de RV supere los 300 milímetros.

cuando empezó :: hat events
repetir hasta <(posición [Y v] en [mm v]) [math_greater_than v] (300)>
unidad [adelante v] para (100) [mm v] ▶
esperar (1) segundos

Mientras#

El bloque C While se utiliza para repetir los bloques internos mientras la condición booleana informa “Verdadero”.

mientras <>

El bloque C While solo verificará la condición booleana al comienzo de cada bucle.

Si la condición booleana informa “Verdadero”, los bloques dentro del bloque se ejecutarán.

Si la condición booleana informa “Falso”, se omitirán los bloques dentro del bloque.

El bloque Mientras C puede aceptar bloques con forma hexagonal (de seis lados) como condición.

En este ejemplo, el robot de RV avanzará mientras el temporizador del cerebro sea inferior a 3 segundos. Una vez que el temporizador supere los 3 segundos, el tren motriz se detendrá.

cuando empezó :: hat events
mientras <(temporizador en segundos) [math_less_than v] (3)>
unidad [adelante v]
fin
deja de conducir

Romper#

El bloque Break se utiliza para salir inmediatamente de un bucle repetitivo.

romper

Cuando se agrega a un bloque C repetitivo, el bloque Break saldrá del bucle en el que se encuentra actualmente.

En este ejemplo, el robot de RV avanzará hasta que el sensor ocular frontal detecte que está cerca de un objeto. Una vez detectado, dejará de verificar la instrucción Si entonces y detendrá el tren motriz.

cuando empezó :: hat events
unidad [adelante v]
para siempre
si <[FrontEye v] está cerca del objeto?> entonces
romper
fin
fin
deja de conducir

Detener el proyecto#

El bloque Detener proyecto se utiliza para detener un proyecto en ejecución

detener el proyecto

En este ejemplo, el robot VR avanzará durante dos segundos antes de que el proyecto se detenga.

cuando empezó :: hat events
unidad [adelante v]
esperar (2) segundos
detener el proyecto