NeoDemineur (theme matrix) [Résolu]

Messages postés
39
Date d'inscription
lundi 24 avril 2006
Dernière intervention
15 juillet 2010
- - Dernière réponse : econs
Messages postés
4066
Date d'inscription
mardi 13 mai 2003
Dernière intervention
23 décembre 2008
- 26 avril 2006 à 22:51
Salut à tous !


je suis etudiant en premiere annee bts ig option dev .


Dans le cadre de mes cours on m'a demandé de créer un demineur  (ce que j'ai fait)


je met le lien  membres.lycos.fr/leken11/demineur.zip


je voulais donc avoir votre avis sur le code savoir si vous trouvez ca trop lourd  par ex.


Ma prof n'a pas encore voulu nous expliquer comment on peut faire pour
que le plateau se decouvre tout seul lorsque qu'il n'ya pas de bombes
alentour   (j'espere que vous voyez ce que je veux dire)


Si quelqu'un peut m'expliquer le principe c'est sympa  !


Merci d'avance et bon jeu
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
4066
Date d'inscription
mardi 13 mai 2003
Dernière intervention
23 décembre 2008
3
Merci
Salut,


Il s'agit juste de récursivité. C'est très court à coder. En algorithme, çà donne ceci :

Procedure On_a_clique_sur_une_case(numero_de_la_case)

decouvrir_la_case(numero_de_la_case)

Si le nombre de mine adjacentes est zéro alors

   
On_a_clique_sur_une_case(numero_de_la_case_au_dessus)

    On_a_clique_sur_une_case(numero_de_la_case_a_droite)

   
On_a_clique_sur_une_case(numero_de_la_case_en_dessous)

   
On_a_clique_sur_une_case(numero_de_la_case_e_gauche)


Fin de Si

Fin de procedure




Pour chaque case à découvrir, il faut en plus tester si elle existe
(car quand on approche des bords du tableau de mines, faudrait pas
déborder).


Ainsi, quand tu cliques sur une case sans mine adjacente, ton clic se propage pour découvrir toute une zone de cases libres.


Il y a quelques démineurs qui trainent sur VBFrance, tu peux y jeter un oeil (menu Rechercher)

Manu


<hr size="2" width="100%">
Avant de poster un message, n'oubliez pas de consulter le règlement.
Pensez également à valider les r&#

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Messages postés
135
Date d'inscription
vendredi 4 juin 2004
Dernière intervention
14 février 2013
0
Merci
Salut!

J'en avais fait un sur TI-83. Le principe, tout se passe dans un tableau. Je place mes mines, je parcours mon tableau case par case et s'il y a une mine, j'incrémente de 1 toutes les valeurs des cases voisines. Ensuite, lorsque tu découvre une case, tu parcours ton tableau de droite à gauche et de bas en haut, puis de gauche à droite et de haut en bas, à partir de la case découverte. Si l'une des cases voisines est découverte et vide (sans mines ni nombre), tu la découvres et tu repars de ta case. C'est très lourd, il y a probablement un autre moyen mais je ne le connais pas.

PS : je vais jeter un oeil à ton code mais si ça me saoule, je ne vais pas insister

Jer
Messages postés
39
Date d'inscription
lundi 24 avril 2006
Dernière intervention
15 juillet 2010
0
Merci
Salut et merci oki oui ce moyen la je me doute mais c'est  un peu lourd c'est vrai lol


ya qqchose qui simplifie ca mais au pire je ferai ta methode lol !!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.