我有一个练习要很快完成,我真的很困惑我将如何做这部分。练习是创建一个二十一点游戏,我的数组包括(2,3,4,5,6,7,8,9,10,10,10,10,11),我需要给玩家和庄家 2 张牌/numbers 每个,我如何从该数组中随机选择 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 转换为图像,您将获得随机数量的套装。
一种方法是在阵列上运行Fisher-Yates 洗牌,然后选择前两项。
您可以从这里获取一个实现。您所需要做的就是将您的数组传递给Shuffle
,然后从洗牌数组中挑选两个初始项目。
使用 fromrandom.next(0, array.length)
作为索引的返回值从数组中获取值
int start = random.Next(0, your_array.Length);
Label.Text=your_array[start];
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);