scrabble: validate scoring & move generation against real GCG games

Replay 17 real tournament games (cross-tables.com, including the 700+ club) and
check, move for move, that:
  - ScorePlay reproduces the protocol score and running total exactly;
  - the move generator produces every dictionary-valid played move with that score.

The GCG parser handles coordinates (across/down), blanks (lowercase), played-through
tiles ("."), passes/exchanges, challenge bonuses, end-game rack adjustments and phony
withdrawals ("--", un-applied). Uses the committed dawg/en_sowpods.dawg.
This commit is contained in:
Ilia Denisov
2026-06-01 23:56:39 +02:00
parent c8c2eb927d
commit 6a794bd9e2
18 changed files with 862 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#character-encoding UTF-8
#player1 David_Firstman David Firstman
#player2 Zombywoof Zombywoof
>David_Firstman: CEIOPRS 8D COPIERS +78 78
>Zombywoof: AAELORW D8 .LAWER +22 22
>David_Firstman: ?AEGILT H8 .GALITEs +77 155
>Zombywoof: AABDFGO G12 GAB +17 39
>David_Firstman: AIJNOUY J6 JU. +26 181
>Zombywoof: AADFHOR C10 FARAD +34 73
>David_Firstman: AINOSVY 15H .YNOVIAS +101 282
>Zombywoof: EEHKNOO 10F KO. +17 90
>David_Firstman: ?EHINSX E11 EX +40 322
>Zombywoof: EEHNOQT K5 HON +23 113
>David_Firstman: ?HIINPS O8 kINSHIP. +98 420
>Zombywoof: EEEQTTV B13 VET +24 137
>David_Firstman: DMNORUW L4 MOW +34 454
>Zombywoof: EEOOQTT M2 TOOT +18 155
>David_Firstman: ACDENRU 2H UNCRA.ED +84 538
>Zombywoof: EEFLQTZ G7 Q. +21 176
>David_Firstman: AABEMOT 1H MA +26 564
>Zombywoof: EEFLTUZ 1N FE +29 205
>David_Firstman: ABDEORT 3B ABORTED +78 642
>Zombywoof: ELLSTUZ 11J LUTZE. +30 235
>David_Firstman: EENNRUY 4A EYEN +29 671
>Zombywoof: DGIIILS A14 GI +20 255
>David_Firstman: EINRU M11 .IN +24 695
>Zombywoof: DIILS 2A ID +20 275
>David_Firstman: ERU F3 .RUE +6 701
>David_Firstman: (ILS) +6 707