我正在创建一个游戏,我想从名称库中为16个不同行星生成一个名称,并将它们分配给一个行星。我为行星创建了一个数组,并为下面的特点生成逻辑。将列表中的项目分配到数组中的项目
Planet[] planetArray = new Planet[16];
public static void NameGeneration()
{
List<String> planetNames = new List<String>()
{
"Bak'hur", "Etonia", "Laurellan",
"Ragki", "Metiope", "Defel",
"Liehne", "Rykhan", "Heito",
"Makha", "Cerbi", "Helios",
"Luruguan", "Chawnos", "T'hig",
"Blana", "Pergate V", "Shemon III",
"Yokteth", "Letry", "Last Besgino",
"Ayus", "Alterus", "Qurenos"
};
List<Tuple<int>> instances = new List<Tuple<int>>();
List<string> generatedNames = new List<string>();
Random random = new Random();
int planetName;
//generating 16 names
while(instances.Count < 16)
{
planetName = random.Next(0, planetNames.Count);
Tuple<int> tuple = new Tuple<int>(planetName);
if (instances.Contains(tuple))
{
instances.Add(tuple);
}
}
foreach (var tuple in instances)
{
generatedNames.Add(string.Format("{0}", planetNames[tuple.Item1]));
}
foreach (var n in generatedNames)
{
}
}
我真的不知道从哪里何去何从,虽然我已经考虑从列表中选择和手动分配,或者藏汉随机化的星球,但我还是会停留在我的轨道。
任何帮助或提示,将不胜感激。谢谢。
瑞安
为什么'Tuple'而不是'int'? –
尝试在你的方法中从外部声明'new Random'。 – spajce
我使用Tuple,因为我是编程新手,我的导师建议我使用它。 –