Tuščios funkcijos rašymas be parametrų VEXcode Pro V5

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.

Pavyzdys: pavyzdinė programa, skirta robotui nueiti tiesų atstumą

Ši funkcija leis robotui judėti pirmyn, kai kodavimo įrenginio vertė yratotalEnc. Jis naudoja V5 Clawbot konfigūraciją.

ŠispinToPositionfunkcija negrąžins reikšmės, kol judėjimas nebus baigtas. Tai vadinama „sinchronizuotu“ veiksmu – jį lemia paskutinis parametrastrue.

Nenaudojant vartotojo apibrėžtos funkcijos:

int main() {
   vexcodeInit();  

   LeftMotor.resetPosition();
   LeftMotor.setVelocity(100.0, procentai);
   LeftMotor.spinToPosition(500.0, laipsniai, true);


   Brain.Screen.printAt(5,30, " 
     laipsniai sek %8.2f " );
   Brain.Screen.printAt(5,60, "%.2f", %8.2fBrain.Timer.value(), 
     LeftMotor.position(sūkiai), 
     LeftMotor.position(deg)); 
     wait(1000, msek.);

   LeftMotor.resetPosition();
   LeftMotor.setVelocity(-100.0, procentai);
   LeftMotor.spinToPosition(-1000.0, c, true); }

   Brain.Screen.printAt(5,100, „sek. ​​aps. laipsn.“ );
   Brain.Screen.printAt(5,130, „%%.2f: %8.2f %8.2f“, 
     Brain.Timer.value(),
     LeftMotor.position(aps.), 
     LeftMotor.position(deg.)); 
     wait(1000, ms);
}

Mėginys gali duoti tokį rezultatą:

neapdoroti apsukų laipsniai (sekundės)
2,06 5445 3,12 1089

Atminkite, kad jūsų testas skirsis labai maža dešimtųjų tikslumu.

Su vartotojo apibrėžta funkcija:

Toliau pateiktame pavyzdyje parodyta, kaip užfiksuoti operacijų rinkinį į vieną pakartotinai naudojamą „funkcijos“ skambutį.

void reportMotionValues() {

  Brain.Screen.printAt(5, 60, "%.2f", %8.2f
    (), 
    LeftMotor.position(aps. %8.2f ,
    LeftMotor.position(deg.)); 
}


int main() {
   vexcodeInit();  

   LeftMotor.resetPosition();
   LeftMotor.setVelocity(50.0, procentai);
   LeftMotor.spinToPosition(500.0, laipsniai, true);
   reportMotionValues();

   LeftMotor.resetPosition();
   LeftMotor.setVelocity(-50.0, procentai);
   LeftMotor.spinToPosition(-500.0, laipsniai, true);
   reportMotionValues();

 } }

Žemiau esančiame vaizdo įraše parodyta, kaip logikos seka teka iš skambinamosios funkcijos main():

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: