Я пытаюсь начать свою сцену со случайного числа из 1-3, генерируемого в цикле for.
Я намерен, чтобы число было случайным каждый раз, однако я не хочу 't те же самые два числа, которые должны быть сгенерированы непосредственно друг за другом, вместо этого сначала генерируется случайное число между 1-3, затем ждет 60 секунд, генерируя случайное число между 1-3, исключая последнее сгенерированное число.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class KOTH_ZoneRandom : MonoBehaviour
{
int Rand;
int Lenght = 4;
List<int> list = new List<int>();
void Start()
{
list = new List<int>(new int[Lenght]);
for (int j = 1; j < Lenght; j++)
{
Rand = Random.Range(1, 4);
while (list.Contains(Rand))
{
Rand = Random.Range(1, 4);
}
list[j] = Rand;
print(list[j]);
}
}
}
Редактировать предпринята попытка реализовать подпрограмму, которая будет действовать как интервал для цикла.однако он все еще не работает, его выводит на консоль, поэтому определенно выполняется подпрограмма, однако функция WaitForSeconds, похоже, не работает.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class KOTH_ZoneRandom : MonoBehaviour
{
int Rand;
int Length = 4;
List<int> list = new List<int>();
void Start()
{
list = new List<int>(new int[Length]);
for (int j = 1; j < Length; j++)
{
StartCoroutine(loopDelay());
Rand = Random.Range(1, 4);
while (list.Contains(Rand))
{
Rand = Random.Range(1, 4);
}
list[j] = Rand;
print(list[j]);
}
}
IEnumerator loopDelay ()
{
print("started delay");
yield return new WaitForSeconds(60);
}
}