PROJECT DOSSIER // [TETRIS]VOIR LA SOURCERETOUR AUX PROJETS →

01 // LE PROJET EN BREF

TETRIS

C

Le 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.

PRINCIPALC
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONCriterion
SOURCEINSPECTOR READY
PIÈCES JOINTES (Images, Photos, Videos)

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…