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.
Esimerkki: Esimerkkiohjelma robotille kulkemaan suoraa matkaa
Seuraava toiminto sallii robotin ajaa eteenpäintotalEnc-kooderilla. Se käyttää V5 Clawbot -kokoonpanoa.
TämäspinToPosition-toiminto ei palaa ennen kuin liike on valmis. Tätä kutsutaan "synkronoiduksi" toiminnaksi – määräytyy viimeisen parametrintruemukaan.
Käyttämättä käyttäjän määrittämää funktiota:
int main() {
vexcodeInit();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(100,0, prosenttia);
LeftMotor.spinToPosition(500.0, aste, tosi);
Brain.Screen.printAt(5,30, "sec rev deg" );
Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(kierros),
LeftMotor.position(deg));
odota (1000, ms);
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-100,0, prosenttia);
LeftMotor.spinToPosition(-1000.0, c, true);
Brain.Screen.printAt(5 100, "sec rev deg" );
Brain.Screen.printAt(5 130, "%%.2f: %8.2f %8.2f",
Brain.Timer.value(),
LeftMotor.position(rev),
LeftMotor.position(deg));
odota (1000, ms);
}
Näyte voi antaa seuraavan tuloksen:
sekuntia raaka kierrosaste 2,06 5445 3,12 1089
Huomaa, että testisi vaihtelee hyvin pienen marginaalin sisällä desimaaleissa.
Käyttäjän määrittämillä toiminnoilla:
Seuraava esimerkki näyttää kuinka kaapata joukko toimintoja yhdeksi uudelleenkäytettäväksi "funktiokutsuksi".
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, prosenttia);
LeftMotor.spinToPosition(500.0, aste, tosi);
reportMotionValues();
LeftMotor.resetPosition ();
LeftMotor.setVelocity(-50,0, prosenttia);
LeftMotor.spinToPosition(-500.0, astetta, tosi);
reportMotionValues();
}
Tässä näkyy loogisen kulun järjestys kutsujan funktiosta main():