Random Verständnisproblem



  • Hallo (:

    Ich arbeite derzeit mit dem C++ Builder v6 und habe ein Verständnisproblem, was die Funktion random() angeht.

    Genauer, es geht um diesen (simplen) Code:

    randomize();
    Zahl1 = random(1000);
    Zahl2 = random(1000);
    Label1->Caption = IntToStr(Zahl1);
    Label2->Caption = IntToStr(Zahl2);
    

    Starte ich das Generieren der Zufallszahlen via Button, benötigt es immer zwei Mausklicks, bis auf meinem Label die nächste Zufallszahl steht, dabei sollte diese bei jedem Mausklick auf den Button neu erzeugt und angezeigt werden.

    Kennt dazu jemand eine Erklärung?

    Edit: Es scheint als wenn man zu schnell auf den Button klickt, dieser eine "Art" Rekationszeit benötigt, bis er die nächste Zahl auf dem Label anzeigt.



  • Hallo

    Mit dem randomize startest du den Generator immer wieder neu. Das solltest du nur genau einmal beim Start des Programms machen, nicht jedesmal wenn du eine Zahl ziehst.
    Die "Reaktionszeit" ist leicht erklärbar : Der Generator randomize nimmt die aktuelle Zeit als Ausgangswert für die Reihe der noch zu ziehenden Zufallszahlen. Wenn sich die Zeit seit dem letzten randomize nicht geändert hat (Intervall eine Sekunde), fängt die Reihe wieder mit der gleichen Zahl an.

    bis bald
    akari



  • Vielen Dank für die verständliche Erklärung.
    Es folgt dalso daraus das ich die Funktion randomize() einfach außerhalb des ButtonClick-Events stelle. Einfach aber genial *g


Anmelden zum Antworten