aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-06-08 20:23:33 -0500
committerFlorian Fischer <florian.fischer@muhq.space>2025-07-03 22:01:22 -0400
commit4f22bc472086a857fc4b04617421b861fa575a44 (patch)
tree7b69be6caee70984dafb33af2553a9777c74afc0
parente769566aa424ccffbbd40c9d171acbd5463ab34b (diff)
downloadmuhqs-game-4f22bc472086a857fc4b04617421b861fa575a44.tar.gz
muhqs-game-4f22bc472086a857fc4b04617421b861fa575a44.zip
return the player after adding it
-rw-r--r--go/game/kraken.go3
-rw-r--r--go/game/state.go7
2 files changed, 6 insertions, 4 deletions
diff --git a/go/game/kraken.go b/go/game/kraken.go
index 82ae6ccd..724980df 100644
--- a/go/game/kraken.go
+++ b/go/game/kraken.go
@@ -47,9 +47,10 @@ func NewKraken(id int, s *LocalState, color color.Color) *Player {
return kraken
}
-func (s *LocalState) AddKraken(color color.Color) {
+func (s *LocalState) AddKraken(color color.Color) *Player {
kraken := NewKraken(len(s.Players())+1, s, color)
s.players = append(s.players, kraken)
+ return kraken
}
type KrakenControl struct {
diff --git a/go/game/state.go b/go/game/state.go
index f8a74fa6..bf977299 100644
--- a/go/game/state.go
+++ b/go/game/state.go
@@ -18,7 +18,7 @@ type State interface {
PlayerByName(name string) *Player
PlayerById(id int) *Player
AddNewPlayer(name string, deck *Deck, color color.Color) *Player
- AddNewAiPlayer(name string, color color.Color)
+ AddNewAiPlayer(name string, color color.Color) *Player
ActivePlayer() *Player
ActivePhase() PhaseType
SetMap(m *Map)
@@ -116,13 +116,14 @@ func (s *LocalState) AddNewPlayer(name string, deck *Deck, color color.Color) *P
return s.players[len(s.players)-1]
}
-func (s *LocalState) AddNewAiPlayer(name string, color color.Color) {
+func (s *LocalState) AddNewAiPlayer(name string, color color.Color) *Player {
switch name {
case "kraken":
- s.AddKraken(color)
+ return s.AddKraken(color)
default:
log.Fatalf("Ai Player %s not implemented", name)
}
+ return nil
}
func (s *LocalState) IsActivePlayer(p *Player) bool {