A game told: twenty-seven written moves stepped through on the boards with a callout wherever there is something to see, and a composer to write the next one

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CCLa2PaEeCj8njQZSWGqHx
This commit is contained in:
Eric WagonerandClaude Fable 5.1 committed 2026-10-26 18:38:59 -04:00
1 parent c8443c6f50
commit 965a28142c
7 files changed
+298 -4

No files matched your search

+2 -1
View File
@@ -100,7 +100,8 @@ function tellOne(before: Cell[], move: Move, ply: number, name: (side: Side) =>
lines.push({ kind: 'freeze', text: `The Basilisk’s gaze falls on ${owner} ${NAMES[kindOf(after[i])]} at ${squareName(i)}, which cannot stir.` });
}
for (const i of heldBefore) {
if (heldAfter.has(i) || after[i] === '' || i === move.from) continue;
// The same piece, still there and no longer held; a piece that has just arrived is another story.
if (heldAfter.has(i) || after[i] === '' || after[i] !== before[i] || i === move.from || i === move.to) continue;
const owner = sideOf(after[i]) === move.by ? who : foe;
lines.push({ kind: 'note', text: `${owner} ${NAMES[kindOf(after[i])]} at ${squareName(i)} is free to move again.` });
}