0

すぐに完了する練習問題があり、この部分をどのように行うか本当に困惑しています。課題はブラックジャック ゲームを作成することです。配列には (2,3,4,5,6,7,8,9,10,10,10,10,11) が含まれ、プレーヤーとディーラーに 2 枚のカードを渡す必要があります。 /numbers each、その配列からランダムに選択された2つの数字をラベルに取得するにはどうすればよいですか???

ありがとうブランドン

4

4 に答える 4

2
public int GetRandomCard()
{
    int[] allCards = {2,3,4,5,6,7,8,9,10,10,10,10,11}
    Random random = new Random();
    int i = random.Next(0, 12);
    return  allCards[i];
}

これで始められるはずです...

Label1.Text = GetRandomCard.ToString()

また、配列の長さは 52 で、各 int にはカードが割り当てられている必要があります。これは ace を取得するのに役立ちます。また、これらの int を画像に変換したい場合は、ランダムな量のスーツが取得されます。

于 2013-06-11T17:04:18.680 に答える
2

これを行う 1 つの方法は、アレイでFisher-Yates shuffleを実行し、最初の 2 つの項目を選択することです。

here から実装を選択できます。必要なのは、配列を に渡しShuffle、シャッフルされた配列から最初の 2 つの項目を選択することだけです。

于 2013-06-11T17:04:39.580 に答える
0
    int[] array = new int[] { 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11 };
    Random r = new Random();
    int cardIndex = r.Next(0, array.Length);
于 2013-06-11T17:12:37.237 に答える
0

からの戻り値random.next(0, array.length)をインデックスとして使用して、配列から値を取得します

int start = random.Next(0, your_array.Length);
 Label.Text=your_array[start];
于 2013-06-11T17:09:38.170 に答える