Combines game-logic, keyboard-handler, main-loop, and pause-menu into
single level ADT. Handles movement, collision, teleportation, coin/key
pickup, door opening, pause toggling, and time updates. No graphics.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pure logic ADT with verlaag!/verhoog! mutators, tijd-op? predicate,
and formatteer-tijd method. No graphics code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pure logic ADT with punten getter and verhoog! mutator.
Uses punten-per-muntje constant. No graphics code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pure logic ADT with positie, opgepakt? predicate, pak-op! mutator.
Random placement logic uses doolhof ADT. No graphics code.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pure logic ADT with grid-based positie, richting, beweeg! method.
All sprite/animation code removed - drawing responsibility in adt-teken.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pure logic ADT with grid data, cell predicates (muur?, muntje?, etc.),
mutators (cel-set!, verwijder-deur!), and voor-elke-cel iterator.
All graphics code removed - drawing responsibility moved to adt-teken.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Constructor maak-positie returns dispatch closure with rij/kolom getters,
rij!/kolom! mutators, vergelijk? predicate, and beweeg method.
All coordinates are in grid units, not pixels.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All hardcoded values (cell sizes, offsets, sprite scales, timing, score,
UI positions, cell type codes) are now named constants in an R7RS library.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>