dkforest

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

commit 1b5357dd843c6c497e4a001b9ea9e237a40a3517
parent c2ea4d9c12e9143152b4605a6d98a0b7058d77c4
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Wed, 14 Jun 2023 12:06:33 -0700

add algebraic notation

Diffstat:
Mpkg/web/handlers/chess.go | 4++--
Mpkg/web/handlers/interceptors/chess.go | 9++++++---
2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/pkg/web/handlers/chess.go b/pkg/web/handlers/chess.go @@ -131,7 +131,7 @@ html, body { background-color: #222; } <table class="graph"> <tr class="first-row"> {{ range $idx, $el := .Data.Scores }} - <td title="Move: {{ $idx }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> + <td title="Move: {{ $idx }} {{ $el.Move }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> {{ if ge .CP 0 }} <div class="column" style="height: {{ $el | renderCP "white" }}px; background-color: #eee;"></div> {{ end }} @@ -140,7 +140,7 @@ html, body { background-color: #222; } </tr> <tr class="second-row"> {{ range $idx, $el := .Data.Scores }} - <td title="Move: {{ $idx }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> + <td title="Move: {{ $idx }} {{ $el.Move }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> {{ if le .CP 0 }} <div class="column" style="height: {{ $el | renderCP "black" }}px; background-color: #111;"></div> {{ end }} diff --git a/pkg/web/handlers/interceptors/chess.go b/pkg/web/handlers/interceptors/chess.go @@ -425,7 +425,7 @@ func (g *ChessGame) drawPlayerCard(key string, isBlack, isSpectator, isYourTurn, <table class="graph"> <tr class="first-row"> {{ range $idx, $el := .Stats.Scores }} - <td title="{{ $idx | fmtMove }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> + <td title="{{ $idx | fmtMove }} {{ $el.Move }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> {{ if ge .CP 0 }} <div class="column" style="height: {{ $el | renderCP "white" }}px; background-color: #eee;"></div> {{ end }} @@ -434,7 +434,7 @@ func (g *ChessGame) drawPlayerCard(key string, isBlack, isSpectator, isYourTurn, </tr> <tr class="second-row"> {{ range $idx, $el := .Stats.Scores }} - <td title="{{ $idx | fmtMove }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> + <td title="{{ $idx | fmtMove }} {{ $el.Move }} | Advantage: {{ if not $el.Mate }}{{ $el.CP | cp }}{{ else }}#{{ $el.Mate }}{{ end }}"> {{ if le .CP 0 }} <div class="column" style="height: {{ $el | renderCP "black" }}px; background-color: #111;"></div> {{ end }} @@ -836,6 +836,7 @@ func CalcAdvantage(position *chess.Position) (string, string, string, string) { } type Score struct { + Move string CP int Mate int } @@ -897,8 +898,10 @@ func AnalyseGame(pgn string, t int64) (out AnalyseResult, err error) { if idx%2 != 0 { cp *= -1 } + mov := g.MoveHistory()[idx-1].Move + moveStr := chess.AlgebraicNotation{}.Encode(positions[idx-1], mov) cps = append(cps, cp) - scores = append(scores, Score{CP: cp, Mate: mate}) + scores = append(scores, Score{Move: moveStr, CP: cp, Mate: mate}) //fmt.Printf("%d: %d/%d %d %d\n", idx/2, idx, len(positions), idx%2, cp) }