Ecrire un Tetris en C++
Conçu par l’ingénieur soviétique Alekseï Pajitnov en 1985 sur Elektronika 60, Tetris est un jeu de placement de pièce dont la finalité. Lorsque Pajitnov crée le concept il est alors par Dmitri Pavlovski et Vadim Guerassimov.
Mécanismes et objectifs du jeu
Tetris se caractérise par une aire de jeu au sein de laquelle des pièces, de formes différentes et appelées « tétrominos », descendent du haut de cette dernière. Au cours de leur descente le joueur peut uniquement les déplacer latéralement ou leur faire effectuer une rotation sur elles-mêmes. Leur descente se termine dès lors qu’elles atteignent la partie inférieure de l’aire de jeu ou une pièce déjà placée. A aucun moment le joueur ne peut en empêcher la descente ; tout au plus peut-t-il, suivant certaines versions du jeu, en accélérer cette dernière.
Le but pour le joueur est de réaliser le plus de lignes possibles, afin de garder de l’espace pour placer les futures pièces[2]. Une fois une ligne complétée, elle disparaît, et les blocs placés au-dessus chutent d’un rang. Si le joueur ne parvient pas à faire disparaître les lignes suffisamment vite, l’écran peut alors se remplir jusqu’en haut. Lorsqu’un tétrimino dépasse du champ de jeu, et empêche l’arrivée de tétriminos supplémentaires, la partie se termine[2],[5]. Le joueur obtient un score, qui dépend essentiellement du nombre de lignes réalisées lors de la partie[6].
Problématiques à résoudre
Les problématiques posées par son codage sont les suivantes :
- Génération aléatoire des pièces, de leur déplacement et de leur rotation,
- Gestion des collisions,
- Gestion de l’air de jeu, repérage des lignes complétées.