commit 1b5357dd843c6c497e4a001b9ea9e237a40a3517
parent c2ea4d9c12e9143152b4605a6d98a0b7058d77c4
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Wed, 14 Jun 2023 12:06:33 -0700
add algebraic notation
Diffstat:
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)
}