Je vous propose ce démineur, qui illustre le concept de la programmation orientée objet, en Java.
Héritage, tableaux d'objets, méthode récursive, interface graphique, tout cela y est !
Le principe est simple, la classe de base étant une case, pouvant contenir une mine, sur laquelle on peut "poser un drapeau", ou que l'on peut marquer comme non minée.
Un tableau d'instances de la classe Case représente le terrain à déminer, terrain qui se remplit de manière aléatoire.
Une interface à base de Jframe, la classe Case héritant de la classe Jbutton, afin de se servir de ses propriétés d'enfoncement.
La récursivité est utilisée pour le nettoyage automatique des cases alentours lorsque l'on découvre une case non minée.
L'archive JAR (fichier executable si la machine virtuelle Java est installée sur la machine) :
ici
Les fichiers sources :
ici
A noter : il s'agit d'un programme que j'ai crée il y a plus de 10 ans maintenant, lorsque je passais mon BTS, il n'est donc pas par fait, tout commentaire, positif ou négatif est bienvenu !