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.
Beispiel: Ein Beispielprogramm für einen Roboter, der eine gerade Strecke zurücklegt
Mit der folgenden Funktion kann der Roboter für . vorwärts laufen totalEnc -Encoder. Es verwendet die V5 Clawbot-Konfiguration.
Diese spinToPosition kehrt erst zurück, wenn die Bewegung abgeschlossen ist. Dies wird als „synchronisierte“ Aktion bezeichnet – bestimmt durch den letzten Parameter wahr.
Ohne Verwendung einer benutzerdefinierten Funktion:
int main() {
vexcodeInit();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(100.0, Prozent);
LeftMotor.spinToPosition(500.0, deg, true);
Brain.Screen.printAt(5,30, "secs rev deg" );
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
wait(1000, ms);
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-100.0, Prozent);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5,100, "secs rev deg" );
Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor .position(rev),
LeftMotor.position(deg));
wait(1000, ms);
}
Die Probe kann folgendes Ergebnis liefern:
s roh rev deg 2,06 5445 3,12 1089
Beachten Sie, dass Ihr Test bei den Dezimalstellen nur sehr geringe Abweichungen aufweist.
Mit einer benutzerdefinierten Funktion:
Das folgende Beispiel zeigt, wie eine Reihe von Vorgängen in einem einzigen wiederverwendbaren „Funktions“-Aufruf erfasst werden.
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, Prozent);
LeftMotor.spinToPosition(500.0, deg, true);
reportMotionValues();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-50.0, Prozent);
LeftMotor.spinToPosition(-500.0, deg, true);
reportMotionValues();
}
Hier ist die Abfolge des Logikflusses der Aufruffunktion main() dargestellt: