Programming exercises for learning a language
To-do list
Features:
- Add, edit, delete notes
- List notes
Learn:
- File I/O or database (sqlite) bindings
- Input
- Menu system/UI (if provided by language/UI toolkit)
- Data output
Tetris clone
Features:
-
Usual tetris rules
-
Random number generation
- Non-blocking input
- Delay loops
- Graphics (even Curses can do it)
DND/Pathfinder/WFRP combat simulator
Features:
Two characters with profiles fight. Roll initiative to see who attacks first. Roll below weapon skill to hit, damage is weapon damage (D6/D8) + strength - toughness. First character to 0 wounds is dead.
Can additionally use skills like dodge/parry.
Learn:
- Random numbers
- Flow control
- Data structures/pointers
Simple webserver
Features:
- Support for HTTP get from the filesystem
Learn:
- basic TCP networking