Play forced moves automatically

This commit is contained in:
Trevor Slocum 2024-01-10 21:45:21 -08:00
parent d3b1bd93b7
commit 02cd388ef9
5 changed files with 16 additions and 12 deletions

View file

@ -1,3 +1,6 @@
1.2.4:
- Play forced moves automatically
1.2.3:
- Fix replaying tabula games
- Fix on-screen keyboard

View file

@ -983,6 +983,7 @@ func (b *board) selectReplayPause() error {
time.Sleep(2 * time.Second)
b.replayAuto = time.Time{}
b.replayPauseButton.Label.SetText("|>")
scheduleFrame()
return
}

View file

@ -1438,12 +1438,12 @@ func (g *Game) handleEvent(e interface{}) {
g.Board.processState()
g.Board.Unlock()
scheduleFrame()
lg(gotext.Get("%s rolled %s.", ev.Player, diceFormatted))
lg(gotext.Get("%s rolled %s", ev.Player, diceFormatted))
case *bgammon.EventFailedRoll:
l(fmt.Sprintf("*** %s: %s", gotext.Get("Failed to roll"), ev.Reason))
case *bgammon.EventMoved:
lg(gotext.Get("%s moved %s.", ev.Player, bgammon.FormatMoves(ev.Moves)))
if ev.Player == g.Client.Username && !g.Board.gameState.Spectating {
lg(gotext.Get("%s moved %s", ev.Player, bgammon.FormatMoves(ev.Moves)))
if ev.Player == g.Client.Username && !g.Board.gameState.Spectating && !g.Board.gameState.Forced {
return
}

6
go.mod
View file

@ -3,8 +3,8 @@ module code.rocket9labs.com/tslocum/boxcars
go 1.17
require (
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240108183627-118a7f78eb98
code.rocket9labs.com/tslocum/bgammon-tabula-bot v0.0.0-20240108213827-c677af332056
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240111054243-b77a42abd7e2
code.rocket9labs.com/tslocum/bgammon-tabula-bot v0.0.0-20240111053915-885888ea1868
code.rocket9labs.com/tslocum/etk v0.0.0-20240110043858-127665c19898
code.rocket9labs.com/tslocum/tabula v0.0.0-20240108183445-695ea428ae21
code.rocketnine.space/tslocum/kibodo v1.0.3-0.20240110043547-31f31eb07497
@ -56,7 +56,7 @@ require (
github.com/vanng822/css v1.0.1 // indirect
github.com/vanng822/go-premailer v1.20.2 // indirect
golang.org/x/crypto v0.18.0 // indirect
golang.org/x/exp/shiny v0.0.0-20240103183307-be819d1f06fc // indirect
golang.org/x/exp/shiny v0.0.0-20240110193028-0dcbfd608b1e // indirect
golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a // indirect
golang.org/x/net v0.20.0 // indirect
golang.org/x/sync v0.6.0 // indirect

12
go.sum
View file

@ -1,9 +1,9 @@
code.rocket9labs.com/tslocum/bei v0.0.0-20240108012722-6db380cc190b h1:Y0a14Kf/hSYepSmp4ZfDeE4CZZGBGBS97CNjCbKJm0c=
code.rocket9labs.com/tslocum/bei v0.0.0-20240108012722-6db380cc190b/go.mod h1:tS60/VNAJphKvDBkSLQhKALa15msIAuWWfEKNc4oFZc=
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240108183627-118a7f78eb98 h1:6lndXAeTooxepIWtpVWOhEFjig6DVh6bkVaWJVtrmX4=
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240108183627-118a7f78eb98/go.mod h1:0DTOM6NviKJsDDBANcB7hbk2fseN5qtHJZAFeKsnAPQ=
code.rocket9labs.com/tslocum/bgammon-tabula-bot v0.0.0-20240108213827-c677af332056 h1:RNSgusDjNJjw5bpYVZlnAulF945MdczMysgxy79CayM=
code.rocket9labs.com/tslocum/bgammon-tabula-bot v0.0.0-20240108213827-c677af332056/go.mod h1:O3EuShNwEt4CJd3yQ9UDqK7+rx4a5FIcFzzdIsEnLJ4=
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240111054243-b77a42abd7e2 h1:1hv+E8DnOOB6Lb7/FoZEiBjDNe0bIJgRVbuCTqCFSRI=
code.rocket9labs.com/tslocum/bgammon v0.0.0-20240111054243-b77a42abd7e2/go.mod h1:xx2+IXvAb0vrvrNpoBvCZjq04tcDu4DwokIFJcIiqQk=
code.rocket9labs.com/tslocum/bgammon-tabula-bot v0.0.0-20240111053915-885888ea1868 h1:Ur7sBaEy88nfbSq5ZMrn0z34lOX2sQBKPPIEDUX5shw=
code.rocket9labs.com/tslocum/bgammon-tabula-bot v0.0.0-20240111053915-885888ea1868/go.mod h1:8/w2CAzqfaITbzRsFSvejUlqERRJZf/+PRuYA+2NpDs=
code.rocket9labs.com/tslocum/etk v0.0.0-20240110043858-127665c19898 h1:DfKN6JwNQPxDbt5KpXtqNr64gFRfgJ37Lv6lY7YWuWM=
code.rocket9labs.com/tslocum/etk v0.0.0-20240110043858-127665c19898/go.mod h1:ZZDAzxFb3FzgluVsKLlh9wfE/0VcO0nmwkRB8lrxgwA=
code.rocket9labs.com/tslocum/tabula v0.0.0-20240108183445-695ea428ae21 h1:1VG88tdhCSVv7wGoIKQe8A8KfBXJsdz5pDsyP4ymDwk=
@ -140,8 +140,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc=
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
golang.org/x/exp/shiny v0.0.0-20240103183307-be819d1f06fc h1:OG+uKOKt/BW+ydf/M7gym7ONo8U+dyIlLazys3du298=
golang.org/x/exp/shiny v0.0.0-20240103183307-be819d1f06fc/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o=
golang.org/x/exp/shiny v0.0.0-20240110193028-0dcbfd608b1e h1:4LE5KLCSN2kM0m9kpTjPEbOT9I1f6Yxfx9rKlYtPu0Y=
golang.org/x/exp/shiny v0.0.0-20240110193028-0dcbfd608b1e/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o=
golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8=
golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a h1:sYbmY3FwUWCBTodZL1S3JUuOvaW6kM2o+clDzzDNBWg=