Add built-in answer tones and automatic multiple-choice progression

This commit is contained in:
Brian Holman committed 2026-11-09 20:30:45 -07:00
1 parent 9f7d6f4786
commit 0bfee790a8
18 files changed
+1658 -21

No files matched your search

+11 -3
View File
@@ -25,7 +25,12 @@ Multiple choice: **1–4**. Typed answers: letters/spaces/periods, **Backspace**
answer. A near spelling offers **R** to edit the existing answer or **V** to
reveal. Only an exact/accepted alias earns a point. A successfully corrected
answer earns one point and increments the separate correction count.
Release keys between presses; **Space** advances after feedback.
Both modes play a rising tone for a correct answer and a lower, falling tone
for an incorrect answer, using the CoCo's built-in sound output. No sound
cartridge is needed. Multiple-choice feedback advances automatically after
the tone and a 1.5-second reading pause. In typed mode, **Space** advances after
feedback. Release answer keys before answering the next question; a held key
cannot submit another answer.
After all 50 questions: **R** paginated missed-answer review, **N** next review
page, **B** results, **P** play again, **Q** return to BASIC. Replay returns to
@@ -61,11 +66,14 @@ make test # host logic and geometry checks
```
The editable inputs are `data/states.tsv`, `data/map-seeds.json`,
`assets/usa-source.svg`, `main.c`, `src/quiz.c` and `src/ui.c`. Generated drawing
`assets/usa-source.svg`, `main.c`, `src/quiz.c`, `src/ui.c` and the root-level
`quiz.h`, `ui.h` and `map_data.h` headers. Keeping project headers beside
`main.c` also makes them available to VCC Plus's isolated build snapshots. Generated drawing
and state C files are retained for toolchain-only builds. Build outputs are
ignored. The public MCP JSON-RPC client in `tools/vcc_mcp.py` takes an exported
private grant path; keep that grant outside Git. See [test evidence](docs/TESTING.md)
for actual emulator coverage and limitations, and [credits](assets/CREDITS.md)
for baseline emulator coverage, [feedback tests](docs/FEEDBACK_TESTING.md)
for the sound and automatic-advance checks, and [credits](assets/CREDITS.md)
for map attribution and licenses.
For the complete public-MCP regression suite, export a private connection with