begin process at 2012 05 27 15:30:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > DEMINEUR : CRÉATION ET SOLUTION

DEMINEUR : CRÉATION ET SOLUTION


 Information sur la source

Note :
Aucune note
Catégorie :Jeux Classé sous :demineur, recherche, solution, regle, analyse Niveau :Initié Date de création :30/10/2008 Date de mise à jour :10/11/2008 21:58:18 Vu / téléchargé :5 678 / 230

Auteur : bzrd

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Ce programme permet de créer une grille de démineur et cherche la solution. On peut aussi lui passer une grille en paramètre et le faire chercher.

Les règles que j'ai trouvées ne sont pas toutes évidentes. Bon courage (il vaut mieux faire des dessins pour chaque cas).

Source

  • Voici les règles utilisées dans la résolution.
  • Si ça peut vous être utile ...
  • Les règles 6 et 7 sont utilisées en dernier ressort car
  • plus complexes.
  • Si aucune règle ne marche, j'utilise une pseudo règle
  • statistique (surement à améliorer).
  • Chaque règle est donnée en français puis en pseudo-code.
  • // ********************************************
  • // Pour les formules
  • // I(x) = Inconnus autour de x
  • // V(x) = Tous les voisins directs de x
  • // E(x) = Etat de x
  • // B(x) = Nombre total de bombes voisines de x
  • // T(x) = Nombre de bombes non trouvées autour de x
  • // C(x) = Nombre de bombes connues autour de x
  • // x inc y = voisins de x Inclus dans y
  • // x int y = intersection de x et y
  • // !(x) = contraire de x
  • // ********************************************
  • // Règle 0
  • S'IL reste autant de bombes à trouver qu'il y a d'inconnus
  • autour de x
  • ALORS tous les inconnus autour de x sont des bombes
  • Si I(x) == T(x)
  • I(x) = Bombe
  • Fsi
  • // Règle 1
  • SI toutes les bombes à trouver autour de x sont trouvées
  • ALORS tous les inconnus autour de x sont vides
  • Si T(x) == 0
  • I(x) = Libre
  • Fsi
  • // Règle 2
  • SI les inconnus de x sont inclus dans les inconnus de y et
  • le nombre de bombes non trouvées autour de x est égal au
  • nombre de bombes à trouver autour de y
  • ALORS les inconnus autour de y (et de x) qui ne sont pas
  • dans l'intersection de x et y sont libres
  • Si I(x) inc I(y) ET T(x) == T(y)
  • I(y) - (x int y) = Libre
  • Fsi
  • // Règle 3
  • SI les inconnus autour de x sont inclus dans ceux de y et
  • le nombre de bombes non trouvées autour de x
  • - le nombre de bombes non trouvées autour de y
  • = le nombre d'inconnus autour de x - le nombr
  • d'intersections
  • ALORS les inconnus de y qui ne sont pas dans l'intersection
  • ont une bombe
  • Si I(x) inc I(y) ET T(y) - T(x) == C(I(x) - (x int y))
  • I(y) - (x int y) = Bombe
  • Fsi
  • // Règle 4
  • SI le nombre de bombes non trouvées autour de x - le nombre
  • d'inconnus de x qui n'appartiennent pas à l'intersection
  • de x et y est égal au nombre de bombes non trouvées autour
  • de y
  • ALORS les inconnus de y qui ne sont pas dans l'intersection
  • sont libres
  • Si T(x) - C(I(x) - (x int y)) == T(y)
  • I(y) - (x int y) = Libre
  • Fsi
  • // Règle 5
  • SI le nombre de bombes non trouvées autour de x - le nombre
  • de bombes non trouvées autour de y est égal au nombre de
  • bombes non trouvées autour de x qui n'appartiennent pas à
  • l'intersection de x et y
  • ALORS les inconnus de x qui ne sont pas dans l'intersection
  • ont une bombe
  • Si C(I(x) - (x int y)) == T(x) - T(y)
  • I(x) - (x int y) = Bombe
  • Fsi
  • // Règle 6
  • SI le nombre de bombes non trouvées autour de x - le nombre
  • d'inconnus de x qui n'appartiennent pas à l'intersection de
  • x et y est égal au nombre de bombes non trouvées autour de y
  • ALORS les inconnus de y qui ne sont pas dans l'intersection
  • sont libres
  • Si T(x) - C(I(x) - (x int y)) == T(y)
  • I(y) - (x int y) = Libre
  • Fsi
  • // Règle 7
  • SI le nombre de bombes non trouvées autour de x - le nombre
  • de bombes non trouvées autour de y est égal au nombre de
  • bombes non trouvées autour de x qui n'appartiennent pas à
  • l'intersection de x et y
  • ALORS les inconnus de x qui ne sont pas dans l'intersection
  • ont une bombe
  • Si C(I(x) - (x int y)) == T(x) - T(y)
  • I(x) - (x int y) = Bombe
  • Fsi
Voici les règles utilisées dans la résolution.
Si ça peut vous être utile ...

Les règles 6 et 7 sont utilisées en dernier ressort car 
plus complexes.
Si aucune règle ne marche, j'utilise une pseudo règle
statistique (surement à améliorer).

Chaque règle est donnée en français puis en pseudo-code.

// ********************************************
// Pour les formules
// I(x) = Inconnus autour de x
// V(x) = Tous les voisins directs de x
// E(x) = Etat de x
// B(x) = Nombre total de bombes voisines de x
// T(x) = Nombre de bombes non trouvées autour de x
// C(x) = Nombre de bombes connues autour de x
// x inc y = voisins de x Inclus dans y
// x int y = intersection de x et y
// !(x) = contraire de x
// ********************************************

// Règle 0
S'IL reste autant de bombes à trouver qu'il y a d'inconnus
autour de x 
ALORS tous les inconnus autour de x sont des bombes
Si I(x) == T(x)
   I(x) = Bombe
Fsi

// Règle 1
SI toutes les bombes à trouver autour de x sont trouvées
ALORS tous les inconnus autour de x sont vides
Si T(x) == 0
 	I(x) = Libre
 Fsi

// Règle 2
SI les inconnus de x sont inclus dans les inconnus de y et
le nombre de bombes non trouvées autour de x est égal au
nombre de bombes à trouver autour de y
ALORS les inconnus autour de y (et de x) qui ne sont pas
dans l'intersection de x et y sont libres
Si I(x) inc I(y) ET T(x) == T(y)
 	I(y) - (x int y) = Libre
Fsi

// Règle 3
SI les inconnus autour de x sont inclus dans ceux de y et 
le nombre de bombes non trouvées autour de x
 -  le nombre de bombes non trouvées autour de y
 = le nombre d'inconnus autour de x - le nombr
d'intersections
ALORS les inconnus de y qui ne sont pas dans l'intersection
ont une bombe
Si I(x) inc I(y) ET T(y) - T(x) == C(I(x) - (x int y))
 	I(y) - (x int y) = Bombe
Fsi

// Règle 4
SI le nombre de bombes non trouvées autour de x - le nombre
d'inconnus de x qui n'appartiennent pas à l'intersection 
de x et y est égal au nombre de bombes non trouvées autour
de y
ALORS les inconnus de y qui ne sont pas dans l'intersection
sont libres
Si T(x) - C(I(x) - (x int y)) == T(y)
 	I(y) - (x int y) = Libre
Fsi

// Règle 5
SI le nombre de bombes non trouvées autour de x - le nombre
de bombes non trouvées autour de y est égal au nombre de
bombes non trouvées autour de x qui n'appartiennent pas à
l'intersection de x et y
ALORS les inconnus de x qui ne sont pas dans l'intersection
ont une bombe
Si C(I(x) - (x int y)) == T(x) - T(y)
 	I(x) - (x int y) = Bombe
Fsi

// Règle 6
SI le nombre de bombes non trouvées autour de x - le nombre
d'inconnus de x qui n'appartiennent pas à l'intersection de
x et y est égal au nombre de bombes non trouvées autour de y
ALORS les inconnus de y qui ne sont pas dans l'intersection
sont libres
Si T(x) - C(I(x) - (x int y)) == T(y)
 	I(y) - (x int y) = Libre
Fsi

// Règle 7
SI le nombre de bombes non trouvées autour de x - le nombre
de bombes non trouvées autour de y est égal au nombre de
bombes non trouvées autour de x qui n'appartiennent pas à
l'intersection de x et y
ALORS les inconnus de x qui ne sont pas dans l'intersection
ont une bombe
Si C(I(x) - (x int y)) == T(x) - T(y)
 	I(x) - (x int y) = Bombe
Fsi

 Conclusion

C standard, devrait être compilable sous tous les environnements.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 novembre 2008 21:55:58 :
Ajout des règles pour vous faciliter la lecture, sans avoir à extraire le ZIP.
10 novembre 2008 21:58:18 :
Ajout des règles pour vous éviter de dézipper ...

 Sources du même auteur

NOMBRES PREMIERS - ERATOSTHENE QUASI ILLIMITÉ

 Sources de la même categorie

Source avec Zip Source avec une capture JEU DES CARTES par eapaceinfo
PROGRAMME DE JEU DE MPT par KerizGarmm
Source avec Zip Source avec une capture JEUX SERPENT par antho974
Source avec Zip Source avec une capture PENDU EN SDL par Damsou91
Source avec Zip STATE MACHINE MODIFICATION MATH BUCKHAM par billybones79

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel
Source avec Zip ANALYSEUR SYNTAXIQUE DU LANGUAGE PASCAL (ANALYSE DESCENDANTE... par wiseman1989
Source avec une capture DÉMINEUR SOUS TERMINAL par aom333
Source avec Zip RECHERCHE D'ANNAGRAMMES par Torin
Source avec Zip ALGORITHME DE RECHERCHE DICHOTOMIQUE par deck_bsd

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Booter un PC [ par Jo ] Bonjour,je recherche comment faire dans un premier temps comment faire booter un PC a partir d'une disquette par exemple sans utiliser aucun systeme d Recherche code source de notepad... [ par PierreP ] ou de tout autre éditeur de texte assez simple.Merci d'avance ! Recherche un compilateur en c [ par turlututu ] Help me!!!!! :0(Je cherche déseperement un compilateur KEIL ELEKTRONIK en C.Je posséde le compilateur C51 Compiler V3.4 sous dos mais j'en voudrait un RECHERCHE VISUAL C++ 6 [ par Death Angel ] Bonjour!!Je recherche Visual C++ 6, si il existe une version Entreprise comme Visual Basic 6. Si c'est possible de le metrte sur un site couper en pet control entre vers de C++ [ par bolix ] je recherche la ligne de commande qui puisse me faire appeler à partir du c++ des programme en asembleurs.je recherche aussi la ligne de commande pou Recherche Microsoft Visual Cpp [ par Socrate ] Je cherche un url (adresse internet) pour télécharger gratuitement Microsoft Visual Cpp.Please help ...Merci d'avance :) RECHERCHE PROGRAMEUR C++ POUR CLICK&CREATE 32bits [ par imothep85 ] salut je recherche un programeur qui veuille bien me progrmmer des petites extensions en c++ pour cnc, j'ai le SDK pour ca et comme j ne suis PAS prog Recherche comment recuperai les variables (options) qui ont lancer mon programme [ par Cybmat ] SAlut je fait qu cpp que depuis moin d'un moiset ej cherche comment on fait pour connaitres les options ki ont lacer mon programe ( ex : pro.exe -cons recherche tutoriel visual C++ [ par tom ] Je programme en cpp mais j'ai bcp de mal avec visual cpp et surtout sa partie graphique.Donc si vous avez un tutoriel vous pouvez me le mailez a : arc Recherche Cpp 6 [ par Ludaw ] BonjourJe recherche la version 6.0 de microsoft visual cppSi qqun connait un url ou l'on peut le téLécharger!Merci d'avance. Please help me...LUDAW


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,714 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales