2017-02-26 2 views
0

Im Moment mache ich ein kleines Projekt nur zum Spaß, in dem ich kleine zufällig generierte Leute civ.Im mache derzeit an der Funktion, die Namensgenerierung zu behandeln und ich kann nicht ganz a guter Weg oder effecent Weg, um diese Aufgabe zu vervollständigen. Bisher das ist, was ich habe:Erstellen eines Namensgenerators für Unity Project C#

public void GenerateName() { 
     string[] nameComponent1 = new string[] {"Ge","Me","Ta","Bo","Ke","Ra","Ne","Mi" }; 
     string[] nameComponent2 = new string[] {"oo","ue","as","to","ra","me","io","so" }; 
     string[] nameComponent3 = new string[] {"se.","matt.","lace.","fo.","cake.","end." }; 

     string nameCompfirst = nameComponent1[Random.Range(0, nameComponent1.Length)].ToString(); 
     string nameCompSecond = nameComponent2[Random.Range(0, nameComponent2.Length)].ToString(); 
     string nameCompThird = nameComponent3[Random.Range(0, nameComponent3.Length)].ToString(); 


    } 

}; 

Wenn Sie dies für mich zu lösen, wären in der Lage, die ehrfürchtig wäre - oder, wenn Sie einen besseren Vorschlag haben, bitte gehen für sie. Ich bin für Ideen

Dank

+0

Möchten Sie eine der Strings nach dem Zufallsprinzip auswählen? –

+0

Ich möchte, dass die Strings zufällig ausgewählt werden und dann alle nameComp-Variablen addiert werden, um der Variablen name zu entsprechen - das ist zumindest, wie ich es tun würde –

Antwort

1

Sie wollen System.Random Klasse verwenden, aber in Ihrem Code verwendet es UnityEngine.Random statt, fügen Sie diese auf die Spitze Ihrer Klasse

using Random = System.Random; 
+0

vorgeschlagen Wie Sie das tun, sorry, bisschen ein Neuling –

+0

diese Linie an die Spitze Ihrer Klasse hinzuzufügen, wie die folgende 'mit Zufalls = System.Random; public class Yourclass: MonoBehaviour { /// Code hier } ' –

+0

Awsome löste das Problem, danke –

0

Wenn ich Sie wirklich verstehen:

Random r = new Random(); 

string[] nameComponent1 = new string[] {"Ge","Me","Ta","Bo","Ke","Ra","Ne","Mi" }; 
    string[] nameComponent2 = new string[] {"oo","ue","as","to","ra","me","io","so" }; 
    string[] nameComponent3 = new string[] {"se.","matt.","lace.","fo.","cake.","end." }; 

string nameCompfirst = nameComponent1[r.Next(0, nameComponent1.Length)]; 
string nameCompSecond = nameComponent2[r.Next(0, nameComponent1.Length)]; 
string nameCompThird = nameComponent3[r.Next(0, nameComponent1.Length)]; 

string result = nameCompfirst + nameCompSecond + nameCompThird; 
+0

Das scheint nicht zu funktionieren, wenn ich Next tippe, wird es nicht automatisch abgeschlossen oder - es hat einen Fehler "Random" enthält keine Definition für "Next" und keine Erweiterungsmethode "Next" –

+0

Haben Sie 'Random r = new Random();' und 'r.Next()'? Es ist falsch: 'Random.Next()' –

+0

Ja, ich habe ich schrieb genau: Random r = new Random(); // Dieser Teil wird nicht automatisch vervollständigt string nameCompfirst = nameComponent1 [r.] –

Verwandte Themen