The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Ejemplo: un programa de muestra para que un robot recorra una distancia recta
La siguiente función permitirá que el robot corra hacia adelante durantetotalEnc
codificador. Utiliza la configuración V5 Clawbot.
EstespinToPosition
la función no regresará hasta que se complete el movimiento. Esto se denomina acción "sincronizada", determinada por el último parámetro verdadero
.
Sin utilizar una función definida por el usuario:
int main() { vexcodeInit(); LeftMotor.resetPosition (); LeftMotor.setVelocity(100.0, por ciento); LeftMotor.spinToPosition(500.0, grados, verdadero); Brain.Screen.printAt(5,30, "segs rev deg"); Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f", Brain.Timer.value(), LeftMotor.position(rev), LeftMotor.position(deg)); esperar(1000, mseg); LeftMotor.resetPosition (); LeftMotor.setVelocity(-100.0, porcentaje); LeftMotor.spinToPosition(-1000.0, c, verdadero); Brain.Screen.printAt(5,100, "segs rev deg"); Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f", Brain.Timer.value(), Motor izquierdo .position(rev), LeftMotor.position(deg)); esperar(1000, mseg);
}
La muestra puede dar el siguiente resultado:
segs raw rev deg 2,06 5445 3,12 1089
Tenga en cuenta que su prueba variará dentro de un margen muy pequeño en los lugares decimales.
Con una función definida por el usuario:
El siguiente ejemplo muestra cómo capturar un conjunto de operaciones en una única llamada de "función" reutilizable.
void reportMotionValues () { Brain.Screen.printAt (5, 60, "%.2f: %8.2f %8.2f", Brain.Timer.value (), LeftMotor.position (rev), LeftMotor.position (deg)); } int main () { vexcodeInit (); LeftMotor.resetPosition (); LeftMotor.setVelocity (50.0, por ciento); LeftMotor.spinToPosition (500.0, deg, true); reportMotionValues (); LeftMotor.resetPosition (); LeftMotor.setVelocity (-50.0, por ciento); LeftMotor.spinToPosition (-500.0, deg, true); reportMotionValues (); }
Aquí se muestra la secuencia del flujo lógico de la función de llamada main():