SpellGrid capstone: Part I's card engine and Part II's grid engine joined at three seams (rules -> aura data, hazard victims -> one destroy Sequence, Sequence end -> write text, remove the dead, reparse). Three levels with scripted solutions, a naive-timing test via a harness-only hook that reverses the END_OF_PHASE list, CLIs in both tracks, the BATTLECRY IS DOUBLE Expansion Drop, SpellGrid cards and words in course/cards and the catalog, level schema cards/hand, and tools staging/copying of module levels. Co-Authored-By: Claude Opus 5.5 <[email protected]>
15 lines
935 B
JSON
15 lines
935 B
JSON
{
|
|
"$comment": "x grows right, y grows down. Module 10 (SpellGrid): cards are minions in play for player 0, each also a grid object whose noun is the card's noun; hand is the card names in player 0's hand.",
|
|
"type": "object",
|
|
"required": ["width", "height", "objects"],
|
|
"properties": {
|
|
"width": { "type": "integer", "minimum": 1 },
|
|
"height": { "type": "integer", "minimum": 1 },
|
|
"objects": { "type": "array", "items": { "type": "object", "required": ["kind", "x", "y"],
|
|
"properties": { "kind": { "type": "string" }, "x": { "type": "integer", "minimum": 0 }, "y": { "type": "integer", "minimum": 0 } } } },
|
|
"cards": { "type": "array", "items": { "type": "object", "required": ["card", "x", "y"],
|
|
"properties": { "card": { "type": "string" }, "x": { "type": "integer", "minimum": 0 }, "y": { "type": "integer", "minimum": 0 } } } },
|
|
"hand": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
}
|