- Demineur (jeu)
-
Démineur (jeu)
Pour les articles homonymes, voir Démineur.Le démineur est un jeu vidéo de réflexion dont le but est de localiser des mines cachées dans un champ virtuel avec pour seule indication le nombre de mines dans les zones adjacentes.
De nombreuses versions gratuites existent, mais la plus connue est celle fournie avec Microsoft Windows. Cette version particulière, à défaut d'inventer le concept, l'a popularisé, et la désignation Démineur identifie souvent cette version précise et non le principe général du jeu.
Les graphismes du jeu sous Windows n'ont guère évolué depuis la version sur Windows 3.0, mais depuis Windows Vista les graphismes ont été améliorés, proposant notamment une option permettant de remplacer les mines par des fleurs.
Par défaut le jeu se joue avec la souris.
Sommaire
Gameplay
Le champ de mine est représenté par une grille, qui peut avoir différentes formes : deux ou trois dimensions, pavage rectangulaire ou non, etc.
Chaque case de la grille peut soit cacher une mine, soit être vide. Le but du jeu est de découvrir toutes les cases libres sans faire exploser les mines, c'est-à-dire sans cliquer sur les cases qui les dissimulent.
Lorsque le joueur clique sur une case libre et que toutes les cases adjacentes le sont également, une case vide est affichée. Si en revanche au moins l'une des cases avoisinantes contient une mine, un chiffre apparaît, indiquant le nombre de cases adjacentes contenant une mine. En comparant les différentes informations récoltées, le joueur peut ainsi progresser dans le déminage du terrain. S'il se trompe et clique sur une mine, il a perdu.
À des fins de mnémotechnique, on peut signaler les cases contenant des mines présumées par un drapeau en cliquant sur le bouton droit de la souris — mais ce n'est aucunement obligatoire. Il faut faire attention à ne pas signaler une case saine par un drapeau, car cela peut induire en erreur ; ce n'est toutefois pas aussi pénalisant que de découvrir une mine.
Dans le démineur de Windows, il est possible de cliquer simultanément avec les boutons gauche et droit de la souris sur une case. Cette manipulation est à faire sur une case ayant un numéro (donc avec une ou plusieurs mines à proximité) et lorsque le joueur a préalablement déminé le nombre requis de mines alentour. Dans ce cas là, toutes les autres cases adjacentes dépourvues de drapeau seront découvertes. Pratique pour gagner du temps.
Le jeu est chronométré, ce qui permet de conserver les meilleurs scores.
Jusqu'à Windows XP, le démineur de Windows contenait également un smiley prenant différentes humeurs selon la situation : souriant en temps normal, triste lorsque le joueur a perdu, portant des lunettes de soleil lorsqu'il a gagné et nerveux lorsque le bouton de la souris est enfoncé. Un clic sur ce smiley permet de commencer une nouvelle partie[1].
Stratégie ou hasard ?
Le jeu du démineur est un problème NP-complet[2], il invite cependant le joueur à combiner plusieurs tactiques, selon le degré de probabilité. On peut avoir des certitudes absolues selon le nombre d'informations qui s'entrecoupent ; mais on peut aussi n'en avoir absolument aucune, notamment lors des premiers coups où l'on est obligé de procéder à l'aveuglette ; enfin, on peut, sans avoir de certitude absolue, calculer de fortes probabilités. Il s'agit donc alternativement d'un jeu de hasard et d'un jeu de stratégie.
Certaines variantes cherchent à diminuer la part du hasard. Les plus simples offrent une option dans laquelle certaines cases connues du joueur, typiquement les coins, sont toujours sûres. Les plus sophistiquées jouent elles-mêmes en cas de situation où l'on ne peut pas trancher. Une variante particulière a poussé ce dernier procédé dans ses limites : en demandant au joueur de jouer une case ou bien de déclarer explicitement qu'il croit ne pas pouvoir décider, elle rend chaque coup possible dans un espace mathématique étendu.
Mesure de difficulté
La difficulté d'une grille de démineur peut être mesurée avec un indice : le 3BV (abréviation de Bechtel's Board Benchmark Value).
Variantes
Le démineur existait avant Windows, et a été exploité une fois bien connu du grand public sur de nombreuses plateformes (Macintosh, Linux...). Il existe également comme extension des navigateurs de la famille Mozilla. Dans la version Mozilla, il existe également un pavage hexagonal.
Des variantes plus exotiques existent qui proposent des variations de la structure du jeu avec par exemple des plateaux de jeu non plans, plusieurs mines par case, l'intégration d'une levée des indécidables, ou bien du déroulement du jeu avec par exemple des parties en temps limité. Certains programmes offrent aussi des facilités pour le jeu à plusieurs joueurs, comme la certification des résultats en vue de l'établissement de classements, et des statistiques sur de nombreux aspects du jeu, comme sa difficulté théorique compte tenu de la distribution des mines.
version ASCII
Algorithmes
Dans cette section, nous allons considérer un tableau de démineur de largeur m, de hauteur n, et comportant x mines.
Placement des mines
Calcul du nombre de mine de chaque case
Il existe deux grands algorithmes (au sens où ce sont les plis utilisés) permettant le calcul des nombres des différentes cases du démineur.
Par case
Le premier algorithme est dit naïf : c'est la méthode la plus évidente à comprendre et à mettre en place, mais ce n'est pas la plus optimisée.
Après le placement des mines, l'algorithme parcourt le tableau en entier, case par case. Pour chacune d'entre elles, il compte le nombre de mines dans le voisinage direct, et lui assigne ce nombre. Voici une implémentation simplifiée en pseudo-code :
explorer tableau par case si case est vide nombre := compter_mines( case.voisinage ) case.valeur = nombre
Nous aurons donc une complexité algorithmique de .
Par mine
Alors que le premier algorithme s'effectue dans un deuxième temps, celui s'applique au moment-même du placement des mines sur le tableau.
L'algorithme fonctionne en considérant les mines et leur voisinage comme des ensembles. Lorsqu'une case est incluse dans un de ses ensembles, le nombre qui lui est associé est incrémenté de un. Ainsi, en pseudo-code :
// Placement de la mine explorer mine.voisinage par case si case est vide incrémenter case.valeur
Cette approche du problème permet de réunir deux étapes en une seule. En termes de complexité, algorithmique, cet algorithme est plus performant : O(x), sachant que , car le tableau ne peut ni être recouvert de mines, ni contenir plus de mines que de cases (exception faite des variantes avec plusieurs mines par case).
Références
- ↑ (en) Lissa Wiebers, « Navigating Minesweeper », dans SmartComputing, vol. 4, no 3, mars 1996.
- ↑ (en) http://sierpes.cs.us.es/cursos/ia1/trabajos/trabajo-2/minesweeper-toronto.pdf
Lien externe
- Jeu du démineur en ligne (Implémentation Javascript)
- (en) Un résolveur automatique de démineur
- (en) Démineur non rectangular
- Portail du jeu vidéo
Catégories : Jeu vidéo de réflexion | Jeu sous Windows | Problème NP-complet
Wikimedia Foundation. 2010.