Archive for April, 2013

Nombres entiers aléatoires avec pas différent de 1

Thursday, April 11th, 2013

Pour générer un entier aléatoire avec un “pas” différent de 1, on peut faire comme ça:

  1. générer un nombre aléatoire (généralement un float)
  2. le diviser par le pas voulu
  3. l’arrondir
  4. le multiplier par le pas

Ca marche bien si les bornes (ci-dessous 30 et 50) sont des multiples du pas.

Exemple: Pas de 5 entre 30 et 50

void draw() {
  println(round(random(30, 50) / 5) * 5);
}

Si les bornes ne sont pas des multiples du pas, il faut en tenir compte:

  1. calculer la plage (max – min)
  2. générer un nombre aléatoire dans la plage avec un pas comme ci-dessus
  3. ajouter le min

Exemple: Pas de 5 entre 32 et 42

void draw() {
 println(32 + round(random(42 - 32) / 5) * 5);
}