PROJECT DOSSIER // [MY_SOKOBAN]VIEW SOURCEBACK TO PROJECTS →

01 // PROJECT AT A GLANCE

MY_SOKOBAN

C

The 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
MEDIA ATTACHMENTS (Images, Photos, Videos)

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…