我很快就会完成练习,我真的很困惑我将如何做这部分。练习是创建一个BlackJack游戏,我的阵列包括(2,3,4,5,6,7,8,9,10,10,10,10,11),我需要给玩家和经销商2张牌/ number each,如何从该Array中随机选择2个数字到标签???
由于 布兰登
答案 0 :(得分:2)
一种方法是在阵列上运行Fisher-Yates shuffle,然后选择前两项。
您可以选择实施from here。您只需将数组传递给Shuffle
,然后从混洗数组中选择两个初始项。
答案 1 :(得分:1)
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应分配一个卡。这将有助于获得aces,而且如果你想将这些int转换为图像,你将获得随机数量的套装。
答案 2 :(得分:0)
使用random.next(0, array.length)
的返回值作为索引从数组中获取值
int start = random.Next(0, your_array.Length);
Label.Text=your_array[start];
答案 3 :(得分: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);