2017-04-10 41 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