01 // PROJECT AT A GLANCE
MY_SOKOBAN
CThe crate-pushing puzzle, playable in a resizable terminal.
A classic puzzle: pushing crates onto marked spots, never being able to pull. The game runs entirely in the terminal, must react to window resizing, and detect dead-end situations — because nothing is more frustrating than a stuck puzzle that does not say so.
Sokoban in ncurses: level loading from a file, movement with pushing rules, deadlock detection and terminal resize handling.
PRIMARYC
DELIVERYTEAM RECORD
VERIFICATIONCriterion
SOURCEINSPECTOR READY
03 // KEY OUTCOMES
- Automatic detection of dead-end situations: the game is lost as soon as every crate is stuck
- Strict map file validation before starting the game, and instant reset through the space bar
- Map re-centred each turn, with an enlargement message while the terminal is too small
BEYOND THE BRIEF
- An embedded information window (my_popup.c) for in-game messages
- Criterion tests on map validation and row and column counting
04 // SOURCE TREE
READING SOURCE…