aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-07-19 18:34:59 -0400
committerFlorian Fischer <florian.fischer@muhq.space>2025-07-19 18:54:25 -0400
commit673977d13a52b3724943d58256d91410c792b651 (patch)
tree28f17d5b7653359932e72d5d8a697931cb21d50f
parentd51ca07150ee9e412b57269436f9554de83eedcc (diff)
downloadmuhqs-game-673977d13a52b3724943d58256d91410c792b651.tar.gz
muhqs-game-673977d13a52b3724943d58256d91410c792b651.zip
remove player color from game code
-rw-r--r--go/client/game.go3
-rw-r--r--go/client/startMenu.go4
-rw-r--r--go/game/action_test.go2
-rw-r--r--go/game/ai_test.go8
-rw-r--r--go/game/areaEffect_test.go2
-rw-r--r--go/game/kraken.go9
-rw-r--r--go/game/player.go3
-rw-r--r--go/game/state.go19
-rw-r--r--go/game/targets_test.go2
-rw-r--r--go/game/unit_test.go2
-rw-r--r--go/ui/mapView.go3
11 files changed, 28 insertions, 29 deletions
diff --git a/go/client/game.go b/go/client/game.go
index 7c54ac0f..4dc61a1a 100644
--- a/go/client/game.go
+++ b/go/client/game.go
@@ -123,8 +123,7 @@ func (g *Game) loadMap(mapName string) *Game {
func (g *Game) addActivePlayer(name string, deckList string) *Game {
deck := game.NewDeckFromDeckList(deckList)
- color := ui.PlayerColors[len(g.gameState.Players())]
- g.gameState.AddNewPlayer(name, deck, color)
+ g.gameState.AddNewPlayer(name, deck)
p := g.gameState.PlayerByName(name)
g.activePlayerId = p.Id
return g.initPlayerUi(p)
diff --git a/go/client/startMenu.go b/go/client/startMenu.go
index dea148ec..a9ee5c48 100644
--- a/go/client/startMenu.go
+++ b/go/client/startMenu.go
@@ -173,9 +173,7 @@ func (m *startMenu) startGame() {
g := newGame(m.app, state).loadMap(m.mapPath).addActivePlayer(m.playerName, m.startDeck)
if m.mapPath == "the-kraken" {
- idx := len(g.gameState.Players())
- color := ui.PlayerColors[idx]
- g.gameState.AddNewAiPlayer("kraken", color)
+ g.gameState.AddNewAiPlayer("kraken")
}
activities.PushActivity(g.Start())
diff --git a/go/game/action_test.go b/go/game/action_test.go
index b1642bd1..1c5a7262 100644
--- a/go/game/action_test.go
+++ b/go/game/action_test.go
@@ -7,7 +7,7 @@ import (
const PASS_STRING = "muhq\u00A0pass"
var s *LocalState = NewLocalState()
-var p *Player = s.AddNewPlayer("muhq", NewDeck(), nil)
+var p *Player = s.AddNewPlayer("muhq", NewDeck())
func TestMarshalPass(t *testing.T) {
exp := PASS_STRING
diff --git a/go/game/ai_test.go b/go/game/ai_test.go
index 81d86a7a..08cef2cb 100644
--- a/go/game/ai_test.go
+++ b/go/game/ai_test.go
@@ -82,8 +82,8 @@ symbols:
m, _ := readMap(r)
s := NewLocalState()
s.SetMap(m)
- p1 := s.AddNewPlayer("kraken", NewDeck(), nil)
- p2 := s.AddNewPlayer("player", NewDeck(), nil)
+ p1 := s.AddNewPlayer("kraken", NewDeck())
+ p2 := s.AddNewPlayer("player", NewDeck())
c := s.addNewUnit(NewCard("kraken/clownfish"), Position{2, 2}, p1)
s.addNewUnit(NewCard("kraken/sailfish"), Position{1, 1}, p2)
s.addNewUnit(NewCard("kraken/sailfish"), Position{3, 2}, p2)
@@ -138,8 +138,8 @@ symbols:
m, _ := readMap(r)
s := NewLocalState()
s.SetMap(m)
- p1 := s.AddNewPlayer("tyrant", NewDeck(), nil)
- p2 := s.AddNewPlayer("player", NewDeck(), nil)
+ p1 := s.AddNewPlayer("tyrant", NewDeck())
+ p2 := s.AddNewPlayer("player", NewDeck())
b := s.addNewUnit(NewCard("tyrant/bauernfeind"), Position{1, 1}, p1)
s.addNewUnit(NewCard("misc/farmer"), Position{1, 3}, p2)
diff --git a/go/game/areaEffect_test.go b/go/game/areaEffect_test.go
index 5a7ab0a6..17688f1e 100644
--- a/go/game/areaEffect_test.go
+++ b/go/game/areaEffect_test.go
@@ -16,7 +16,7 @@ symbols:
m, _ := readMap(r)
s.SetMap(m)
- s.AddNewPlayer("player", NewDeck(), nil)
+ s.AddNewPlayer("player", NewDeck())
p := s.Players()[0]
t0_0 := s.Map().TileAt(Position{0, 0})
diff --git a/go/game/kraken.go b/go/game/kraken.go
index 94d63898..5f8f2612 100644
--- a/go/game/kraken.go
+++ b/go/game/kraken.go
@@ -1,7 +1,6 @@
package game
import (
- "image/color"
"log"
"strings"
"sync"
@@ -27,8 +26,8 @@ var KrakenDecklist = `2 kraken/angry_squid
2 kraken/tides_change!
2 kraken/unholy_cannonball`
-func NewKraken(id int, s *LocalState, color color.Color) *Player {
- kraken := NewPlayer(id, KRAKEN_NAME, NewDeck(), s, color)
+func NewKraken(id int, s *LocalState) *Player {
+ kraken := NewPlayer(id, KRAKEN_NAME, NewDeck(), s)
d := NewDeckFromDeckList(KrakenDecklist)
d.Shuffle(s.Rand)
kraken.Deck = d
@@ -47,8 +46,8 @@ func NewKraken(id int, s *LocalState, color color.Color) *Player {
return kraken
}
-func (s *LocalState) AddKraken(color color.Color) *Player {
- kraken := NewKraken(len(s.Players())+1, s, color)
+func (s *LocalState) AddKraken() *Player {
+ kraken := NewKraken(len(s.Players())+1, s)
s.players = append(s.players, kraken)
return kraken
}
diff --git a/go/game/player.go b/go/game/player.go
index 974223d1..38e959da 100644
--- a/go/game/player.go
+++ b/go/game/player.go
@@ -1,7 +1,6 @@
package game
import (
- "image/color"
"log"
"muhq.space/muhqs-game/go/utils"
@@ -22,7 +21,6 @@ type Player struct {
Deck *Deck
Store *Store
gameState *LocalState
- Color color.Color
Ctrl PlayerControl
knownStores map[Position]bool
}
@@ -43,7 +41,6 @@ func NewPlayer(id int, name string, deck *Deck, gameState *LocalState, color col
DiscardPile: NewDiscardPile(),
Store: store,
gameState: gameState,
- Color: color,
Ctrl: nil,
knownStores: make(map[Position]bool),
}
diff --git a/go/game/state.go b/go/game/state.go
index 6c77a42f..6c3b237f 100644
--- a/go/game/state.go
+++ b/go/game/state.go
@@ -2,7 +2,6 @@ package game
import (
"fmt"
- "image/color"
"log"
"math/rand"
"strconv"
@@ -17,8 +16,8 @@ type State interface {
Players() []*Player
PlayerByName(name string) *Player
PlayerById(id int) *Player
- AddNewPlayer(name string, deck *Deck, color color.Color) *Player
- AddNewAiPlayer(name string, color color.Color) *Player
+ AddNewPlayer(name string, deck *Deck) *Player
+ AddNewAiPlayer(name string) *Player
ActivePlayer() *Player
ActivePhase() PhaseType
SetMap(m *Map)
@@ -110,16 +109,22 @@ func NewLocalState() *LocalState {
return s
}
-func (s *LocalState) AddNewPlayer(name string, deck *Deck, color color.Color) *Player {
- p := NewPlayer(len(s.players)+1, name, deck, s, color)
+func (s *LocalState) AddNewPlayerDeckAndStore(name string, deck *Deck, store *Store) *Player {
+ p := NewPlayerWithDeckAndStore(len(s.players)+1, name, deck, store, s)
s.players = append(s.players, p)
return s.players[len(s.players)-1]
}
-func (s *LocalState) AddNewAiPlayer(name string, color color.Color) *Player {
+func (s *LocalState) AddNewPlayer(name string, deck *Deck) *Player {
+ p := NewPlayer(len(s.players)+1, name, deck, s)
+ s.players = append(s.players, p)
+ return s.players[len(s.players)-1]
+}
+
+func (s *LocalState) AddNewAiPlayer(name string) *Player {
switch name {
case "kraken":
- return s.AddKraken(color)
+ return s.AddKraken()
default:
log.Fatalf("Ai Player %s not implemented", name)
}
diff --git a/go/game/targets_test.go b/go/game/targets_test.go
index 44bd60de..b7d1cda0 100644
--- a/go/game/targets_test.go
+++ b/go/game/targets_test.go
@@ -22,7 +22,7 @@ symbols:
m, _ := readMap(r)
s.SetMap(m)
- s.AddNewPlayer("player", NewDeck(), nil)
+ s.AddNewPlayer("player", NewDeck())
p := s.Players()[0]
pioneer := NewUnit(NewCard("base/pioneer"), s.Map().TileAt(Position{1, 1}), p)
diff --git a/go/game/unit_test.go b/go/game/unit_test.go
index 68fadea4..b6a6f59a 100644
--- a/go/game/unit_test.go
+++ b/go/game/unit_test.go
@@ -22,7 +22,7 @@ symbols:
m, _ := readMap(r)
s.SetMap(m)
- s.AddNewPlayer("player", NewDeck(), nil)
+ s.AddNewPlayer("player", NewDeck())
p := s.Players()[0]
f := NewUnit(NewCard("nautics/fisher"), s.Map().TileAt(Position{2, 2}), p)
diff --git a/go/ui/mapView.go b/go/ui/mapView.go
index 2016a60f..25ebd5aa 100644
--- a/go/ui/mapView.go
+++ b/go/ui/mapView.go
@@ -309,7 +309,8 @@ func (vw *MapView) drawPermanentsLayer(screen *ebiten.Image) {
op := &ebiten.DrawImageOptions{}
op.GeoM.Scale(vw.scale, vw.scale)
op.GeoM.Translate(float64(x_px), float64(y_px))
- op.ColorScale.ScaleWithColor(p.Controller().Color)
+ col := PlayerColors[p.Controller().Id-1]
+ op.ColorScale.ScaleWithColor(col)
if colors, found := vw.permanentsHighlights[p]; found {
for _, color := range colors {