Hallo Arbeiten an einem Pokerspiel. Ich habe meine Karten zufällig aus einer Datei aufgerufen, aber ich möchte, dass es keine Duplikate gibt. zum Beispiel keine 2 5 Schläger oder 2 Pik-Piken in der gleichen Hand. Das ist im Grunde, was ich zu tun versucht, und wenn ich das getan zu erhalten, sollte mein Spiel Hier istZufällige Bilder von Datei ohne Duplizieren
string[] CardDisplay = new string[5];
for (int i = 0; i < 5; i++)
{
CardDisplay[i] = getRandomImage();
}
PokerCard[0] = PokerCard1.ImageUrl = Path.Combine("~/GameStyles/VideoPoker/Images/Poker/", CardDisplay[0]);
PokerCard[1] = PokerCard2.ImageUrl = Path.Combine("~/GameStyles/VideoPoker/Images/Poker/", CardDisplay[1]);
PokerCard[2] = PokerCard3.ImageUrl = Path.Combine("~/GameStyles/VideoPoker/Images/Poker/", CardDisplay[2]);
PokerCard[3] = PokerCard4.ImageUrl = Path.Combine("~/GameStyles/VideoPoker/Images/Poker/", CardDisplay[3]);
PokerCard[4] = PokerCard5.ImageUrl = Path.Combine("~/GameStyles/VideoPoker/Images/Poker/", CardDisplay[4]);
public string getRandomImage()
{
string[] fileNames = Directory.GetFiles(MapPath("~/GameStyles/VideoPoker/Images/Poker/"));
int CurrentPick;
CurrentPick = rand.Next(fileNames.Length);
string CardToShow = fileNames[CurrentPick];
return Path.GetFileName(CardToShow);
}
Hier einige der Code fertig ist ein Screenshot von dem, was ich habe
Sie verfolgen Sie haben welche Karten halten konnte bereits gezogen und wählen Sie erneut eine Zufallszahl, wenn einer von denen kommt. – itsme86
"Generieren von Zufallszahlen ohne Duplikate" schon oft gefragt. Könnte Duplikat von http sein: //stackoverflow.com/questions/273313/randomize-a-listt ... –
Warum nicht folgen Sie der * ursprünglichen Prozedur *: Laden Sie alle Bilder in eine Sammlung (sagen, Array) - * pack *; dann * shuffle * die Sammlung; endlich, * Deal * - nimm die ersten 5 Karten? Wenn die 6. Karte benötigt wird, nimm den Gegenstand des 6. Feldes. –