Zufallszahlen unter C++

Von: , Frage gestellt am Fr, 21. Jul 2000

Hi

Ich musste zu meinem Bedauern feststellen, dass die gelieferte Zufallsgeneratorfunktion aus der stdlib.h sehr schlecht ist, sie hat bei jedem Programmstart die gleiche Reihenfolge.. Was bei einem Spiel sehr sehr ungünstig ist.

Wer kann mir helfen?

6 Antworten zu dieser Frage

  1. Antwort von nach 30 Minuten hilfreich
    Re: Zufallszahlen unter C++

    irgendwo gibt es zum initialisieren Randomize();
    und die Zufallszahlen kommen dann irgendwie mit Random(Zahl); [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 47 Minuten hilfreich
      Re^2: Zufallszahlen unter C++

      Bei C++ heisst es srand(x); mit x>1
      Das erschafft mir zwar innerhalb eines Durchlaufes unterschiedliche Zahlen, starte ich den Durchlauf erneut, habe ich genau die gleiche Zahlenreihenfolge...

      MfG Dennis [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  2. Antwort von nach einer Stunde hilfreich
    Re: Zufallszahlen unter C++

    Ich musste zu meinem Bedauern feststellen, dass die gelieferte
    Zufallsgeneratorfunktion aus der stdlib.h sehr schlecht ist,
    sie hat bei jedem Programmstart die gleiche Reihenfolge..
    Offenbar hast Du vergessen den Zufallszahlengenerator mit srand( (unsigned) time(NULL) ); zu initialisieren.

    • Antwort von nach 2 Stunden hilfreich
      Re^2: Zufallszahlen unter C++

      Ich habe ihn so initialisiert, wie ich es in der MSDN gefunden habe: srand(2); [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

      • Antwort von nach 3 Stunden hilfreich
        Re^3: Zufallszahlen unter C++

        Ich habe ihn so initialisiert, wie ich es in der MSDN gefunden
        habe: srand(2);
        Wenn man bei srand() eine feste Zahl als Argument übergibt, dann erhält man logischerweise auch immer dieselbe Zufallsreihe. Deshalb ist es üblich den Zufallsgenerator mit der aktuellen Zeit zu starten.

        • Antwort von nach 3 Stunden hilfreich
          Ich danke Dir, irgendwie logisch...<B>(o.T.)

          (o.T.)!

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!