Hallo,
Ich arbeite momentan recht intensiv an meinem Poker-Spiel und stehe da vor einem Rätsel:
Zu Beginn einer Spielrunde erhalten alle Spieler zwei Karten. Das funktioniert folgendermaßen:
Das befindet sich übrigens alles in der Round-Klasse, die für jede Runde neu erzeugt wird.
Nun das Problem: Es wird immer die selbe Zufallszahl erzeugt und ich habe einfach keine Ahnung wieso. Würde ich die Karten nachdem sie ermittelt wurden nicht vom Stapel löschen, bekommen alle Spieler die identischen Karten. Ich bin echt ratlos und ich hoffe mir kann jemand sagen, wieso das so ist und wie man das Problem beheben kann
Vielen Dank schon mal im Vorraus
Switcherlapp97
Ich arbeite momentan recht intensiv an meinem Poker-Spiel und stehe da vor einem Rätsel:
Zu Beginn einer Spielrunde erhalten alle Spieler zwei Karten. Das funktioniert folgendermaßen:
VB.NET-Quellcode
- 'Random Objekt erstellen
- Private _rnd As New Random
- For Each p As Player In Players
- For i As Integer = 0 To 1
- 'Zufallszahl erzeugen; Maximalwert = Anzahl der Karten auf dem Kartenstapel
- Dim i As Integer = _rnd.Next(KartenStapel.Count - 1)
- 'Der Hand des Spielers die Karte vom Kartenstapel hinzufügen
- p.MyHand.Cards.Add(KartenStapel(i))
- 'Die ausgewählte Karte vom Kartenstapel entfernen
- KartenStapel.RemoveAt(i)
- Next
- Next
Das befindet sich übrigens alles in der Round-Klasse, die für jede Runde neu erzeugt wird.
Nun das Problem: Es wird immer die selbe Zufallszahl erzeugt und ich habe einfach keine Ahnung wieso. Würde ich die Karten nachdem sie ermittelt wurden nicht vom Stapel löschen, bekommen alle Spieler die identischen Karten. Ich bin echt ratlos und ich hoffe mir kann jemand sagen, wieso das so ist und wie man das Problem beheben kann
Vielen Dank schon mal im Vorraus
Switcherlapp97