Spaceship Names
// This example uses two generators and a formatter
// Calls to formatter.Next() will generate names like:
// VNH Mousiavium, NSH Ratirus, MNL Rousiades, etc.
var prefixes = new NameGenerator()
.Any(x => x
.First(x => x
.Add("SHMLAMN").Weight(5)
.Add("UVX").Weight(2)))
.Filter(@"(\w)\1\1")
.SetSize(3);
var ships = new NameGenerator()
.Any(x => x
.First(x => x
.Add("rstlmn").Weight(4)
.Add("cdgp").Weight(2))
.Middle(x => x
.Add("aoi")
.Cluster("ei", "ia", "ou", "eu")))
.Transform(new TransformSet()
.RandomlySelect(1)
.Add(x => x.Replace(-1, "des"))
.Add(x => x.Replace(-1, "rus"))
.Add(x => x.Replace(-1, "vium")))
.Filter(@"(\w)\1")
.SetSize(3);
var formatter = new NameFormatter("{prefix} {name}")
.Define("prefix", prefixes, NameFormat.UpperCase)
.Define("name", ships);
Last updated