Snelle tip verkrijg een willekeurig getal binnen een opgegeven bereik met AS3

We moeten vaak een willekeurig gegenereerd nummer gebruiken voor bepaalde situaties; gebruik makend van Math.random () * n zal meestal de truc doen, maar het berekent alleen een getal van 0 tot n. Wat als we een nummer nodig hebben dat geen 0 geeft als minimumwaarde? Hoe kun je een willekeurig getal tussen 100 en 1000 genereren? Ik zal je laten zien hoe je het moet doen in deze Quick Tip.

Eindresultaat

Dit voorbeeld demonstreert de functie die we gaan maken:

Voer twee getallen in, gescheiden door een ',' en druk op de willekeurige knop.


Stap 1: Kort overzicht

Met behulp van een functie die is gemaakt in ActionScript 3, berekenen we een getal tussen twee waarden. Deze waarden worden als parameters doorgegeven en gebruikt in de klasse Math om een ​​willekeurig getal te genereren.


Stap 2: Maak een nieuw bestand

Open Flash en maak een nieuw Flash-bestand (ActionScript 3.0).


Stap 3: Open het actiescherm

druk op Optie + F9 of ga naar Venster> Acties om het actiescherm te openen.


Stap 4: Functie-verklaring

Een functie declareren en een naam geven randomRange; deze functie retourneert het willekeurige nummer, dus stel het retourneertype in op Aantal.

 function randomRange (): Number 

Stap 5: Parameters instellen

Er worden twee parameters gebruikt om het aantal te berekenen.

  • minnum: De minimumwaarde die moet worden geretourneerd
  • maxNum: De maximale waarde die moet worden geretourneerd
 function randomRange (minNum: Number, maxNum: Number): Number 

Stap 6: Schrijf de hoofdfunctie

Dit is de functie met de werkelijke willekeurig nummer generator lijn. De kracht van Math wordt gebruikt om het nummer te genereren.

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

Stap 7: Hoe het werkt

We hebben onze functie voor het genereren van willekeurige getallen, maar wat doet deze functie?

Bekijk de volgende afbeelding voor een beter idee:

In het voorbeeld van de afbeelding, als Math.random () minder dan 0,5 was, zou het resultaat 550 zijn.


Stap 8: Test met een trace

Een eenvoudige manier om de functie te testen, is om a te gebruiken spoor() functie. Zie de onderstaande code:

function randomRange (minNum: Number, maxNum: Number): Number return (Math.grond (Math.random () * (maxNum - minNum + 1)) + minNum);  trace (randomRange (10, 20)); // Een getal tussen 10 en 20

Stap 9: Voorbeeld

Dit is een werkend voorbeeld, het gebruikt een knop om het nummer te berekenen en weer te geven in a TextField.

 / * De randomRange-functie * / function randomRange (minNum: Number, maxNum: Number): Number return (Math.grond (Math.random () * (maxNum - minNum + 1)) + minNum);  / * De acties die worden uitgevoerd wanneer de knop wordt ingedrukt * / functieknop Action (e: MouseEvent): void // Een array slaat de getallen in het tekstveld op var n: Array = inputText.text.split ("," ); // Bereken het aantal op basis van de invoer, converteer het resultaat naar een tekenreeks // en verzend die tekenreeks naar het tekstveld generatedNumber.text = String (randomRange (n [0], n [1]));  // Knop gebeurtenislistener toevoegen knop ButtonBadton.addEventListener (MouseEvent.MOUSE_UP, buttonAction);

Voer twee getallen in, gescheiden door een ',' en druk op de willekeurige knop.


Conclusie

Dit is een eenvoudig voorbeeld van hoe u deze functie kunt gebruiken; experimenteer en gebruik het in uw eigen projecten!

Bedankt voor het lezen!