Problem mit random()



  • Hi,

    Ich hab ne Methode, die Zufallszahlen erzeugen soll, und diese in ein Array abspeichert:

    public int[] Gener_Zufall(int Anz_Wuerfel)
    {
           int[] Zufall=new int[Anz_Wuerfel];
           Random rand = new Random();
           for(int i=0;i<Anz_Wuerfel;i++)
           {
               Zufall[i]=rand.Next(5)+1;
           }
           return Zufall;
    }
    

    Nun mein Prob, ich muss diese Funktion fuer 2 arrays aufrufen, nur sind die Zufallszahlen in beiden Arrays dann gleich. Hier der Aufruf:

    Sys_Wuerfel.Set_Befr_Wuerfel (Gener_Zufall(Anz_Wuerfel_Befr));
    Sys_Wuerfel.Set_Bese_Wuerfel (Gener_Zufall(Anz_Wuerfel_Bese));
    

    Nun meine Frage, wie kann ich das umgehen?
    Kann man es wie in C machen, dass man die Zufallszahlen Per TIME erzeugt?



  • Beispiel aus dem C# Codebook:

    public byte[] RandomNumbers(int count, byte min, byte max)
    {
        RNGCryptoServiceProvider csp = new RNGCryptoServiceProvider();
        byte[] numbers = new Byte[count];
        csp.GetBytes(numbers);
    
        double divisor = 256F / (max - min + 1);
        if (min > 0 || max < 255)
            for (int i = 0; i < count; i++)
                numbers[i] = (byte)((numbers[i] / divisor) + min);
    
        return numbers;
    }
    


  • Ich habe nun eine Lösung gefunden:

    Ich erzeuge den Random schon am anfang und uebergebe dann rand einfach mit.


Anmelden zum Antworten