2016-03-12 55 views
1

我創建了一個名爲超級英雄的類,並賦予它以下屬性: string Name,int Life,int Punch,int Kick和int Hyper Punch。使用C#,我怎樣才能將變量設置爲一個範圍內的隨機數?

然後在我的主程序裏面我創建了一個List。

static void Main(string[] args) 
{ 
List<Superhero> listOfHeroes = new List<Superhero>; 
Superhero goodGuy = new Superhero(); 
goodGuy.Name = "Super Man"; 
goodGuy.Life = 100; 
goodGuy.Punch =???? 
} 

我希望能夠在一個數字範圍內的「????」是。我的理論是,用戶可以從列表中選擇一個英雄,並能夠使用他的戰鬥。當他選擇英雄投擲拳(或踢球或其他)時,則將一個設定範圍內的隨機數分配給該屬性。

所以如果這是一個雙人回合制遊戲,那麼在使用屬性打擊時,會通過打孔的價值從另一個人的生命財產中帶走。這是一種可能性,還是我錯誤地解決了這個問題?

僞隨機是好的。

順便說一句,我在新兵訓練營的第4周...所以如果沒有任何意義,我會嚴厲地吼我,所以我可以學習更快的大聲笑。

+0

'int value = Random.Next(min,max-1)' – Plutonix

+0

@Plutonix當我將該代碼放入時,出現錯誤消息「非靜態字段,方法或屬性需要對象引用'Random.Next(int,int)'「這是因爲我沒有創建一個Random實例嗎? – AP1

回答

0

則需要使用初始化隨機實例:

Random rand = new Random(DateTime.Now); 

然後你可以使用:

int value = rand.Next(min, max-1) 

如果你沒有隨機實例的全局初始化,你將有永遠的相同的號碼使用:

for (int i = 0; i < 10; i++) 
{ 
    var t = (new Random()).Next(0, 100); 
    Console.WriteLine(t); 
} 

將返回時間相同的值

相關問題