Τυχαίος#
Εισαγωγή#
Η Βιβλιοθήκη Τυποποιημένων Εκδόσεων C++ παρέχει συναρτήσεις για τη δημιουργία ψευδοτυχαίων αριθμών. Αυτές μπορούν να χρησιμοποιηθούν στο VEXcode EXP για συμπεριφορές που απαιτούν μεταβλητότητα ή τύχη.
Συναρτήσεις#
Η βιβλιοθήκη <cstdlib> περιλαμβάνει τις ακόλουθες λειτουργίες:
rand#
Επιστρέφει έναν τυχαίο ακέραιο αριθμό μεταξύ 0 και 2.147.483.647.
Available Functionsint rand();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει έναν τυχαίο ακέραιο αριθμό μεταξύ 0 και 32767.
NotesΓια να επιστρέψετε έναν τυχαίο ακέραιο εντός ενός αποκλειστικού ορίου, χρησιμοποιήστε το μοτίβο
rand() % max.Για να επιστρέψετε έναν τυχαίο ακέραιο αριθμό εντός ενός συγκεκριμένου εύρους, χρησιμοποιήστε το μοτίβο
rand() % (max - min + 1) + min.
// 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.
void srand( unsigned int seed );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η αρχική τιμή σπόρου. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΚαλέστε
srandμόνο μία φορά, κοντά στην αρχή του έργου σας, πριν καλέσετεrandΔεν χρειάζεται να το καλείτε πριν από κάθεrand.Αν δεν κληθεί ποτέ η συνάρτηση
srand, το πρόγραμμα συμπεριφέρεται σαν να χρησιμοποιήθηκε η συνάρτησηsrand(1)Αυτό σημαίνει ότι η συνάρτησηrandπαράγει την ίδια ακολουθία αριθμών κάθε φορά που εκτελείται το έργο.Για να έχετε διαφορετικά αποτελέσματα κάθε φορά που εκτελείται το έργο, ορίστε μια τιμή που αλλάζει μεταξύ των εκτελέσεων, όπως το Brain’s timer.
Για να έχετε τα ίδια αποτελέσματα κάθε φορά (χρήσιμο για δοκιμές), χρησιμοποιήστε έναν σταθερό αριθμό όπως
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);