Geschrieben von battle-soft am 01.09.2005, 19:25

Ich vermisse immer noch ein RICHTIGES Tutorial für einen Zufallsgenerator. Alles was ich bisher gefunden habe, ist ein Tutorial, da ist der Zufallsgenerator SEHR SEHR umständlich erklärt.
Hier die einfache Version:

Randomize
Aus = Int(Rnd * (Max - Min) + Min)

Und noch die Erklärung:
Randomize initialisiert den Zufallsgenerator. Diesen Befehl muss man nur einmal ausführen, damit man auch sicher immer verschiedene - zufällige - Ergebnisse erhält. Man kann nach Randomize auch eine Zahl angeben (z. b. "Randomize 123"), tut man dies nicht, wird automatisch die Uhrzeit genommen.
Int ist eine Funktion, die eine Zahl rundet.
Rnd ist eine Funktion, die eine Zufallszahl zwischen 0 und 1 ausgibt, die aus der nach Randomize angegeben Zahl berechnet wird.
Nun multipliziert man die Zahl mit dem Maximum der gewünschten Zufallszahl, muss davon aver das Minimum abziehen, weil man dieses wieder dazurechnet.

Angenommen:
Max = 10
Min = 1

Die Rechnung:
Aus = Int(Rnd * 9 + 1)

Das Minimale Ergebnis ist dann der Fall, wenn Rnd 0 zurückgibt:
0 * 9 = 0
0 + 1 = 1 - Das Minimum

Das Maximale ist bei 1 gegeben:
1 * 9 = 9
9 + 1 = 10

So funktioniert das Ganze. Damit hat in dem Beispiel Aus einen Wert zwischen 1 und 10.

Nun kann man, wenn eine zufällige Aktion durchgeführt werden soll, das ganze mit Select Case verzweigen.
Ein Beispiel, das zufällig eine Meldung für sonniges, böiges, regnerisches, oder stürmisches Wetter ausgibt:

Dim ZufallsZahl as Integer

ZufallsZahl = Int(Rnd * 3)

Select Case ZufallsZahl
Case 0
Msgbox "Sonniges Wetter"
Case 1
Msgbox "Böiges Wetter"
Case 2
Msgbox "Regnerisches Wetter"
Case 3
Msgbox "Stürmisches Wetter"
End Select

Das wars. Bitte verzeiht mir eventuelle Rechtschreibfehler, bei Nachfragen PN an mich, und schaut auch auf meine Homepage www.battlesoft.de.vu. Ich hoffe, ich konnte wenigstens irgendeinem Anfänger weiterhelfen...
Philipp Keck

Bewertung Anzahl
6
28,6 %
2 Bewertungen
5
28,6 %
2 Bewertungen
3
28,6 %
2 Bewertungen
2
14,3 %
1 Bewertungen