diff --git a/internal/room/room.go b/internal/room/room.go index 62c3d61..9de7f89 100644 --- a/internal/room/room.go +++ b/internal/room/room.go @@ -1,6 +1,24 @@ package room -import "daydev.org/shipsgs/internal/player" +import ( + "math/rand" + "time" + + "daydev.org/shipsgs/internal/player" +) + +const () + +var Names = map[int]string{ + 1: "Lisbon", + 2: "Porto", + 3: "Azores", + 4: "Lagos", + 5: "Guimaraes", + 6: "Algarve", + 7: "DouroRiver", + 8: "Braga", +} type Room struct { Name string `json:"Name"` @@ -11,3 +29,27 @@ type Room struct { //Room state } + +func (r *Room) PlayerJoin() { + +} + +func (r *Room) PlayerLeave() { + +} + +func (r *Room) TextAnnounce() { + +} + +func (r *Room) Update() { + +} + +func RandomName() string { + s := rand.NewSource(time.Now().UnixNano()) + r := rand.New(s) + + i := r.Intn(8) // Hardcoded qty of names for lobbies + return Names[i] +} diff --git a/internal/room/room_test.go b/internal/room/room_test.go new file mode 100644 index 0000000..56f67d9 --- /dev/null +++ b/internal/room/room_test.go @@ -0,0 +1,10 @@ +package room + +import "testing" + +func TestRandomName(t *testing.T) { + s := RandomName() + if s == "" { + t.Error("Expected string, got nil", s) + } +}