[英]C# Blackjack Game
我想讓我的二十一點游戲給我一張新卡,當我按下按鈕Draw A Card(命中)時
private void btnDraw_Click(object sender, EventArgs e)
{
Random rdn = new Random();
int YourCardOne = rdn.Next(1, 10 + 1);
this.lblYourCardOne.Text = Convert.ToString(YourCardOne);
這是我必須畫一張卡的代碼,當我再次按下按鈕時我想讓它畫另一張卡,但是我不想讓它更改第一張。
我嘗試這樣做,但是每當我按下平局時,它都會更改兩張卡,
private void btnDraw_Click(object sender, EventArgs e)
{
Random rdn = new Random();
int YourCardOne = rdn.Next(1, 10 + 1);
this.lblYourCardOne.Text = Convert.ToString(YourCardOne);
Random rdn1 = new Random();
int YourCardTwo = rdn.Next(1, 10 + 1);
this.lblYourCardTwo.Text = Convert.ToString(YourCardTwo);
也許相反,您可以使用整數列表
你可以像這樣使你的手:
List<int> hand = new List<int>();
然后,當單擊按鈕時,將添加到列表中:
private void btnDraw_Click(object sender, EventArgs e)
{
Random rdn = new Random();
hand.add(rdn.Next(1, 10 + 1));
最好的選擇是嘗試模擬現實世界,而不是嘗試將編程模式應用於您的游戲。 不要使用卡片列表,而是隨機選擇一張。 您不會在二十一點游戲中做到這一點,您總是拿最高的牌。 這意味着您應該有一個Shuffle()
方法,該方法隨機地混合卡片,而另一個方法則是去除頂部卡片。
這是我在學習編程時從Gard游戲中獲得的一些示例代碼,可能會為您提供我對洗牌意味着什么的示例。 在那之后,拿到頂牌的行為是直接的。
int deckSize;
public void Shuffle()
{
Random rand = new Random();
//Swap every card with a random card in the deck
for(int count = 0; count < deckSize; count++)
{
int index = rand.Next(deckSize);
Card swapee = cards[index];
cards[index] = cards[count];
cards[count] = swapee;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.