dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit ee247b09d1d9f9f1a6e8fa6375ef15137ce081cf
parent 265e1384a3846bc21b0659b6c890be3e2d2b301d
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sun, 11 Jun 2023 19:53:40 -0700

cleanup

Diffstat:
Mpkg/web/handlers/interceptors/chess.go | 31+++++++++++++++++++++++--------
1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/pkg/web/handlers/interceptors/chess.go b/pkg/web/handlers/interceptors/chess.go @@ -511,14 +511,6 @@ func (b *Chess) SendMove(gameKey string, userID database.UserID, g *ChessGame, c idStr1 := g.PiecesCache[mov.S1()] idStr2 := g.PiecesCache[mov.S2()] - chessMov := ChessMove{ - IDStr1: idStr1, - IDStr2: idStr2, - CheckW: g.Game.Position().Turn() == chess.White && mov.HasTag(chess.Check), - CheckB: g.Game.Position().Turn() == chess.Black && mov.HasTag(chess.Check), - Move: mov, - Turn: turn, - } delete(g.PiecesCache, mov.S1()) delete(g.PiecesCache, mov.S2()) g.PiecesCache[mov.S2()] = idStr1 @@ -535,6 +527,15 @@ func (b *Chess) SendMove(gameKey string, userID database.UserID, g *ChessGame, c delete(g.PiecesCache, chess.A8) g.PiecesCache[chess.D8] = "img_56" } + + chessMov := ChessMove{ + IDStr1: idStr1, + IDStr2: idStr2, + CheckW: g.Game.Position().Turn() == chess.White && mov.HasTag(chess.Check), + CheckB: g.Game.Position().Turn() == chess.Black && mov.HasTag(chess.Check), + Move: mov, + Turn: turn, + } ChessPubSub.Pub(gameKey, chessMov) // Notify (pm) the opponent that you made a move @@ -565,5 +566,19 @@ func (g *ChessGame) MoveStr(m string) { delete(g.PiecesCache, mov.S1()) delete(g.PiecesCache, mov.S2()) g.PiecesCache[mov.S2()] = idStr1 + if mov.S1() == chess.E1 && mov.HasTag(chess.KingSideCastle) { + delete(g.PiecesCache, chess.H1) + g.PiecesCache[chess.F1] = "img_7" + } else if mov.S1() == chess.E8 && mov.HasTag(chess.KingSideCastle) { + delete(g.PiecesCache, chess.H8) + g.PiecesCache[chess.F8] = "img_63" + } else if mov.S1() == chess.E1 && mov.HasTag(chess.QueenSideCastle) { + delete(g.PiecesCache, chess.A1) + g.PiecesCache[chess.D1] = "img_0" + } else if mov.S1() == chess.E8 && mov.HasTag(chess.QueenSideCastle) { + delete(g.PiecesCache, chess.A8) + g.PiecesCache[chess.D8] = "img_56" + } + _ = g.Game.MoveStr(m) }