我正在研究一个名为lingo的小文字游戏,但我现在被卡住了。游戏有两个玩家;每名球员有一张卡,其中有25个数字介于1到70之间:第1组是偶数,第2组是奇数。重复的号码是不允许的。偶数和奇数的随机数字没有重复
创建随机数正在工作,但我没有得到那些偶数和奇数。还删除重复的号码将无法正常工作。我试图把这些数字放在ArrayList中,然后检查数字是否已经在列表中,但它不起作用。
任何帮助,将不胜感激。我正在用C#编程。
我正在研究一个名为lingo的小文字游戏,但我现在被卡住了。游戏有两个玩家;每名球员有一张卡,其中有25个数字介于1到70之间:第1组是偶数,第2组是奇数。重复的号码是不允许的。偶数和奇数的随机数字没有重复
创建随机数正在工作,但我没有得到那些偶数和奇数。还删除重复的号码将无法正常工作。我试图把这些数字放在ArrayList中,然后检查数字是否已经在列表中,但它不起作用。
任何帮助,将不胜感激。我正在用C#编程。
编辑解释:唉,这个数字必须是1和70之间?哈哈,那么不要介意下面的建议;这绝对是过度的。
只需填充70个元素的列表,随机播放它,然后遍历它。
事情是这样的:
List<int> numbers = Enumerable.Range(1, 70).ToList();
Shuffle(numbers); // You can find implementations all over the place.
var evens = numbers.Where(x => x % 2 == 0).Take(25);
var odds = numbers.Where(x => x % 2 == 1).Take(25);
需要25个随机偶数和25个随机奇数?
怎么是这样的:
public static IEnumerable<int> GetInfiniteRandomNumbers()
{
var rand = new Random();
while (true)
{
yield return rand.Next();
}
}
然后25埃文斯和赔率:
var evens = GetInfiniteRandomNumbers().Where(x => x % 2 == 0)
.Distinct()
.Take(25)
.ToList();
var odds = GetInfiniteRandomNumbers().Where(x => x % 2 == 1)
.Distinct()
.Take(25)
.ToList();
创建一个包含数字1到70和shuffle它的列表。这将防止重复。然后,您可以将偶数给予一个团队,将奇数给予另一个团队。
的一种方法是:
如果你描述你的需求正是,张贴代码为你尝试过什么可能有帮助,描述它是如何工作的(发布错误信息,或发布你看到的不良行为),并解释你想要发生的事情。 – 2011-01-06 18:08:13
NOt确实是一个完整的答案,但要检查数字是否均匀,可以通过检查数字%2 == 0,然后数字是偶数来使用模数运算符。 – 2011-01-06 18:12:06