diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-07-24 12:17:26 -0400 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-07-28 18:03:10 +0200 |
| commit | 749dc58ced17662d9f6dd40bb44d315d12d3d48b (patch) | |
| tree | 170a957d296dc82467310b7b22f66d2ad440dff7 /go/client | |
| parent | ce875a8454265ac4a17be25eeaa6e0b136936a56 (diff) | |
| download | muhqs-game-749dc58ced17662d9f6dd40bb44d315d12d3d48b.tar.gz muhqs-game-749dc58ced17662d9f6dd40bb44d315d12d3d48b.zip | |
add random challange aupport to the client
Diffstat (limited to 'go/client')
| -rw-r--r-- | go/client/game.go | 8 | ||||
| -rw-r--r-- | go/client/startMenu.go | 22 |
2 files changed, 28 insertions, 2 deletions
diff --git a/go/client/game.go b/go/client/game.go index 71fa6b4c..fdb72683 100644 --- a/go/client/game.go +++ b/go/client/game.go @@ -117,12 +117,16 @@ func (g *Game) loadMap(mapName string) *Game { log.Fatal(err) } g.gameState.SetMap(m) + g.initMapUi() + return g +} + +func (g *Game) initMapUi() { g.mapView = ui.NewMapView(g.gameState) g.AddWidget(g.mapView) - storeTiles := m.FilterTiles(func(t *game.Tile) bool { return t.Type == game.TileTypes.Store }) + storeTiles := g.gameState.Map().FilterTiles(func(t *game.Tile) bool { return t.Type == game.TileTypes.Store }) g.storesOnMap = len(storeTiles) > 0 - return g } func (g *Game) addActivePlayer(name string, deckList string) *Game { diff --git a/go/client/startMenu.go b/go/client/startMenu.go index a9ee5c48..2c3225b9 100644 --- a/go/client/startMenu.go +++ b/go/client/startMenu.go @@ -132,6 +132,17 @@ func (m *startMenu) build() { m.startDeck = deckInput.Text() m.startGame() })) + m.AddWidget(ui.NewSimpleButton( + (m.Width-START_BUTTON_WIDTH)/2, + deckInput.Y+deckInput.Height+4*START_BUTTON_HEIGHT, + START_BUTTON_WIDTH, + START_BUTTON_HEIGHT, + "Challenge", + func(*ui.SimpleButton) { + m.playerName = playerInput.Text() + s := game.NewRandomChallenge(m.playerName) + m.startChallenge(s) + })) } func (m *startMenu) Update() error { @@ -178,3 +189,14 @@ func (m *startMenu) startGame() { activities.PushActivity(g.Start()) } + +func (m *startMenu) startChallenge(state game.State) { + g := newGame(m.app, state) + + g.initMapUi() + p := state.PlayerByName(m.playerName) + g.activePlayerId = p.Id + g.initPlayerUi(p) + + activities.PushActivity(g.Start()) +} |
