我正在研究一個名爲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