Εγγραφή μιας συνάρτησης Void χωρίς παραμέτρους στο 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.

Δείγμα: Ένα δείγμα προγράμματος για ένα ρομπότ ώστε να διανύει μια ευθεία απόσταση

Η ακόλουθη συνάρτηση θα επιτρέψει στο ρομπότ να τρέξει προς τα εμπρός για κωδικοποιητήtotalEnc. Χρησιμοποιεί τη διαμόρφωση V5 Clawbot.

Αυτή η συνάρτησηspinToPositionδεν θα επιστρέψει μέχρι να ολοκληρωθεί η κίνηση. Αυτό ονομάζεται «συγχρονισμένη» ενέργεια – καθορίζεται από την τελευταία παράμετροtrue.

Χωρίς τη χρήση συνάρτησης που ορίζεται από τον χρήστη:

int main() {
   vexcodeInit();  

   LeftMotor.resetPosition();
   LeftMotor.setVelocity(100.0, ποσοστό);
   LeftMotor.spinToPosition(500.0, μοίρες, true);


   Brain.Screen.printAt(5,30, "δευτ. περιστροφή μοίρες");
   Brain.Screen.printAt(5,60, "%.2f: %8.2f %8.2f", 
     Brain.Timer.value(), 
     LeftMotor.position(περιστροφή), 
     LeftMotor.position(μοίρες)); 
     wait(1000, msec);

   LeftMotor.resetPosition();
   LeftMotor.setVelocity(-100.0, ποσοστό);
   LeftMotor.spinToPosition(-1000.0, c, true);

   Brain.Screen.printAt(5,100, "δευτ. περιστροφή μοίρες");
   Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f", 
     Brain.Timer.value(),
     LeftMotor.position(περιστροφή), 
     LeftMotor.position(μοίρες)); 
     αναμονή(1000, msec);
}

Το δείγμα μπορεί να δώσει το ακόλουθο αποτέλεσμα:

δευτ. ακατέργαστη περιστροφή μοίρες
2,06 5445 3,12 1089

Λάβετε υπόψη ότι η δοκιμή σας θα διαφέρει με πολύ μικρό περιθώριο στα δεκαδικά ψηφία.

Με μια συνάρτηση που ορίζεται από τον χρήστη:

Το ακόλουθο δείγμα δείχνει πώς να καταγράψετε ένα σύνολο λειτουργιών σε μία μόνο επαναχρησιμοποιήσιμη κλήση «συνάρτησης».

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, percent);
   LeftMotor.spinToPosition(500.0, deg, true);
   reportMotionValues();

   LeftMotor.resetPosition ();
   LeftMotor.setVelocity(-50.0, percent);
   LeftMotor.spinToPosition(-500.0, deg, true);
   reportMotionValues();

}

Το παρακάτω βίντεο δείχνει πώς ρέει η ακολουθία λογικής από τη συνάρτηση καλούντος main():

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

Last Updated: