Bir poker projesi üzerinde çalışıyorum. Herhangi bir kopya olmadan bir dosyadan rasgele kartlar oluşturmaya çalışıyorum. 5 kartlı tip oyun gibi bir şey, ben sadece bir çeşit 5 ya da aynı paket içinde iki kart bir çift elde etmek mümkün olmasını istemiyorum. İşte Rastgele resim oluşturucu kopya olmadan C#
ben dosyadan görüntüleri çağrı nereden rastgele görüntü yöntemi açıkçası benim kodfor (int i = 0; i < 5; i++)
{
CardDisplay[i] = getRandomImage();
}
if (!IsPostBack)
{
Discard.Enabled = false;
PokerCard1.Enabled = false;
PokerCard2.Enabled = false;
PokerCard3.Enabled = false;
PokerCard4.Enabled = false;
PokerCard5.Enabled = false;
Hold1.Visible = false;
Hold2.Visible = false;
Hold3.Visible = false;
Hold4.Visible = false;
Hold5.Visible = false;
PokerCard1.ImageUrl = Path.Combine("/My_Portfolio/App_Themes/Portfolio/Images/Poker/", CardDisplay[0]);
PokerCard2.ImageUrl = Path.Combine("/My_Portfolio/App_Themes/Portfolio/Images/Poker/", CardDisplay[1]);
PokerCard3.ImageUrl = Path.Combine("/My_Portfolio/App_Themes/Portfolio/Images/Poker/", CardDisplay[2]);
PokerCard4.ImageUrl = Path.Combine("/My_Portfolio/App_Themes/Portfolio/Images/Poker/", CardDisplay[3]);
PokerCard5.ImageUrl = Path.Combine("/My_Portfolio/App_Themes/Portfolio/Images/Poker/", CardDisplay[4]);
}
public string getRandomImage()
{
string[] fileNames = Directory.GetFiles(MapPath("/My_Portfolio/App_Themes/Portfolio/Images/Poker/"));
string CardToShow = fileNames[rand.Next(fileNames.Length)];
return Path.GetFileName(CardToShow);
}
bir bakmak. İşte
o
teşekkür neye benzediğini bir ekran görüntüsü olduğunu ve herhangi bir yardım büyük
10 En basit yol, daha önce kazanılmış olan kartlarda iade değerinin bulunmadığını kontrol etmektir. Sağlam bir algoritma, tüm kartları bir diziye koyar, karıştırır ve ilk beş kartı alır. –
Gerçek dünyada, karıştırdığınız bir kart destesi var ve daha sonra destenin tepesinden ilgileniyorsunuz. Muhtemelen bu modele bağlı kalmalısın. –
Bence Preston'u dinlemeli ve süreci yeniden düşünme/"dışsallaştırma" yerine gerçek dünya sürecini taklit etmelisiniz. Daha sonra yardımcı olabilir. Örneğin. her kart bir nesne ise, "konum" özelliğine veya benzerine sahip olabilir (hangi oyuncu tutuyorsa, ya da atılan küme içinde ya da güvertede, vs.). Kartlar yeniden karıştırılırsa (pokerde bunun olup olmadığını bilmiyorum), atılan destedeki tüm öğeleri tekrar rastgele seçersiniz ve güverte, vb. Hiçbir kart kalmazdı, bilirsiniz. – Jonathan