Control#

Introducción#

Los bloques de control en VEXcode AIM gestionan el flujo de un proyecto mediante la gestión de bucles, condiciones, retrasos y la detención de la ejecución. A continuación, se muestra una lista de los bloques disponibles:

  • wait – Pauses execution for a specific duration.

  • wait until – Pauses execution until a specified condition is met.

  • repeat – Repeats enclosed blocks a specific number of times.

  • forever – Repeats enclosed blocks indefinitely.

  • repeat until – Repeats enclosed blocks until a condition is met.

  • while – Repeats enclosed blocks while a condition remains true.

  • if – Runs enclosed blocks if a condition is true.

  • if / else – Runs one set of blocks if a condition is true, otherwise runs another.

  • if / else if / else – Runs different sets of blocks depending on multiple conditions.

  • break – Exits a repeat, forever, repeat until, or while loop immediately.

  • stop project – Ends the execution of the project.

esperar#

El bloque espera se detiene durante un período de tiempo específico antes de pasar al siguiente bloque.

bloque de pila de espera#
esperar (1) segundos

Parámetros

Descripción

tiempo

La cantidad de tiempo a esperar, como un entero positivo o decimal en segundos.

Ejemplo

Cuando se inicia, avanza durante un segundo y luego detiene todo movimiento.#
cuando empieza :: hat events
[Avanza durante un segundo y luego detente.]
mover [adelante v]
esperar (1) segundos
detener todo movimiento

Esperar hasta#

El bloque esperar hasta pausa la ejecución hasta que se cumpla una condición especificada antes de continuar al siguiente bloque.

esperar hasta que se acumule el bloque#
esperar hasta <>

Parámetros

Descripción

condición

La condición que debe cumplirse antes de pasar al siguiente bloque.

Ejemplo

Cuando se inicia, avanza hasta que se presiona la pantalla y luego detiene todo movimiento.#
cuando empieza :: hat events
[Avanzar hasta presionar la pantalla, luego detenerse.]
mover [adelante v]
esperar hasta <pantalla presionada?>
detener todo movimiento

repetir#

El bloque repetir ejecuta los bloques dentro de él una cantidad determinada de veces.

repetir bloque c#
repetir [10]
fin

Parámetros

Descripción

veces

Un número entero que establece cuántas veces se ejecuta el bloque repetir.

Ejemplo

cuando empieza :: hat events
[Muévete en una trayectoria cuadrada.]
repetir [4]
mover [adelante v] para [50] [mm v] ▶
giro [derecha v] para [90] grados ▶
fin

para siempre#

El bloque por siempre sigue ejecutando los bloques dentro de él una y otra vez sin detenerse.

bloque c para siempre#
por siempre
fin

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Cuando se inicia, se mueve continuamente en una trayectoria cuadrada avanzando 50 mm y girando 90 grados a la derecha en un bucle infinito.#
cuando empieza :: hat events
[Muévete en una trayectoria cuadrada para siempre.]
por siempre
mover [adelante v] para [50] [mm v] ▶
giro [derecha v] para [90] grados ▶
fin

repetir hasta#

El bloque repetir hasta ejecuta los bloques incluidos repetidamente mientras la condición se evalúa como Falso.

repetir hasta bloquear#
repetir hasta <>
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa antes de cada iteración. Si se evalúa como:

  • Falso - El bucle continúa
  • Verdadero - El bucle se detiene

Ejemplo

Cuando se inicia, mantiene todos los LED rojos hasta que se presiona la pantalla y luego los apaga.#
cuando empieza :: hat events
[Repita hasta que se presione la pantalla antes de apagar los LED.]
repetir hasta <pantalla presionada?>
establecer el color del [lightall v] LED EN [rojo v]
fin
establecer el color del [lightall v] LED EN [apagado v]

mientras#

El bloque while ejecuta los bloques incluidos repetidamente mientras la condición se evalúa como Verdadero.

mientras que el bloque c#
mientras <>
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa antes de cada iteración. Si se evalúa como:

  • Verdadero - El bucle continúa
  • Falso - El bucle se detiene

Ejemplo

Al iniciarse, avanza 200 mm con todos los LED en verde. Los LED se apagan al detenerse el movimiento.#
cuando empieza :: hat events
[Mantenga los LED verdes mientras el robot se mueve.]
mover [adelante v] para [200] [mm v] ◀ y no espera
mientras <moverse activo?>
establecer el color del [lightall v] LED EN [verde v]
fin
establecer el color del [lightall v] LED EN [apagado v]

si#

El bloque if ejecuta el bloque de código incluido si la condición se evalúa como Verdadero.

si bloque#
si <> entonces
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa al ejecutar la instrucción. Si se evalúa como:

  • Verdadero: Se ejecuta el código dentro del bloque if
  • Falso: Se omite el bloque

Ejemplo

Al iniciarse, comprueba continuamente si la pantalla está presionada. Si se presiona, el robot patea un objeto con fuerza media.#
cuando empieza :: hat events
[Patear cuando se presiona la pantalla.]
por siempre
si <pantalla presionada?> entonces
patear objeto [mediano v]
fin
fin

si/de lo contrario#

El bloque if / else determina qué bloque de código adjunto se ejecuta en función de si la condición se evalúa como Verdadero o Falso.

Si entonces, si no, bloque#
si <> entonces
si no
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa al ejecutar la instrucción. Si se evalúa como:

  • Verdadero - Se ejecuta el código dentro del bloque if
  • Falso - Se ejecuta el código dentro del bloque else

Ejemplo

Al iniciarse, comprueba continuamente si la pantalla está presionada. Si se presiona, muestra un emoji de emoción mirando hacia adelante; de lo contrario, muestra un emoji de aburrimiento mirando hacia adelante.#
cuando empieza :: hat events
[Muestra un emoji cuando se toca la pantalla y otro diferente cuando no se toca.]
por siempre
si <pantalla presionada?> entonces
show [emoji_excited v] looking [adelante v]
si no
show [emoji_bored v] looking [adelante v]
fin
fin

si/si no si/si no#

La estructura de bloque if / else if / else selecciona qué bloque de código adjunto se ejecuta en función de las condiciones:

  • if ejecuta su bloque de código si la condición se evalúa como Verdadero.

  • else if verifica condiciones adicionales solo si todas las condiciones anteriores se evaluaron como falsas. Se pueden usar varias sentencias else if.

  • de lo contrario, ejecuta su bloque de código solo si ninguna de las condiciones anteriores se evaluó como Verdadera.

si no si no bloque#
si <> entonces
de lo contrario si <> entonces
si no
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa al ejecutar la instrucción. La primera condición que se evalúa como:

  • Verdadero - Determina qué bloque de código se ejecuta
  • Falso - Si ninguno es Verdadero, se ejecuta el bloque de código

Ejemplo

Cuando la posición del eje 1 del controlador cambia, se mueve hacia adelante si se lo empuja hacia adelante, se mueve hacia atrás si se lo tira hacia atrás y se detiene cuando está en punto muerto.#
cuando se cambia el [1 v] eje del controlador
[Mueva el robot hacia adelante o hacia atrás según la posición del joystick..]
si <([1 v] posición del eje del controlador) [math_greater_than v] [0]> entonces
mover [adelante v]
de lo contrario si <([1 v] posición del eje del controlador) [math_less_than v] [0]> entonces
mover [reversa v]
si no
detener todo movimiento
fin

romper#

El bloque break sale de un bucle inmediatamente.

romper bloque de pila#
romper

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Cuando se inicia, los LED parpadean en rojo y verde cada 0,5 segundos hasta que se presiona la pantalla y luego se detiene.#
cuando empieza :: hat events
[Los LED parpadean hasta que se presiona la pantalla.]
por siempre
establecer el color del [lightall v] LED EN [rojo v]
esperar [0.5] segundos
establecer el color del [lightall v] LED EN [verde v]
esperar [0.5] segundos
si <pantalla presionada?> entonces
romper
fin
fin

detener el proyecto#

El bloque detener proyecto finaliza un proyecto en ejecución.

detener el bloqueo del proyecto#
proyecto de parada

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Cuando se inicia, los LED parpadean en rojo y verde cada 0,5 segundos hasta que se presiona la pantalla, luego se detiene el proyecto.#
cuando empieza :: hat events
[Detener el proyecto una vez presionada la pantalla.]
por siempre
establecer el color del [lightall v] LED EN [rojo v]
esperar [0.5] segundos
establecer el color del [lightall v] LED EN [verde v]
esperar [0.5] segundos
si <pantalla presionada?> entonces
proyecto de parada
fin
fin