summaryrefslogtreecommitdiff
path: root/internal/character/name.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/character/name.go')
-rw-r--r--internal/character/name.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/internal/character/name.go b/internal/character/name.go
new file mode 100644
index 0000000..af9583a
--- /dev/null
+++ b/internal/character/name.go
@@ -0,0 +1,36 @@
+package character
+
+import (
+ "math/rand"
+ "strings"
+)
+
+var parts = [][]string{
+ {
+ "br", "cr", "dr", "fr", "gr",
+ "j", "kr", "l", "m", "n",
+ "pr", "", "", "", "r",
+ "sh", "tr", "v", "wh", "x",
+ "y", "z",
+ },
+ {
+ "a", "a", "e", "e", "i",
+ "i", "o", "o", "u", "u",
+ "ae", "ie", "oo", "ou",
+ },
+ {
+ "b", "ck", "d", "g", "k",
+ "m", "n", "p", "t", "v",
+ "x", "z",
+ },
+}
+
+func NewName() string {
+ var s string
+ for i := 0; i < 6; i++ {
+ p := parts[i%3]
+ n := rand.Intn(len(p))
+ s += p[n]
+ }
+ return strings.Title(s)
+}