PHP Portal » PHP Forum » Entwicklung » Brainstorming und Code-Küche » Namen generieren.

Namen generieren. 

von
Neuling
Zitat
Hallo zusammen,
ich würde gerne einen Generator für Namen (zum Beispiel für Fantasy oder SciFi Figuren) erstellen. Das sollte dann in PHP implementiert werden, aber das ist eher nebensächlich.
Mir macht die Herangehensweise an sich zu schaffen.
Anders als bei einem Passwortgenerator soll hier ja nicht irgendein Kauderwelsch heraus kommen, sondern eine generierte Zeichenkette die sich anhand bestimmter Regeln zusammen setzt.

Wäre eine Art Syntax Ausdruck, ähnlich einem regulären Ausdruck, der die Zusammensetzung und Verteilung von Vokalen und Konsonanten regelt, angebracht oder macht es das zu unflexibel?
Auf irgendetwas müssen die Namen ja basieren. Wenn ich mir die Ausgabe von anderen Skripten anschaue, ist es zum Beispiel schon offensichtlich, dass alle Namen für Elfen auf a, e, n oder l enden. Nur so als Beispiel.

Ich habe mir schon das Interpreter Entwurfsmuster angeschaut ... aber dann müsste ich vorher noch einen Parser schreiben der den Ausdruck zerlegt. Ich will nicht mit Kanonen auf Spatzen schießen, ich frage mich ob es eine einfachere Möglichkeit gibt? Oder bin ich damit sowieso auf der falschen Baustelle?

Wenn es nötig ist, die Sache kompliziert zu machen, mache ich das auch gerne.

Gruß woelfz

Werbung

Re: Namen generieren. 

von
the Boss
Zitat
Hallo woelfz,

für mein aktuelles Hobbyprojekt würde sich so etwas auch gut eignen.
Gedanken habe ich mir bisher noch keine gemacht, aber so direkt angesprochen eventuell einen Ansatz.

Solche generierten Namen müssen/sollten ja auch aussprechbar sein, also dürfen natürlich nicht irgendwelche beliebigen Buchstaben aufeinander folgen, sondern diese bestimmten Regeln folgen. Nun könnte man notieren, dass auf ein "n" die Buchstaben "aeioung...." folgen dürfen, und dies für jeden Buchstaben wiederholen. Eventuell noch um Einschränkungen erweitern, dass z. B. maximal 3 Konsonanten hintereinander kommen dürfen etc.

Für bestimmte Namensbereiche, wie den Elfen, gibt es dann noch erweiterte Definitionen, a la "Ende auf a,e,n oder l".

Oder ein kleiner Parser, welchem man eine oder mehrere Texte vorwirft, und dieser dann die Regeln für einzelne Buchstaben (was darf aufeinander folgen) alleine bestimmt. Auch könnte dieser die Verteilung bzw. Häufigkeit der Buchstaben bestimmen und dies beim generieren der Namen mit einfließen lassen.

Re: Namen generieren. 

von
Neuling
Zitat
Ich denke ich werde dem Namengenerator eine Baumstruktur, die durch verschachtelte Arrays ensteht, vorsetzen. Dieser Baum bestimmt welche Buchstaben auf welche Buchstaben folgen dürfen.
Bevorzugte Silben oder Wortanfänge werden in anderen Arrays gespeichert.
Ich denke bei der Verteilung bzw. Häufigkeit der Buchstaben werde ich etwas in Richtung gaußsche Normalverteilung versuchen. Auf jeden Fall ist die ganze Geschichte komplizierter als ich dachte. Immerhin kann ich schon mal "Mama" generieren lassen. ^^

Schnellantwort

ähnliche Themen

PDF aus HTML generieren