0

我有一个练习要很快完成,我真的很困惑我将如何做这部分。练习是创建一个二十一点游戏,我的数组包括(2,3,4,5,6,7,8,9,10,10,10,10,11),我需要给玩家和庄家 2 张牌/numbers 每个,我如何从该数组中随机选择 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

一种方法是在阵列上运行Fisher-Yates 洗牌,然后选择前两项。

您可以从这里获取一个实现。您所需要做的就是将您的数组传递给Shuffle,然后从洗牌数组中挑选两个初始项目。

于 2013-06-11T17:04:39.580 回答
0

使用 fromrandom.next(0, array.length)作为索引的返回值从数组中获取值

int start = random.Next(0, your_array.Length);
 Label.Text=your_array[start];
于 2013-06-11T17:09:38.170 回答
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 回答