我正在尝试生成3个介于1和10之间的数字。任意两个数字之间的差值必须小于或等于2。例如: 2,6,9可以,但2,4,7不可以(因为4-2= 2)。
private int GetGoodNumber()
{
int lastIndex = 0;
int x = 3;
int randomNumber = 0;
for (int i = 0; i < 3; i++)
{
int interval = UnityEngine.Random.Range(2, 7);
do
{
randomNumber = interval + (UnityEngine.Random.Range(0, 10));
} while (randomNumber > 10 || x <= 2);
x = (lastIndex > randomNumber) ? lastIndex - randomNumber : randomNumber - lastIndex;
lastIndex = randomNumber;
Debug.Log(randomNumber);
}
return randomNumber;
}不幸的是,我的方法不起作用,有人知道问题所在吗?
https://stackoverflow.com/questions/51262749
复制相似问题