Academic · 2023
Sokoban
A terminal puzzle game in C with box pushing, file-based levels and an ncurses interface.
Problem
Implement Sokoban's rules and an interactive terminal interface in C.
Implementation
- Map, menu and colored game object rendering through ncurses.
- Player movement, wall collisions and box pushing.
- Loading levels from text files and checking boxes placed on targets.
- Separation of maps, game objects, the controller and rendering.
- Makefile build and Doxygen documentation generation.
Decision
Text maps separate levels from game logic, while ncurses handles display and input directly in the terminal.
Handle collisions and box pushing while updating targets correctly and freeing memory when a level ends.
Outcome
A team coursework project with source code, levels, rules and build commands.