[英]How to add integers to an array and get a random number?
這是一個最喜歡的面板。 您可以使用 select 數字(單擊按鈕),然后我想將此數字添加到數組中,然后從該數組中獲取隨機數。
public int runs;
public int randomNumber;
public int[] favorites = new int[75];
public void RandomButton()
{
if (DataController.Instance.group == 3)
{
favorites[randomNumber] = UnityEngine.Random.Range(0, favorites.Length);
Debug.Log(favorites[randomNumber]);
}
}
public void b0()
{
for (runs = 0; runs < favorites.Length; runs++)
{
favorites[runs] = 0;
}
}
public void b1()
{
for (runs = 0; runs < favorites.Length; runs++)
{
favorites[runs] = 1;
}
}
我被卡住了,因為我得到了 0 - 75 之間的隨機數。單擊按鈕后,我想從“收藏夾”數組中獲得一個隨機數。
你在這里做什么
favorites[randomNumber] = UnityEngine.Random.Range(0, favorites.Length);
將0
到74
之間的隨機值分配給數組中的某個項目.. 取決於randomNumber
在那一刻具有的任何值...
您寧願做的實際上是使用隨機值作為索引從數組中訪問值
randomNumber = favorites [UnityEngine.Random.Range(0, favorites.Length)];
Debug.Log(randomNumber);
但是,如果您使用b0
和b1
始終用相同的數字填充數組,會有什么不同?
運行這些方法后,所有元素都是0
或1
無論如何......
無論如何,在您的問題中,您還詢問如何添加數字。
您不應該為此使用數組,而應該使用List<int>
類的
public List<int> favorites = new List<int>();
public void AddNumber(int newNumber)
{
favorites.Add(newNumber);
}
public void RandomButton()
{
if (DataController.Instance.group == 3)
{
randomNumber = favorites[UnityEngine.Random.Range(0, favorites.Count)];
Debug.Log(randomNumber);
}
}
if (DataController.Instance.group == 3)
{
var randomIndex = UnityEngine.Random.Range(0, favorites.Length);
Console.WriteLine(favorites[randomIndex]); // random item from your array
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.