我正在写一个有趣的小文字冒险,我有一个场面,人物能够从河里钓鱼。我试图让他钓了几条鱼在一个时间,但是当我运行该代码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;
}
}
}
如果你正在使用C#的随机类,你应该可以做这样的事情:Random rnd = new Random(); amount = rnd.Next(1,7);' –
看到这个:http:// stackoverflow。 COM /问题/ 3975290 /生产-一个随机数-IN-A-范围,使用-C-锐 –
'Input.GetKeyDown'看起来像Unity3d,如果这是Unity3d你必须标记为编辑添加到您的问题。 –