AutoIt.@ - Hilfe

Zu der Funktionsliste

Random

Generiert eine unechte zufällige Kommazahl.

Random ( [ <double> $Minimum = 0 [ , <double> $Maximum = 1 [ , <bool> $Flagge = False ] ] ] )

Parameter

ParameterTypStandardwertBeschreibung
$Minimumdouble (Kommazahl)0[optional] Die kleinste Zahl welches generiert werden darf.
$Maximumdouble (Kommazahl)1[optional] Die größte Zahl welches generiert werden darf.
$Flaggeboolean (Wahrheitswert)False[optional] Falls die Flagge 1 (True) ist, dann wird ein Integer zurückgegeben (ganze Zahl). Standard: 0 (False), somit eine Kommazahl (double)

Rückgabewert

Bei Erfolg: Gibt eine unechte zufällige Zahl zwischen $Minimum und $Maximum zurück.
Bei Fehler: Gibt 0 zurück und setzt @error auf 1, falls unmögliche Parameter übergeben wurden.

Bemerkung

Normalerweise arbeitet Random() nur mit Dezimalzahlen/Kommazahlen. Wenn aber nur ganze Zahlen zurückgegeben werden sollen, kann man die $Flagge auf 1 setzen. Falls nur $Minimum angegeben wurde (z.B. Random(5)), so wird dieser als $Maximum interpretiert, d.h. bei Random(5) werden Dezimalzahlen zwischen 0 und 5 zurückgegeben. Der Rückgabewert gibt Zahlen zwischen $Minimum und $Maximum INKLUSIVE zurück, falls $Flagge 1 ist. Falls nicht, so sind die Zahlen größer als $Minimum, aber kleiner oder gleich $Maximum. Wenn ganze Zahlen benutzt werden, muss die Differenz zwischen $Minimum und $Maximum kleiner als 2 147 483 648 (2^31) sein.

In Verbindung stehende Befehle

Round
SRandom

Beispiel 1    

; Münze werfen
If Random() < 0.5 Then ; Gibt eine Zahl zwischen 0 und 1 zurück.
$Message = "Kopf, 50% Gewinn"
Else
$Message = "Zahl, 50% Verlust"
Endif
MsgBox(0, "AutoIt.@", "Münze geworfen: " & $Message)

Beispiel 2    

; Würfeln
MsgBox(0, "AutoIt.@", "Es wurde eine " & Random(1, 6, 1) & " gewürfelt.")

Beispiel 3    

; Kleines Minispiel
$Geld = 98
 
$GeldWechsel = Random(-10, 10, 1) ; Generiert eine ganze Zahl zwischen -10 und 10
$Geld += $GeldWechsel
If $GeldWechsel < 0 Then
MsgBox(4096, "AutoIt.@", "Dein Geldbesitz ist gesunken auf " & $StockPrice & "?")
ElseIf $StockPriceChange > 0 Then
MsgBox(4096, "AutoIt.@", "Dein Geldbesitz ist gestiegen auf " & $StockPrice & "?")
Else
MsgBox(4096, "AutoIt.@", "Dein Geldbesitz ist geblieben auf " & $StockPrice & "?")
Endif

Beispiel 4    

; Zufälliger Buchstabe
If Random() < 0.5 Then
; Großbuchstaben
$Buchstabe = Chr(Random(Asc("A"), Asc("Z"), 1))
Else
; Kleinbuchstaben
$Buchstabe = Chr(Random(Asc("a"), Asc("z"), 1))
Endif