Moteur : classement de l'analyse d'un coup, comme gnubg de bureau

engine_analyse_move rend les dix premiers coups de la liste de l'analyse,
chacun au niveau où gnubg l'a évalué, et refait d'abord l'analyse de la
chance comme AnalyzeMove : son cache change les coups restés à 0 pli.
Les références d'analyse gagnent le niveau de chaque coup du classement,
comparé par compare.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-12 02:47:38 +01:00
co-authored by Claude Opus 5.5
parent c42316d9d8
commit 1d21ac15d2
23 changed files with 516 additions and 22 deletions
+2 -1
View File
@@ -130,7 +130,8 @@ if .type == "move" then
and (.played_position_id | test("^[A-Za-z0-9+/]{14}$")) and (.played_equity | nombre)
and (.best_move | type) == "string" and (.best_equity | nombre)
and (.equity_loss | nombre) and .equity_loss <= 0 and (.skill | skill)
and (.ranking | length) >= ([.rank, ([.move_count, 10] | min)] | max))
and (.ranking | length) >= ([.rank, ([.move_count, 10] | min)] | max)
and all(.ranking[]; (.move | type) == "string" and (.ply | nombre) and (.equity | nombre)))
then empty else "analyse de coup incomplète" end)
elif .type == "cube" then
(if (.plies | keys) == ["0", "2"] and (.action | IN("no_double", "double", "take", "pass"))