aboutsummaryrefslogtreecommitdiff
path: root/go/game/targets_test.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-12-27 12:40:19 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-01-27 16:43:58 +0100
commit4e2ab55d345fd5e5c5d2d5bc56948611b15564d5 (patch)
treec6998ac54687c442ad0baa541edd0fbf917b1308 /go/game/targets_test.go
parent5aa8e7ddbc41aed55e7918e6afaec0b5c07fa510 (diff)
downloadmuhqs-game-4e2ab55d345fd5e5c5d2d5bc56948611b15564d5.tar.gz
muhqs-game-4e2ab55d345fd5e5c5d2d5bc56948611b15564d5.zip
introduce game.State interface abstraction
This allows to not use the internal game state directly from client code.
Diffstat (limited to 'go/game/targets_test.go')
-rw-r--r--go/game/targets_test.go15
1 files changed, 8 insertions, 7 deletions
diff --git a/go/game/targets_test.go b/go/game/targets_test.go
index fd93ee95..44bd60de 100644
--- a/go/game/targets_test.go
+++ b/go/game/targets_test.go
@@ -17,22 +17,23 @@ symbols:
S: street
W: deep water
`
- s := NewState()
+ s := NewLocalState()
r := strings.NewReader(mapDef)
- s.Map, _ = readMap(r)
+ m, _ := readMap(r)
+ s.SetMap(m)
- s.AddNewPlayer("player", NewDeck())
- p := s.Players[0]
+ s.AddNewPlayer("player", NewDeck(), nil)
+ p := s.Players()[0]
- pioneer := NewUnit(NewCard("base/pioneer"), s.Map.TileAt(Position{1, 1}), p)
+ pioneer := NewUnit(NewCard("base/pioneer"), s.Map().TileAt(Position{1, 1}), p)
s.addPermanent(pioneer)
- sword := newEquipmentFromPath("base/sword", s.Map.TileAt(Position{0, 1}), p)
+ sword := newEquipmentFromPath("base/sword", s.Map().TileAt(Position{0, 1}), p)
s.addPermanent(sword)
fa := pioneer.FullActions[0]
targets := fa.Targets()
- if err := targets.AddSelection(s.Map.TileAt(Position{1, 1})); err != nil {
+ if err := targets.AddSelection(s.Map().TileAt(Position{1, 1})); err != nil {
t.Fatalf("TileAt(1,1) not a valid target for %v", fa)
}