From 1561ed27b366a0d7b459383b8426332a01102d1d Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 12 Mar 2018 03:20:48 +0100 Subject: NewName --- internal/character/name.go | 36 ++++++++++++++++++++++++++++++++++++ internal/character/name_test.go | 8 ++++++++ newguy.go | 22 +--------------------- newguy_test.go | 5 ----- 4 files changed, 45 insertions(+), 26 deletions(-) create mode 100644 internal/character/name.go create mode 100644 internal/character/name_test.go 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) -- cgit v1.2.3