如何使用 Random.Range 的答案将最大值设置为同一 Random.Range 的最大值,直到达到 1



我想创建一个脚本,生成一个随机数(在1(min(和9999(max(之间(,然后我希望随机数成为相同脚本的新最大值。

有没有一种方法可以创建一个方程,或者某种方法可以无限地做到这一点(直到1(。

我想到的唯一解决方案是:

private IEnumerator MyCoroutine()
{
var a  = Random.Range(1, 9999 + 1);
largeText.text = a.ToString();
yield return new WaitForSeconds(2);
if (a > 1)
{
var b  = Random.Range(1, a + 1);
largeText.text = b.ToString();
yield return new WaitForSeconds(2);
if (b > 1)
{
//Then continues 'infinitely'
}
}
}

这是一个解决方案,但我最终遇到了一个非常不需要的脚本的问题。

当然,我有这个脚本所需要的其余部分,它确实有效,但我想知道是否有一个更容易的工作,不需要我写100万行代码。

谢谢!

只需重复使用相同的变量,而不是为每个"创建一个新变量;迭代";并使用while循环:

private IEnumerator MyCoroutine()
{
var currentRandom = 9999;
while(currentRandom > 1)
{
currentRandom = Random.Range(1, currentRandom + 1)
largeText.text = currentRandom.ToString();
yield return new WaitForSeconds(2);
}
}