Szukaj…


Składnia

  • random (max) // Zwraca (długą) pseudolosową liczbę od 0 (włącznie) do max (wyłącznie)

  • random (min, max) // Zwraca (długą) pseudolosową liczbę między min (włącznie) i max (wyłącznie)

  • randomSeed (seed) // Inicjuje generator liczb pseudolosowych, powodując jego uruchomienie w określonym punkcie w sekwencji.

Parametry

Parametr Detale
min Minimalna możliwa wartość (włącznie) wygenerowana przez funkcję random() .
max Maksymalna możliwa wartość (wyłączna) do wygenerowania przez funkcję random() .
nasionko Ziarno, które zostanie użyte do przetasowania funkcji random() .

Uwagi

Jeśli funkcja randomSeed() zostanie wywołana ze stałą wartością (np. randomSeed(5) ), sekwencja liczb losowych wygenerowanych przez szkic będzie powtarzana przy każdym uruchomieniu. W większości przypadków preferowane jest losowe ziarno, które można uzyskać, czytając niepodłączony pin analogowy.

Wygeneruj liczbę losową

Funkcja random() może być używana do generowania liczb pseudolosowych:

void setup() {
    Serial.begin(9600);
}

void loop() {
    long randomNumber = random(500);  // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    randomNumber = random(100, 1000); // Generate a random number between 100 and 999
    Serial.println(randomNumber);

    delay(100);
}

Ustawianie nasion

Jeśli ważne jest, aby sekwencja liczb generowana przez random() się różniła, dobrym pomysłem jest określenie zarodka za pomocą randomSeed() :

void setup() {
    Serial.begin(9600);
    
    // If analog pin 0 is left unconnected, analogRead(0) will produce a
    // different random number each time the sketch is run.
    randomSeed(analogRead(0));
}

void loop() {
    long randomNumber = random(500); // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    delay(100);
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow