Astuce Obtenir un nombre aléatoire dans une plage spécifiée à l'aide d'AS3

Nous avons souvent besoin d'utiliser un nombre généré aléatoirement pour certaines situations; en utilisant Math.random () * n fera habituellement l'affaire, mais il ne calculera qu'un nombre compris entre 0 et n. Que faire si nous avons besoin d'un nombre qui ne donne pas 0 comme valeur minimale? Comment pouvez-vous générer un nombre aléatoire compris entre 100 et 1 000? Je vais vous montrer comment le faire dans cette astuce.

Résultat final

Cet exemple montre la fonction que nous allons créer:

Entrez deux nombres séparés par un ',' et appuyez sur le bouton aléatoire.


Étape 1: bref aperçu

En utilisant une fonction créée dans ActionScript 3, nous allons calculer un nombre entre deux valeurs. Ces valeurs seront transmises en tant que paramètres et utilisées avec la classe Math pour générer un nombre aléatoire..


Étape 2: Créer un nouveau fichier

Ouvrez Flash et créez un nouveau fichier Flash (ActionScript 3.0)..


Étape 3: Ouvrez le panneau Actions

presse Option + F9 ou aller à Fenêtre> Actions ouvrir le panneau d'actions.


Étape 4: Déclaration de fonction

Déclarez une fonction et nommez-la randomRange; cette fonction renverra le nombre aléatoire, alors définissez le type de retour sur Nombre.

 function randomRange (): Number 

Étape 5: Définir les paramètres

Deux paramètres seront utilisés pour calculer le nombre.

  • minNum: La valeur minimale à retourner
  • maxNum: La valeur maximale à renvoyer
 function randomRange (minNum: Number, maxNum: Number): Nombre 

Étape 6: écrivez la fonction principale

Ceci est la fonction avec le réel générateur de nombres aléatoires ligne. La puissance de Math est utilisée pour générer le nombre.

 function randomRange (minNum: Number, maxNum: Number): Number return (Math.floor (Math.random () *) (maxNum - minNum + 1)) + minNum); 

Étape 7: Comment ça marche

Nous avons notre fonction de générateur de nombres aléatoires, mais que fait cette fonction?

Jetez un oeil à l'image suivante pour avoir une meilleure idée:

Dans l'exemple de l'image, si Math.random () était inférieur à 0,5, le résultat serait 550.


Étape 8: Testez avec une trace

Un moyen simple de tester la fonction est d’utiliser un trace() une fonction. Voir le code ci-dessous:

function randomRange (minNum: Number, maxNum: Number): Number return (Math.floor (Math.random () *) (maxNum - minNum + 1)) + minNum);  trace (randomRange (10, 20)); // Un nombre compris entre 10 et 20

Étape 9: exemple

Ceci est un exemple de travail, il utilise un bouton pour calculer le nombre et l’afficher dans un Champ de texte.

 / * La fonction randomRange * / function randomRange (minNum: Number, maxNum: Number): Number return (Math.floor (Math.random () *) (minNum - minNum + 1)) + minNum);  / * Actions à exécuter lorsque le bouton est enfoncé * / function buttonAction (e: MouseEvent): void // Un tableau stockera les nombres dans le champ de texte var n: Array = inputText.text.split ("," ) // Calcule le nombre en fonction de l'entrée, convertit le résultat en chaîne // et envoie cette chaîne au champ de texte généréNuméro.text = String (randomRange (n [0], n [1]));  // Ajouter l'écouteur d'événements du bouton actionButton.addEventListener (MouseEvent.MOUSE_UP, buttonAction);

Entrez deux nombres séparés par un ',' et appuyez sur le bouton aléatoire.


Conclusion

Ceci est un exemple de base de la façon dont vous pouvez utiliser cette fonction. expérimenter et l'utiliser dans vos propres projets!

Merci d'avoir lu!