Cambiar#

Introducción#

Los bloques Switch permiten a los estudiantes escribir código Python directamente en un entorno basado en bloques. Este enfoque ayuda a reducir la brecha entre la programación basada en bloques y la basada en texto. Al permitir a los usuarios ver cómo los comandos de bloque se convierten a Python, los bloques Switch facilitan el aprendizaje de técnicas de codificación basada en texto dentro de una interfaz familiar. El uso de bloques Switch puede simplificar la lógica avanzada, los cálculos y las llamadas a funciones, sin dejar de usar bloques normales.

Pila#

El bloque Switch Stack se utiliza para ejecutar comandos Switch de Python escritos dentro del espacio abierto del bloque.

Están diseñados para colocarse encima o debajo de otros bloques de acción.

Ejemplo de bloques de conmutación de VEXcode que muestra un bloque de pila de conmutación#
[] :: custom-switch

Los bloques Switch Stack se pueden usar para líneas individuales de comandos Switch de Python o para líneas múltiples.

Para que un bloque Switch Stack funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.

Ejemplo de bloques de conmutación de VEXcode que muestra un bloque de pila de conmutación con comandos de Python para avanzar 400 mm#
cuando empieza :: hat events
[Avanzar 400 mm]
[robot.move_for(400, 0)] :: custom-switch

Bloque C#

El bloque Switch C Block se utiliza para hacer un bucle con los bloques dentro hasta que se cumpla la condición en el espacio abierto del bloque.

Tienen forma para fijar pilas u otros bloques C encima, debajo o dentro de ellos.

Ejemplo de bloques de conmutación VEXcode que muestra un bloque de conmutación C#
if [] :: custom-switch
fin

Algunos posibles comandos Switch de Python para usar con el bloque Switch C incluyen:

  • while

  • if

  • for

Para que un bloque Switch C funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.

Un ejemplo de bloques de interruptores VEXcode con texto dentro del bloque de interruptor c y un bloque de impresión que dice que se presionó el parachoques#
cuando empieza :: hat events
[Gire continuamente hacia la derecha hasta que se presione la pantalla.]
giro [derecha v]
por siempre
if [ if robot.screen.pressing(): ] :: custom-switch
imprimir [ ¡Se presionó la pantalla! ] en pantalla ▶
detener todo movimiento
fin
fin

C Expandible#

El bloque Switch C Expandible se utiliza para repetir los bloques dentro de una rama específica cuando se cumple la condición en el espacio abierto del bloque. Se pueden agregar ramas adicionales expandiendo el bloque.

Tienen forma para fijar pilas y otros bloques C encima, debajo o dentro de ellos.

Ejemplo de bloques de conmutación VEXcode que muestra un bloque expandible de conmutación C#
if [] :: custom-switch-expand
fin

Algunos posibles comandos Switch de Python para usar con el bloque Switch C Expandable incluyen:

  • while

  • if

  • for

Para que un bloque Switch C Expandable funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.

Ejemplo de bloques de conmutación VEXcode que muestra un conmutador C expandible con código de Python if else#
cuando empieza :: hat events
[Avanza continuamente hasta que el robot tenga una pelota deportiva.]
por siempre
if [ if robot.has_sports_ball(): ] :: custom-switch-expand
imprimir [ ¡Se presionó la pantalla! ] en pantalla ▶
detener todo movimiento
else [else:                                          ]
mover [adelante v]
fin
fin

Booleano#

The Switch Boolean block is used to return a condition as either True or False. These conditions are defined with Switch Python functions.

Tienen forma para encajar dentro de cualquier bloque con entradas hexagonales (de seis lados).

un bloque booleano Switch de VEXcode#
<[] :: custom-switch>

Los bloques Switch Boolean se pueden usar para líneas individuales de funciones Switch de Python que devolverán directamente una condición verdadera o falsa.

Los operadores permiten evaluar varias funciones Switch de Python en un único bloque booleano Switch. Esto incluye:

  • and

  • or

  • not

Un ejemplo de bloque switch de VEXcode con un bloque booleano que tiene una línea de funciones switch de Python#
<[controller.button_up.pressing() and controller.button_down.pressing()] :: custom-switch>

Un bloque Switch Boolean también puede combinar funciones Switch de Python con operadores de comparación para evaluar cómo un valor devuelto se compara con el número dado utilizando los siguientes operadores:

  • Greater Than: >

  • Less Than: <

  • Equal to: =

  • Additional operators that can be used include <=, !=, and >=

Un ejemplo de bloque de conmutación VEXcode que utiliza un bloque booleano con un operador de comparación#
<[robot.inertial.get_heading() > 100] :: custom-switch>

Para que un bloque Switch Boolean funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.

Un ejemplo de bloque de conmutación de VEXcode que utiliza un bloque booleano con operador de comparación#
cuando empieza :: hat events
[Gire continuamente hacia la derecha hasta que se presione la pantalla.]
giro [derecha v]
por siempre
si <[robot.screen.pressing()] :: custom-switch> entonces
imprimir [ ¡Se presionó la pantalla! ] en pantalla ▶
detener todo movimiento
fin
fin

Reportero#

El bloque Switch Reporter se utiliza para devolver un valor numérico. Estas condiciones se definen con las funciones Switch de Python.

Tienen forma para encajar dentro de cualquier bloque con entradas circulares.

Ejemplo de bloques de conmutación de VEXcode que muestra un bloque de reportero de conmutación#
([] :: custom-switch)

Los bloques Switch Reporter se pueden usar para líneas individuales de funciones Switch de Python que devolverán directamente un valor numérico.

Se pueden usar funciones matemáticas para calcular valores dentro de un bloque Switch Reporter. Esto incluye, entre otros:

  • Addition: +

  • Subtraction: -

  • Division: /

  • Multiplication: *

Ejemplo de bloques de conmutación de VEXcode que muestra un bloque de reportero de conmutación con código de Python que tiene un operador de suma#
([robot.inertial.get_heading() + 45] :: custom-switch)

Para que un bloque Switch Reporter funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.

Ejemplo de bloques de conmutación de VEXcode que muestra un bloque de reportero de conmutación dentro de un bloque de impresión#
cuando empieza :: hat events
[El rumbo actual del robot + 45 grados se imprimirá en la pantalla.]
imprimir ([robot.inertial.get_heading() + 45]  :: custom-switch) en pantalla ▶

Sombrero#

El bloque Switch Hat se utiliza para ejecutar la pila de bloques adjunta cuando se llama a la función.

Están diseñados para colocarse encima de otros bloques de acción.

Ejemplo de bloques Switch de VEXcode que muestra un bloque Switch hat#
[] :: hat custom-switch

La pila de bloques adjunta es una función. El bloque “Switch Hat” define el nombre de la función y los parámetros opcionales.

Parameters should be enclosed in parentheses and followed by a colon as shown below. If a function has no parameters, use closed parentheses: ().

Ejemplo de bloques Switch de VEXcode que muestra un bloque Switch con una función de Python que tiene un parámetro#
[def function_name(parameter):] :: hat custom-switch

Para que un bloque Switch Hat funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.

Ejemplo de bloques de conmutación de VEXcode que muestra un bloque de conmutación de sombrero y un bloque de avance#
[def move_400():] :: hat custom-switch
[Define una función personalizada usando Switch Hat Blocks.]
mover [adelante v] para (400) [mm v] ▶

cuando empieza :: hat events
[move_400()] :: custom-switch