Τυχαίος#

Εισαγωγή#

Η Βιβλιοθήκη Τυποποιημένων Εκδόσεων C++ παρέχει συναρτήσεις για τη δημιουργία ψευδοτυχαίων αριθμών. Αυτές μπορούν να χρησιμοποιηθούν στον κώδικα VEX V5 για συμπεριφορές που απαιτούν μεταβλητότητα ή τύχη.

Συναρτήσεις#

Η βιβλιοθήκη <cstdlib> περιλαμβάνει τις ακόλουθες λειτουργίες:

  • rand — Επιστρέφει έναν τυχαίο ακέραιο αριθμό.

  • srand — Ορίζει την τυχαία πηγή.

rand#

Επιστρέφει έναν τυχαίο ακέραιο αριθμό μεταξύ 0 και 2.147.483.647.

Available Functions
int rand();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει έναν τυχαίο ακέραιο αριθμό μεταξύ 0 και 32767.

Notes
  • Για να επιστρέψετε έναν τυχαίο ακέραιο εντός ενός αποκλειστικού ορίου, χρησιμοποιήστε το μοτίβο rand() % max.

  • Για να επιστρέψετε έναν τυχαίο ακέραιο αριθμό εντός ενός συγκεκριμένου εύρους, χρησιμοποιήστε το μοτίβο rand() % (max - min + 1) + min.

Examples
// Display a random number
Brain.Screen.print("%d", rand());

// Display a random number between 0 and 100
Brain.Screen.print("%d", rand() % 101);

// Display a random number between 5 and 10
Brain.Screen.print("%d", rand() % (10 - 5 + 1) + 5);

srand#

Ορίζει τον πυρήνα που θα χρησιμοποιηθεί από τη γεννήτρια ψευδοτυχαίων αριθμών στη συνάρτηση rand.

Available Functions
void srand( unsigned int seed );

Parameters

Παράμετρος

Τύπος

Περιγραφή

seed

unsigned int

Η αρχική τιμή σπόρου.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Καλέστε srand μόνο μία φορά, κοντά στην αρχή του έργου σας, πριν καλέσετε randΔεν χρειάζεται να το καλείτε πριν από κάθε rand.

  • Αν δεν κληθεί ποτέ η συνάρτηση srand , το πρόγραμμα συμπεριφέρεται σαν να χρησιμοποιήθηκε η συνάρτηση srand(1) Αυτό σημαίνει ότι η συνάρτηση rand παράγει την ίδια ακολουθία αριθμών κάθε φορά που εκτελείται το έργο.

  • Για να έχετε διαφορετικά αποτελέσματα κάθε φορά που εκτελείται το έργο, ορίστε μια τιμή που αλλάζει μεταξύ των εκτελέσεων, όπως το Brain’s timer.

  • Για να έχετε τα ίδια αποτελέσματα κάθε φορά (χρήσιμο για δοκιμές), χρησιμοποιήστε έναν σταθερό αριθμό όπως srand(1).

Examples
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);