01 // LE PROJET EN BREF
TETRIS
CLe Tetris des années 80, dans un terminal, avec des pièces définies par fichier.
Reproduire Tetris dans une fenêtre de terminal : les pièces tombent, s'empilent, et les lignes complètes disparaissent. Les formes ne sont pas figées dans le code, elles se décrivent dans des fichiers, ce qui permet d'inventer ses propres pièces. Une bonne partie du travail est d'ailleurs invisible à l'écran : le sujet impose un mode debug qui doit réafficher au caractère près la configuration des touches et le contenu du dossier de pièces, et qui comptait pour la moitié de la note.
Tetris en ncurses avec pièces chargées depuis des fichiers .tetrimino (dimensions, couleur, forme), analyse manuelle des options de ligne de commande, mode debug complet, chute temporisée, suppression des lignes pleines et panneau latéral high score / niveau / chronomètre.
03 // APPORTS CLÉS
- Pièces entièrement définies par fichier, validation comprise
- Mode debug conforme au sujet, qui pesait la moitié de la note
- Configuration complète via options de ligne de commande, analysées à la main
AU-DELÀ DU SUJET
- Pièces entièrement définies par fichiers texte externes, avec analyseur dédié (analyze_tetriminos.c) : on peut ajouter des tetriminos sans recompiler
- Touches remappables (manage_keys.c) au lieu des flèches en dur
- Mode debug (debug_mode.c) qui affiche les options retenues et le contenu des tetriminos avant de lancer la partie
- Couleurs ncurses par type de pièce (init_pair dans init_screen.c)
- Modification du mode terminal à la volée (modify_term.c) pour la saisie non bloquante
04 // ARBORESCENCE DU CODE
LECTURE DES SOURCES…