Support spectating matches
This commit is contained in:
parent
c5c807d8d0
commit
64618170e7
5 changed files with 24 additions and 26 deletions
|
@ -1,4 +1,5 @@
|
|||
1.1.3:
|
||||
- Support spectating matches
|
||||
- Highlight available moves using both dice
|
||||
|
||||
1.1.2:
|
||||
|
|
|
@ -1430,22 +1430,24 @@ func (b *board) processState() {
|
|||
b.lastPlayerNumber = b.gameState.PlayerNumber
|
||||
|
||||
var showGrid *etk.Grid
|
||||
if b.gameState.MayRoll() {
|
||||
if b.gameState.MayDouble() {
|
||||
showGrid = b.buttonsDoubleRollGrid
|
||||
} else {
|
||||
showGrid = b.buttonsOnlyRollGrid
|
||||
if !b.gameState.Spectating {
|
||||
if b.gameState.MayRoll() {
|
||||
if b.gameState.MayDouble() {
|
||||
showGrid = b.buttonsDoubleRollGrid
|
||||
} else {
|
||||
showGrid = b.buttonsOnlyRollGrid
|
||||
}
|
||||
} else if b.gameState.MayOK() {
|
||||
if b.gameState.MayResign() {
|
||||
showGrid = b.buttonsResignAcceptGrid
|
||||
} else if len(b.gameState.Moves) != 0 {
|
||||
showGrid = b.buttonsUndoOKGrid
|
||||
} else {
|
||||
showGrid = b.buttonsOnlyOKGrid
|
||||
}
|
||||
} else if b.gameState.Winner == 0 && b.gameState.Turn != 0 && b.gameState.Turn == b.gameState.PlayerNumber && len(b.gameState.Moves) != 0 {
|
||||
showGrid = b.buttonsOnlyUndoGrid
|
||||
}
|
||||
} else if b.gameState.MayOK() {
|
||||
if b.gameState.MayResign() {
|
||||
showGrid = b.buttonsResignAcceptGrid
|
||||
} else if len(b.gameState.Moves) != 0 {
|
||||
showGrid = b.buttonsUndoOKGrid
|
||||
} else {
|
||||
showGrid = b.buttonsOnlyOKGrid
|
||||
}
|
||||
} else if b.gameState.Winner == 0 && b.gameState.Turn != 0 && b.gameState.Turn == b.gameState.PlayerNumber && len(b.gameState.Moves) != 0 {
|
||||
showGrid = b.buttonsOnlyUndoGrid
|
||||
}
|
||||
b.showButtonGrid(showGrid)
|
||||
|
||||
|
@ -1593,14 +1595,9 @@ func (b *board) movePiece(from int, to int) {
|
|||
}
|
||||
}
|
||||
|
||||
// WatchingGame returns whether the active game is being watched.
|
||||
func (b *board) watchingGame() bool {
|
||||
return !b.playingGame() && false // TODO
|
||||
}
|
||||
|
||||
// PlayingGame returns whether the active game is being played.
|
||||
func (b *board) playingGame() bool {
|
||||
return b.gameState.Player1.Name != "" || b.gameState.Player2.Name != ""
|
||||
return (b.gameState.Player1.Name != "" || b.gameState.Player2.Name != "") && !b.gameState.Spectating
|
||||
}
|
||||
|
||||
func (b *board) playerTurn() bool {
|
||||
|
|
|
@ -36,7 +36,7 @@ import (
|
|||
"golang.org/x/text/language"
|
||||
)
|
||||
|
||||
const version = "v1.1.2p2"
|
||||
const version = "v1.1.2p3"
|
||||
|
||||
const MaxDebug = 2
|
||||
|
||||
|
@ -952,7 +952,7 @@ func (g *Game) handleEvents() {
|
|||
g.Client.Out <- []byte(fmt.Sprintf("pong %s", ev.Message))
|
||||
default:
|
||||
l("*** " + gotext.Get("Warning: Received unknown event: %+v", ev))
|
||||
l("*** " + gotext.Get("You may need to upgrade your client.", ev))
|
||||
l("*** " + gotext.Get("You may need to upgrade your client."))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module code.rocket9labs.com/tslocum/boxcars
|
|||
go 1.17
|
||||
|
||||
require (
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20231115225155-2493c76bdfd4
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20231117011217-28ba643bf994
|
||||
code.rocket9labs.com/tslocum/etk v0.0.0-20231111061733-ffdef73ac8fb
|
||||
code.rocketnine.space/tslocum/kibodo v1.0.2
|
||||
code.rocketnine.space/tslocum/messeji v1.0.6-0.20231108225635-7a691903039e
|
||||
|
|
4
go.sum
4
go.sum
|
@ -1,5 +1,5 @@
|
|||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20231115225155-2493c76bdfd4 h1:UG7sA9veENnBqi56fgIjLzMbVJg4EOm+3iJfU3xcCGI=
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20231115225155-2493c76bdfd4/go.mod h1:NIwLSiHvXFJPJ6loPWJWb3esPaZT8Qk27hO6Tzassb4=
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20231117011217-28ba643bf994 h1:4KGAaJ8AupuEf5oyIT05NOhIYH1VOtuLgIX71E1MWAI=
|
||||
code.rocket9labs.com/tslocum/bgammon v0.0.0-20231117011217-28ba643bf994/go.mod h1:NIwLSiHvXFJPJ6loPWJWb3esPaZT8Qk27hO6Tzassb4=
|
||||
code.rocket9labs.com/tslocum/etk v0.0.0-20231111061733-ffdef73ac8fb h1:CJgcS7SZi9ICZNCs1Hz6+YpajvCHmzyqY38xl+2z8h8=
|
||||
code.rocket9labs.com/tslocum/etk v0.0.0-20231111061733-ffdef73ac8fb/go.mod h1:mwrZqZLdxJhtbWKcuX3Ym06fFr1yqWH8FMXG5wHJ/KU=
|
||||
code.rocketnine.space/tslocum/kibodo v1.0.2 h1:0RfvVz+IUku8MFx9wvDb+p8byns5gAjQLUo4ZenWP44=
|
||||
|
|
Loading…
Reference in a new issue