From 433d5c3afc5fcaf7b1a3cafd9444dbfaa098f098 Mon Sep 17 00:00:00 2001 From: Morgan Bazalgette Date: Mon, 25 Sep 2023 08:49:33 +0200 Subject: [PATCH] fix: re-instantiate Board on NewBoard --- realm/lobby.gno | 14 ++++++++++++-- realm/rules.gno | 44 ++++++++++++++++++++++---------------------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/realm/lobby.gno b/realm/lobby.gno index 76fd308b..f6574cb6 100644 --- a/realm/lobby.gno +++ b/realm/lobby.gno @@ -1,8 +1,10 @@ package chess import ( + "bytes" "math" "std" + "strconv" "time" "gno.land/p/demo/avl" @@ -63,8 +65,16 @@ var ( ) // XXX: REMOVE BEFORE PRODUCTION -func LobbyData() ([tcLobbyMax][]lobbyPlayer, avl.Tree) { - return lobby, lobbyPlayer2Game +func LobbyData() string { + var buf bytes.Buffer + for idx, sublob := range lobby { + buf.WriteString("Sublobby " + strconv.Itoa(idx)) + for _, player := range sublob { + buf.WriteString("- " + player.player.Address.String()) + } + buf.WriteByte('\n') + } + return buf.String() } func LobbyJoin(seconds, increment int) { diff --git a/realm/rules.gno b/realm/rules.gno index 54d991d8..30b5f5f5 100644 --- a/realm/rules.gno +++ b/realm/rules.gno @@ -509,28 +509,28 @@ type Board [64]Piece // NewBoard returns a Board normally set up at the initial position for standard // chess. -func NewBoard() Board { return defaultBoard } - -var defaultBoard = Board{ - // row 1 - p['R'], p['N'], p['B'], p['Q'], - p['K'], p['B'], p['N'], p['R'], - // row 2 - p['P'], p['P'], p['P'], p['P'], - p['P'], p['P'], p['P'], p['P'], - - // rows 3, 4, 5, 6 - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - - // row 7 - p['p'], p['p'], p['p'], p['p'], - p['p'], p['p'], p['p'], p['p'], - // row 8 - p['r'], p['n'], p['b'], p['q'], - p['k'], p['b'], p['n'], p['r'], +func NewBoard() Board { + return Board{ + // row 1 + p['R'], p['N'], p['B'], p['Q'], + p['K'], p['B'], p['N'], p['R'], + // row 2 + p['P'], p['P'], p['P'], p['P'], + p['P'], p['P'], p['P'], p['P'], + + // rows 3, 4, 5, 6 + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + + // row 7 + p['p'], p['p'], p['p'], p['p'], + p['p'], p['p'], p['p'], p['p'], + // row 8 + p['r'], p['n'], p['b'], p['q'], + p['k'], p['b'], p['n'], p['r'], + } } func (b Board) findPiece(pWant Piece) Square {