عشوائي#

مقدمة#

توفر مكتبة C++ القياسية دوالًا لتوليد أرقام شبه عشوائية. ويمكن استخدام هذه الدوال في VEXcode EXP للسلوكيات التي تتطلب التباين أو الصدفة.

الوظائف#

تتضمن مكتبة <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 ستنتج نفس تسلسل الأرقام في كل مرة يتم فيها تشغيل البرنامج.

  • للحصول على نتائج مختلفة في كل مرة يتم فيها تشغيل المشروع، قم بتهيئة قيمة تتغير بين عمليات التشغيل، مثل مؤقت الدماغ.

  • للحصول على نفس النتائج في كل مرة (مفيد للاختبار)، قم بتهيئة المتغير برقم ثابت مثل srand(1).

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