Ngẫu nhiên#

Giới thiệu#

Thư viện chuẩn C++ cung cấp các hàm để tạo số giả ngẫu nhiên. Chúng có thể được sử dụng trong VEXcode EXP cho các hành vi yêu cầu tính biến thiên hoặc ngẫu nhiên.

Chức năng#

Thư viện <cstdlib> bao gồm các hàm sau:

  • rand — Trả về một số nguyên ngẫu nhiên.

  • srand — Đặt hạt giống ngẫu nhiên.

rand#

Trả về một số nguyên ngẫu nhiên nằm giữa 0 và 2.147.483.647.

Available Functions
int rand();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả về một số nguyên ngẫu nhiên nằm giữa 0 và 32767.

Notes
  • Để trả về một số nguyên ngẫu nhiên trong một giới hạn nhất định, hãy sử dụng mẫu rand() % max.

  • Để trả về một số nguyên ngẫu nhiên trong một phạm vi cụ thể, hãy sử dụng mẫu 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#

Đặt hạt giống được sử dụng bởi bộ tạo số giả ngẫu nhiên trong hàm rand.

Available Functions
void srand( unsigned int seed );

Parameters

Tham số

Kiểu

Sự miêu tả

seed

unsigned int

Giá trị hạt giống ban đầu.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Chỉ gọi srand một lần duy nhất, gần đầu dự án của bạn, trước khi gọi randBạn không cần phải gọi nó trước mỗi rand.

  • Nếu srand không bao giờ được gọi, chương trình sẽ hoạt động như thể srand(1) đã được sử dụng. Điều này có nghĩa là rand tạo ra cùng một chuỗi số mỗi khi dự án chạy.

  • Để có được kết quả khác nhau mỗi khi dự án chạy, hãy gieo hạt với một giá trị thay đổi giữa các lần chạy, chẳng hạn như Bộ hẹn giờ của Brain.

  • Để có được kết quả giống nhau mỗi lần (hữu ích cho việc thử nghiệm), hãy gieo hạt với một số cố định như srand(1).

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