Control#

Esperar#

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

un bloque de código VEXcode que contiene bloques de espera de 1 segundo#
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, la herramienta de recogida magnética del brazo de 6 ejes se activará para recoger un elemento antes de dejarlo caer después de 1 segundo.

cuando empezó
[Set the Arm and effector to Magnet and engaged.]
Establecer el efector final [brazo v] en [imán v]
Establecer el imán [brazo v] en [activado v]
[Move the Arm lower on the z axis to the object to pick it up.]
mover [brazo v] a la posición x:(120) y:(0) z:(5) [mm v] ▶
[Move the Arm higher on the z axis to move the object.]
mover [brazo v] a la posición x:(120) y:(0) z:(100) [mm v] ▶
[Drop the item after 1 second.]
esperar (1) segundos
Establecer el imán [brazo v] en [liberado v]

Repetir#

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

Una pila de bloques de código VEXcode que contiene un bloque de repetición 10 y un bloque final#
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 brazo se moverá -20 mm en el eje z dos veces seguidas.

Una pila de bloques de código VEXcode que contiene un bloque de repetición 2 y un bloque de fin#
cuando empezó
[Move -20 mm on the z axis twice in a row.]
repetir (2)
incrementar la posición [brazo v] en x:(0) y:(0) z:(-20) [mm v] ▶
fin

Para siempre#

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

Una pila de bloques de código VEXcode que contiene un bloque para siempre y un bloque de fin#
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 código comprobará continuamente si el brazo de 6 ejes puede moverse +20 mm en el eje x. Si el brazo de 6 ejes puede moverse esa distancia, se enviará un mensaje para que lo haga.

Una pila de bloques de código VEXcode que contiene un bloque para siempre y un bloque de fin#
cuando empezó
para siempre
[Continuously check if the Arm can move +20 mm on the x axis.]
si <[brazo v] incremento de posición por x:(20) y:(0) z:(0) [mm v]?> entonces
[Every time the 6-Axis Arm can move, broadcast the message.]
transmisión [arm_can_move v]
fin
fin
cuando recibo [arm_can_move v]
[When the message is received, move the Arm +20 mm on the x axis.]
incrementar la posición [brazo v] en x:(20) y:(0) z:(0) [mm v] ▶

Si entonces#

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

Una pila de bloques de código VEXcode que contiene un bloque if then y un bloque end#
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 código comprobará continuamente si el brazo de 6 ejes puede moverse +20 mm en el eje x. Si el brazo de 6 ejes puede moverse esa distancia, se enviará un mensaje para que lo haga.

Una pila de bloques de código VEXcode que contiene un bloque if then y un bloque end#
cuando empezó
para siempre
[Continuously check if the Arm can move +20 mm on the x axis.]
si <[brazo v] incremento de posición por x:(20) y:(0) z:(0) [mm v]?> entonces
[Every time the 6-Axis Arm can move, broadcast the message.]
transmisión [arm_can_move v]
fin
fin
cuando recibo [arm_can_move v]
[When the message is received, move the Arm +20 mm on the x axis.]
incrementar la posición [brazo v] en x:(20) y:(0) z:(0) [mm v] ▶

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.

Una pila de bloques de código VEXcode que contiene un bloque if then else#
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 código comprobará continuamente si el brazo de 6 ejes puede moverse +20 mm en el eje x. Si el brazo de 6 ejes puede moverse esa distancia, se enviará un mensaje para que lo haga. Si el brazo de 6 ejes no puede moverse esa distancia, se imprimirá un mensaje en la consola de impresión.

Una pila de bloques de código VEXcode que contiene un bloque if then else#
cuando empezó
para siempre
si <[brazo v] incremento de posición por x:(20) y:(0) z:(0) [mm v]?> entonces
incrementar la posición [brazo v] en x:(20) y:(0) z:(0) [mm v] ▶
demás
imprimir [Arm can no longer move +20 mm on the x axis.] en la consola ▶
fin
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”.

una pila de bloques de código VEXcode que contiene un bloque if then, un bloque else if then y un bloque else.#
si <> entonces
de lo contrario si <> entonces
demás
fin

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 código comprobará continuamente si el brazo de 6 ejes puede moverse +20 mm en el eje x. Si puede hacerlo, se enviará un mensaje para que lo haga. Si no puede, comprobará si puede moverse +20 mm en el eje y y lo hará si es posible. El brazo de 6 ejes continuará moviéndose hasta que no pueda hacerlo y entonces imprimirá un mensaje.

una pila de bloques de código VEXcode que contiene un bloque if then, un bloque else if then y un bloque else.#
cuando empezó
para siempre
si <[brazo v] incremento de posición por x:(20) y:(0) z:(0) [mm v]?> entonces
incrementar la posición [brazo v] en x:(20) y:(0) z:(0) [mm v] ▶
de lo contrario si <[brazo v] incremento de posición por x:(0) y:(20) z:(0) [mm v]?> entonces
incrementar la posición [brazo v] en x:(0) y:(20) z:(0) [mm v] ▶
demás
imprimir [Arm can no longer move +20 mm on the x or y axes.] en la consola ▶
fin
fin

Esperar hasta#

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

Una pila de bloques de código VEXcode que contiene un bloque de espera hasta#
esperar hasta <>

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

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

En este ejemplo, el brazo de 6 ejes se moverá hacia abajo en el eje z y activará la herramienta de recogida de imán una vez que la posición del brazo de 6 ejes sea inferior a 20 mm en el eje z.

Una pila de bloques de código VEXcode que contiene un bloque de espera hasta#
cuando empezó
Establecer el efector final [brazo v] en [imán v]
mover [brazo v] a la posición x:(120) y:(0) z:(5) [mm v] ◀ y no esperes
esperar hasta <([brazo v] posición [z v] en [mm v] :: custom-arm) [math_less_than v] (20)>
Establecer el imán [brazo v] en [activado v]

Repetir hasta#

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

Una pila de bloques de código VEXcode que contiene un bloque de repetición hasta#
repetir hasta <>
fin

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 brazo de 6 ejes incrementará el movimiento +20 mm a lo largo del eje x hasta que ya no pueda moverse esa distancia.

Una pila de bloques de código VEXcode que contiene un bloque de repetición hasta#
cuando empezó
repetir hasta <no <[brazo v] incremento de posición por x:(20) y:(0) z:(0) [mm v]?>>
incrementar la posición [brazo v] en x:(20) y:(0) z:(0) [mm v] ▶
fin

Mientras#

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

Una pila de bloques de código VEXcode que contiene un bloque while#
mientras <>
fin

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 brazo de 6 ejes se moverá a las coordenadas (200, 200, 100) e imprimirá su posición x cada 0,25 segundos a medida que se mueve el brazo de 6 ejes.

Una pila de bloques de código VEXcode que contiene un bloque while#
cuando empezó
mover [brazo v] a la posición x:(200) y:(200) z:(100) [mm v] ◀ y no esperes
mientras <no <[brazo v] ya termino de moverme?>>
imprimir ([brazo v] posición [incógnita v] en [mm v] :: custom-arm) en la consola ◀ y coloque el cursor en la siguiente fila
esperar (0.25) segundos
fin

Romper#

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

Una pila de bloques de código VEXcode que contiene un bloque de interrupción#
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 brazo de 6 ejes comprobará continuamente si puede incrementar el movimiento +20 mm en el eje x hasta que sea imposible. Una vez que el brazo de 6 ejes ya no pueda incrementar esa distancia, saldrá del bucle y se moverá a las coordenadas (120, 0, 100).

Una pila de bloques de código VEXcode que contiene un bloque de interrupción#
cuando empezó
para siempre
si <[brazo v] incremento de posición por x:(20) y:(0) z:(0) [mm v]?> entonces
incrementar la posición [brazo v] en x:(20) y:(0) z:(0) [mm v] ▶
fin
romper
fin
mover [brazo v] a la posición x:(120) y:(0) z:(100) [mm v] ▶

Detener el proyecto#

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

Una pila de bloques de código VEXcode que contiene un bloque de proyecto de detención#
detener el proyecto

En este ejemplo, el brazo de 6 ejes comprobará continuamente si puede incrementar el movimiento +20 mm en el eje x hasta que sea imposible. Una vez que el brazo de 6 ejes ya no pueda incrementar esa distancia, el proyecto se detendrá.

Una pila de bloques de código VEXcode que contiene un bloque de proyecto de detención#
cuando empezó
para siempre
si <[brazo v] incremento de posición por x:(20) y:(0) z:(0) [mm v]?> entonces
incrementar la posición [brazo v] en x:(20) y:(0) z:(0) [mm v] ▶
fin
detener el proyecto
fin