サーチ…
構文
random(max)// 0(含む)からmax(これを含まない)までの(長い)擬似乱数を返します。
random(min、max)//最小値と最小値の間の(長い)擬似乱数を返します。
randomSeed(seed)//擬似乱数ジェネレータを初期化し、シーケンス内の指定された点から開始させます。
パラメーター
パラメータ | 詳細 |
---|---|
分 | random() 関数によって生成される可能な最小値(両端を含む)です。 |
最大 | random() 関数によって生成される可能な最大値(排他的)。 |
シード | random() 関数をシャッフルするために使用されるシード。 |
備考
randomSeed()
が固定値(例えばrandomSeed(5)
)で呼び出された場合、スケッチによって生成される乱数のシーケンスは、実行されるたびに繰り返されます。ほとんどの場合、ランダムなシードが優先されます。これは、未接続のアナログピンを読み取ることで取得できます。
乱数を生成する
random()
関数を使って擬似乱数を生成することができます:
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);
}
種を設定する
random()
によって生成された一連の数値が異なることが重要な場合は、 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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow