summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-03-12 03:20:48 +0100
committerDimitri Sokolyuk <demon@dim13.org>2018-03-12 03:20:48 +0100
commit1561ed27b366a0d7b459383b8426332a01102d1d (patch)
tree1419b206b159ab3b984399bdf20ac47585f1b2ec
parente532c47753c112f8168de7354d255efb95f1f0b8 (diff)
NewName
-rw-r--r--internal/character/name.go36
-rw-r--r--internal/character/name_test.go8
-rw-r--r--newguy.go22
-rw-r--r--newguy_test.go5
4 files changed, 45 insertions, 26 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)
+}
diff --git a/internal/character/name_test.go b/internal/character/name_test.go
new file mode 100644
index 0000000..0ae1596
--- /dev/null
+++ b/internal/character/name_test.go
@@ -0,0 +1,8 @@
+package character
+
+import "testing"
+
+func TestNewName(t *testing.T) {
+ name := NewName()
+ t.Log(name)
+}
diff --git a/newguy.go b/newguy.go
index 0d50bd6..cb6d0e4 100644
--- a/newguy.go
+++ b/newguy.go
@@ -2,7 +2,6 @@ package main
import (
"math/rand"
- "strings"
"time"
"dim13.org/pq/internal/character"
@@ -12,25 +11,6 @@ func init() {
rand.Seed(time.Now().UnixNano())
}
-var kparts = [][]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 Pick(s []string) string {
- return s[rand.Intn(len(s))]
-}
-
-func GenerateName() string {
- var s string
- for i := 0; i < 6; i++ {
- s += Pick(kparts[i%3])
- }
- return strings.Title(s)
-}
-
func Roll() int {
return 3 + rand.Intn(6) + rand.Intn(6) + rand.Intn(6)
}
@@ -48,7 +28,7 @@ func NewGuy() *Guy {
r := character.Races.Pick()
k := character.Klasses.Pick()
g := Guy{
- Name: GenerateName(),
+ Name: character.NewName(),
Race: r.Name,
Klass: k.Name,
Level: 1,
diff --git a/newguy_test.go b/newguy_test.go
index 055ea82..6c58d97 100644
--- a/newguy_test.go
+++ b/newguy_test.go
@@ -2,11 +2,6 @@ package main
import "testing"
-func TestGenerateName(t *testing.T) {
- name := GenerateName()
- t.Log(name)
-}
-
func TestNewGuy(t *testing.T) {
g := NewGuy()
t.Logf("%+v", g)