A move picked from the chronicle puts the boards back as they stood after it, on the flat boards and the glass alike, with Earlier, Later and Back to now in the status strip; one move on plays itself, any other leap sets the pieces out where they stood, and a tap on the boards brings the game back to now
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CCLa2PaEeCj8njQZSWGqHx
This commit is contained in:
1 parent
13fc4c5ef3
commit
0f4ae0dca4
3 files changed
+54
-18
No files matched your search
@@ -20,6 +20,8 @@ export interface Telling {
|
||||
ply: number;
|
||||
move: Move;
|
||||
lines: Line[];
|
||||
/** The boards as they stood once the move was made. */
|
||||
after: Cell[];
|
||||
}
|
||||
|
||||
const WORLD: Record<number, string> = { 3: 'the air', 2: 'the land', 1: 'the underworld' };
|
||||
@@ -127,7 +129,7 @@ export function narrate(state: State, start?: Cell[]): Telling[] {
|
||||
state.moves.forEach((move, n) => {
|
||||
const { lines, after } = tellOne(cells, move, owner);
|
||||
cells = after;
|
||||
out.push({ ply: n + 1, move, lines });
|
||||
out.push({ ply: n + 1, move, lines, after });
|
||||
});
|
||||
if (state.over && out.length) out[out.length - 1].lines.push({ kind: 'end', text: state.over.reason });
|
||||
return out;
|
||||
|
||||
Reference in new issue
Block a user