如何从给定数组中随机返回数字到标签中

时间:2013-06-11 17:00:11

标签: c# arrays random

我很快就会完成练习,我真的很困惑我将如何做这部分。练习是创建一个BlackJack游戏,我的阵列包括(2,3,4,5,6,7,8,9,10,10,10,10,11),我需要给玩家和经销商2张牌/ number each,如何从该Array中随机选择2个数字到标签???

由于 布兰登

4 个答案:

答案 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);