이름 뱅크에서 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)
{
}
}
난 정말이 목록에서 선택하고 수동으로 할당하거나 aswell 지구를 무작위 화 생각했지만 나는 여전히 내 트랙에 갇혀 거라고하지만, 여기에서 어디로 모른다.
도움이나 조언을 보내 주시면 감사하겠습니다. 고맙습니다.
var generatedNames = planetNames.OrderBy(n => random.Next()).Take(16).ToList();
왜'int' 대신'Tuple'입니까? –
당신의 방법으로 외부에서'새로운 무작위'를 선언하는 것을 시도하십시오. – spajce
프로그래밍에 익숙하지 않아 튜플을 사용했고 과외지도 교사가 사용하도록 제안했습니다. –