gpt4 book ai didi

c# - 如何生成随机数然后不再显示该随机数

转载 作者:行者123 更新时间:2023-11-30 13:38:33 30 4
gpt4 key购买 nike

我正在用 C# 编写一个纸牌游戏,一种二十一点游戏,用户按下一个按钮,它发一张牌,该牌的值(value)被添加到一个文本框中。如果文本框的值超过 21,则用户输了。

我在处理纸牌时遇到问题,我生成了一个随机数,比如生成了 5 个显示方 block 5,将方 block 5 的值添加到分数文本框并显示一个图片框(方 block 扑克牌 5)。然而,一旦生成了 5,我就无法再次生成该卡片,我有逻辑了解需要发生什么,我只是不确定实际代码本身,因为我是初学者。

到目前为止,我尝试了 2 种不同的方法,一个列表和一个 bool 值数组,但我仍在苦苦挣扎,有人能在代码方面为我指出正确的方向吗?

List<int> Diamonds = new List<int>();
Random random = new Random();
genRandom = random.Next(0, 5);


while (Diamonds.Contains(genRandom))
{
genRandom = random.Next(0, 5);
break;
}


while (!Diamonds.Contains(genRandom))

if (genRandom == 0)
{
Diamonds.add(0);
score = score += 2;
scoreTextBox.Text = score.ToString();
diamonds2.Show();

}

提前致谢,抱歉语法错误!

最佳答案

我会采取相反的方法,创建一个包含所有可能卡片的集合,然后从集合中随机抽取它们。

假设您有一个名为 Deck 的类,它代表一副卡片组。用 Card 类填充它。现在,当您开始抽牌时,随机选择集合中的一个数字并将该牌从 Deck 中移除。下次抽取相同的随机数时,它将从牌组中抽取一张不同的牌,因为您移除了用过的牌。

请记住生成一个随机数,该数在牌组大小的范围内,每次抽取后该数都会减少。

关于c# - 如何生成随机数然后不再显示该随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16034133/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com