Zufallszahlgenerator
Jens Wolle
- perl
Hallo! Ich bastel grade an einem Perl Programm rum, bei dem ich eine Zufallszahl zwischen 1 und 20 und einmal eine zwischen 1 und 6 generieren möchte. (jaja, ein würfel) Kennt da jemand zufällig den Quellcode für sowas? Wär prima, wenn ihr mir ne "sub" posten könntet. Ok, tschüss erstmal.......Jens
Hallo Jens
Hallo! Ich bastel grade an einem Perl Programm rum, bei dem ich eine Zufallszahl zwischen 1 und 20 und einmal eine zwischen 1 und 6 generieren möchte. (jaja, ein würfel) Kennt da jemand zufällig den Quellcode für sowas? Wär prima, wenn ihr mir ne "sub" posten könntet. Ok, tschüss erstmal.......Jens
print &Zufallszahl(1,20);
print &Zufallszahl(1,6);
sub Zufallszahl
{
srand();
return int(rand($_[1] - $_[0] + 1)) + $_[0];
}
Gruss
Andreas
sub Zufallszahl
{
srand();
return int(rand($_[1] - $_[0] + 1)) + $_[0];
}
hallo andreas,
hälst du es wirklich für sinnvoll, das "srand" innerhalb des sub auszuführen?
Hallo Karl
hälst du es wirklich für sinnvoll, das "srand" innerhalb des sub auszuführen?
Du hast Recht. Falls mehrere Zufallszahlen nacheinander gebraucht werden, würden sie sich natürlich wiederholen.
Gruss
Andreas
rand liefert eine Zufallszahl z. 0 und 0,99999999...
beachte auch den Befehl "srand";
für den würfel:
$x = int(rand(6)+1);
sollte funzen
$x = int(rand(6)+1);
Es ist durchaus sinnvoll, den Zufallsgenerator zu initialisieren, damit er einen möglichst zufallsähnlichen Wert liefert.
Soetwas ist nicht schlecht:
srand (time ^ $$ ^ unpack "%L*", /bin/ps axww /usr/bin/gzip
);
cu,
Peter