Jemand hat gerade in der SB von Random gesprochen, da musste ich doch mal eine eigene Zufallsfunktion schreiben.
Was macht se'? Sie erzeugt willkürliche Zahlen. Die Zufälligkeit (geiles Wort), Minimal, Maximal und obs eine Ganzzahl sein soll lässt sich einstellen.
Als Basis für die Rechnung wird übrigens die Ungenauigkeit des "Sleep" Befehls benutzt
Mit Beispiel.
Spoiler anzeigen
ConsoleWrite(_random(2000, 10, 10000000, 1)&@CRLF)
[/autoit] [autoit][/autoit] [autoit]; Funktion: _random($i)
; Beschreibung: Erzeugt eine Zufallszahl nach einer simplen Rechnung
; Paramter $i: Wie viele Iterationen soll die Rechnung haben (min. 5!)
; $min: Zufallszahl von MINIMAL bis maximal
; $max: Zufallszahl von minimal bis MAXIMAL
; $int: Wenn 1 dann wird eine ganze Zahl zurückgegeben
; Erfolg: Zufallszahl wird zurückgegeben
; Fehler: @error = 1 und Rückgabe von -1
; Autor: campweb
Func _random($e, $min, $max, $int)
SetError(0)
If $e <= 5 Then
SetError(1)
Return -1
Else
$Zahl_Alt = natural()/2
$Zahl = natural()
$Iter = $e
For $i = 1 to $Iter
$1 = ($Zahl/$Zahl_Alt) * 23
$2 = 10^8
$3 = 1
$Zahl = (Mod($1, ($2+$3)))
If $i > $Iter-1 Then
If $Zahl < $min Then
Do
$Zahl = $Zahl*4.123456789
Until $Zahl > $min And $Zahl < $max
If $int = 1 Then
Return Int($Zahl)
Else
Return $Zahl
EndIf
ElseIf $Zahl > $max Then
Do
$Zahl = $Zahl/4.123456789
Until $Zahl < $max And $Zahl > $min
If $int = 1 Then
Return Int($Zahl)
Else
Return $Zahl
EndIf
Else
SetError(1)
Return -1
EndIf
EndIf
Next
EndIf
EndFunc
Func natural()
$1 = TimerInit()
Sleep(1)
$2 = TimerDiff($1)
Return $2
EndFunc
MfG, campweb