すぐに完了する練習問題があり、この部分をどのように行うか本当に困惑しています。課題はブラックジャック ゲームを作成することです。配列には (2,3,4,5,6,7,8,9,10,10,10,10,11) が含まれ、プレーヤーとディーラーに 2 枚のカードを渡す必要があります。 /numbers each、その配列からランダムに選択された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 を画像に変換したい場合は、ランダムな量のスーツが取得されます。
これを行う 1 つの方法は、アレイでFisher-Yates shuffleを実行し、最初の 2 つの項目を選択することです。
here から実装を選択できます。必要なのは、配列を に渡しShuffle
、シャッフルされた配列から最初の 2 つの項目を選択することだけです。
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);
からの戻り値random.next(0, array.length)
をインデックスとして使用して、配列から値を取得します
int start = random.Next(0, your_array.Length);
Label.Text=your_array[start];