Nederīgas funkcijas rakstīšana bez parametriem programmā 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.

Paraugs: paraugprogramma robotam, lai dotos taisnā attālumā

Sekojošā funkcija ļaus robotam darboties uz priekšutotalEnckodētājam. Tas izmanto V5 Clawbot konfigurāciju.

Šī funkcijaspinToPositionneatgriezīsies, kamēr kustība nebūs pabeigta. To sauc par “sinhronizētu” darbību, ko nosaka pēdējais parametrstrue.

Neizmantojot lietotāja definētu funkciju:

int main() {
   vexcodeInit();  

   LeftMotor.resetPosition ();
   LeftMotor.setVelocity(100.0, procenti);
   LeftMotor.spinToPosition(500.0, grāds, true);


   Brain.Screen.printAt(5,30, "sec rev deg" );
   Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f", 
     Brain.Timer.value(), 
     LeftMotor.position(apgr.), 
     LeftMotor.position(deg)); 
     gaidīt (1000, ms);

   LeftMotor.resetPosition ();
   LeftMotor.setVelocity(-100,0, procenti);
   LeftMotor.spinToPosition(-1000.0, c, true);

   Brain.Screen.printAt(5100, "sec rev deg" );
   Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f", 
     Brain.Timer.value(),
     LeftMotor.position(apgr.), 
     LeftMotor.position(deg)); 
     gaidīt (1000, ms);
}

Paraugs var dot šādu rezultātu:

sek. neapstrādāts apgr. g.
2,06 5445 3,12 1089

Ņemiet vērā, ka jūsu tests atšķirsies ļoti nelielā zīmē aiz komata.

Ar lietotāja definētu funkciju:

Šis paraugs parāda, kā tvert darbību kopu vienā atkārtoti lietojamā “funkcijas” izsaukumā.

void reportMotionValues() {

  Brain.Screen.printAt(5, 60, "%.2f: %8.2f %8.2f",
    Brain.Timer.value(), 
    LeftMotor.position(apgr.),
    LeftMotor.position(deg)); 
}


int main() {
   vexcodeInit();  

   LeftMotor.resetPosition();
   LeftMotor.setVelocity(50,0, procenti);
   LeftMotor.spinToPosition(500.0, grādi, true);
   reportMotionValues();

   LeftMotor.resetPosition ();
   LeftMotor.setVelocity(-50,0, procenti);
   LeftMotor.spinToPosition(-500,0, grāds, patiess);
   reportMotionValues();

}

Šeit parādīta loģiskās plūsmas secība no zvanītāja funkcijas main ():

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

Last Updated: