Jeu du démineur en C++

Après avoir suivi le cours de C++ à Supinfo, je voulais pratiquer davantage la programmation bas niveau pour gagner en expérience. J’ai donc choisi de développer un petit jeu, simple et jouable via une interface en ligne de commandes (CLI). J’ai donc choisi de créer ma version du démineur.

Capture d'écran d'une partie de démineur
Une partie de démineur

Pourquoi coder un démineur ?

J’ai fait le choix du jeu démineur pour plusieurs raisons. Premièrement, il s’agit d’un jeu assez simple à réaliser : le jeu est constitué d’une grille avec des mines placées aléatoirement. Je voulais choisir un projet qui me permettrait de pratiquer et pas un projet irréalisable, car mon but était de consolider mes connaissances du langage C++.

Deuxièmement, je ne sais pas encore créer d’interfaces graphiques dans ce langage de programmation. Il me fallait donc choisir un jeu assez simple au niveau des graphismes et de l’affichage pour que je sois capable de développer le jeu pour qu’il soit jouable dans un terminal. Dans le cadre de mes études, j’ai développé pas mal de jeux utilisant des grilles ou des plateaux, que ce soit en Python, en C ou en C++. L’interface du jeu ne serait donc pas très difficile à développer. Une version avec interface graphique pourrait faire l’objet d’une future mise à jour.

Le développement du jeu

Pour développer le jeu, j’ai fait le choix de CLion, un éditeur que j’avais déjà utilisé pour mon projet de fin de chapitre C++. Il m’a fallu moins d’une semaine pour développer une version de base du jeu démineur, jouable sur Windows. Malgré la simplicité du jeu, j’ai réussi à implémenter pas mal de fonctionnalités intéressantes : le programme utilise un algorithme récursif pour découvrir toutes les cases adjacentes qui n’ont aucune mine autour, comme dans le jeu original. J’utilise aussi la librairie <Windows.h> pour changer la couleur des chiffres dans le terminal. Ainsi, le joueur peut facilement voir le nombre de mines autour d’une case et évaluer la situation.

Capture d'écran du code pour le projet de démineur en C++ de Matthieu Pech
Capture d'écran d'une partie du code du jeu et de la sélection de la difficulté

Et maintenant ?

Ce projet n’était pas si difficile, mais il m’a permis de pratiquer le langage en plus des projets que je réalise déjà pour les études. Ma version du démineur est encore très rudimentaire et jouable uniquement en CLI (dans un terminal), il est donc probable que je retourne un jour sur ce projet pour développer une version avec une librairie graphique, mais je suis déjà content de ma version.

Pour ceux qui sont curieux, j’ai publié le code complet dans un dépôt public sur mon Github.

Retour en haut