diff --git a/board.go b/board.go index 56c1a9f..fd0b708 100644 --- a/board.go +++ b/board.go @@ -86,7 +86,7 @@ func CanBearOff(board []int, player int, local bool) bool { homeStart, homeEnd = HomeRange(player) homeStart, homeEnd = minInt(homeStart, homeEnd), maxInt(homeStart, homeEnd) } - for i := 1; i < 24; i++ { + for i := 1; i <= 24; i++ { if (i < homeStart || i > homeEnd) && PlayerCheckers(board[i], player) > 0 { return false } diff --git a/cmd/bgammon-server/server.go b/cmd/bgammon-server/server.go index 3bf9527..e7f022d 100644 --- a/cmd/bgammon-server/server.go +++ b/cmd/bgammon-server/server.go @@ -1161,9 +1161,9 @@ COMMANDS: } clientGame.Turn = 1 - clientGame.Roll1 = 1 - clientGame.Roll2 = 2 - clientGame.Board = []int{12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -12, 0, 0} + clientGame.Roll1 = 5 + clientGame.Roll2 = 6 + clientGame.Board = []int{1, 3, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, -12, 0, 0} clientGame.eachClient(func(client *serverClient) { clientGame.sendBoard(client) diff --git a/game.go b/game.go index 79aef19..78e4245 100644 --- a/game.go +++ b/game.go @@ -278,7 +278,7 @@ ADDMOVES: return false, nil } - g.Board = gameCopy.Board + g.Board = append(g.Board[:0], gameCopy.Board...) g.Moves = gameCopy.Moves g.boardStates = gameCopy.boardStates