gpt4 book ai didi

c# - 如何将随机数组与按主题相关的数组连接起来?

转载 作者:太空宇宙 更新时间:2023-11-03 20:51:13 24 4
gpt4 key购买 nike

我正在制作一个小应用程序,可以随机选择迪士尼世界中的一个公园让我去,一旦我到了那个公园,我就想按下按钮 -“我该骑什​​么?”因为它会告诉我在它为我挑选的那部分公园里该骑什么车。

就像它说的那样

“去动物王国”然后当我按下“我骑什么?”

我想让它说“Expedition Everest”。但是它随机选择了一个公园,所以我不确定如何链接另一个随机但匹配的阵列,因为公园和游乐设施位于公园的同一部分。

代码示例:

public void LoadNextScene()
{
int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
SceneManager.LoadScene(currentSceneIndex + 1);
}

public void LoadStartScene()
{
SceneManager.LoadScene(0);
}

public void OnPressPap()
{
SceneManager.LoadScene(1);
}

public void OnPressRides()
{
SceneManager.LoadScene(2);
}

上面是按下按钮后我的简单场景加载器。

{
public string[] ParkNameArray;
public string ParkName;
public TextMeshProUGUI ParkNameText;
private void Start()
{
ParkName = ParkNameArray[Random.Range(0, ParkNameArray.Length)];
ParkNameText.text = ParkName.ToString();
}
}

上面是我统一编辑的数组和随机范围

我将在下面添加一些图片,展示我的丑陋 UI 以及公园的数组列表。

Array list in unity (Parks only atm)

Pick a ride

下图是我要按“骑什么?”的位置。按钮,它与刚刚选择的公园有关。

Ride picked randomly with random fact

最佳答案

对象

这就是为什么 OOP是一件事。

不是创建两个数组并试图找出将一个数组链接到另一个数组的对象,而是将这些数组折叠成对象并创建一个对象数组。

例如,每个公园(对象)都包含游乐设施(一个数组)。有多个(阵列)公园。

public class Park {
public string parkName;
public Ride[] listOfRides; //Ride is similarly defined like Park is
}

然后是你的其他代码:

{
public Park[] ParksArray;
//...
}

现在您只需随机选择一个公园,获取其游乐设施,然后从该列表中随机选择一个游乐设施:

int randPark = Random.Range(0, ParksArray.Length);
Ride[] availableRides = ParksArray[randPark].listOfRides;
int randRide = Random.Range(0, availableRides.Length);
Debug.Log(ParksArray[randPark].name + ":" + availableRides[randRide].name);

关于c# - 如何将随机数组与按主题相关的数组连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com