2017-04-10 111 views
0

我正在寫一個有趣的小文字冒險,我有一個場面,人物能夠從河裏釣魚。我試圖讓他釣了幾條魚在一個時間,但是當我運行該代碼Random.Range方法保持下去,直到它通過我的門檻。我嘗試了幾次循環,看看能否讓它運行一次,但沒有這樣的運氣。C#Random.Range不會停止

我敢肯定,我失去了一些東西很明顯,但我一直運行到同樣的問題。首先,我嘗試了一個for循環,下面的代碼使用了while循環,但都沒有效果。非常感謝您的幫助。

這裏是我有問題的代碼:

public void catch_fish() 
    { 
     if (fish > 1000) 
     { 
      text.text = "Rock-Smasher already has a lot of fish! You should cook those first! \n\n " + 
      "Press Space to back to the river"; 
      if (Input.GetKeyDown(KeyCode.Space)) 
      { 
       currentState = States.river; 
      } 
     } 
     else 
     { 
      int amount = 0; 
      amount = Random.Range(0, 7);     
      fish = fish + amount; 
      text.text = "You peer down into the water and you quickly thrust your hand into the water, catching " + fish + " fish. Wow! \n\n " + 
       "Press R to go back to the river, or F to catch more fish"; 
      if (Input.GetKeyDown(KeyCode.R)) 
      { 
       currentState = States.river; 
      } 
      else if (Input.GetKeyDown(KeyCode.F)) 
      { 
       currentState = States.catch_fish; 
      } 
     } 
    } 
+0

如果你正在使用C#的隨機類,你應該可以做這樣的事情:Random rnd = new Random(); amount = rnd.Next(1,7);' –

+0

看到這個:http:// stackoverflow。 COM /問題/ 3975290 /生產-一個隨機數-IN-A-範圍,使用-C-銳 –

+2

'Input.GetKeyDown'看起來像Unity3d,如果這是Unity3d你必須標記爲編輯添加到您的問題。 –

回答

0

(發佈代表OP)的

我想使用隨機通常會繼續前進,但我只是將RNG與Input.GetKeyDown方法聯繫起來,它現在會產生預期的結果。

+1

謝謝,併爲此感到抱歉。我仍然在學習編程基礎知識,我從來沒有用過Stackoverflow.com。我很感謝大家的幫助,讓我引導我走向需要去的地方 – Yearlongjester

+0

不用擔心,謝謝你想發佈你的答案@年 - 幫助未來的讀者是我們在這裏的目標! – halfer