[C++][SDL][GUICHAN] DÉMINEUR

Signaler
Messages postés
49
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
16 juillet 2008
-
Messages postés
49
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
16 juillet 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42529-c-sdl-guichan-demineur

Messages postés
49
Date d'inscription
vendredi 1 septembre 2006
Statut
Membre
Dernière intervention
16 juillet 2008

Salut. Je n'arrive pas à lancer ton programme. Il me faut le runtime VC++. J'ai installé Microsoft Visual C++ 2005 Runtime Library
--> (http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en)
mais rien n'y fait, ca ne marche pas.

Ton code :

"
mario[VIDE] = IMG_Load("img/vide.JPG");
mario[RIEN] = IMG_Load("img/rien.JPG");
mario[MINE] = IMG_Load("img/mine.JPG");
mario[UN] = IMG_Load("img/un.JPG");
mario[DEUX] = IMG_Load("img/deux.JPG");
mario[TROIS] = IMG_Load("img/trois.JPG");
mario[QUATRE] = IMG_Load("img/quatre.JPG");
mario[CINQ] = IMG_Load("img/cinq.JPG");
mario[SIX] = IMG_Load("img/six.JPG");
mario[SEPT] = IMG_Load("img/sept.JPG");
mario[HUIT] = IMG_Load("img/huit.JPG");
"

pourquoi mario[VIDE] etc.. ? Ne serait-ce pas un vulgaire copier/coller du site du zero?
--> (http://www.siteduzero.com/tuto-3-6062-1-tp-mario-sokoban.html#ss_part_3)

Il manque le nombre 8 en image.

Je poste un commentaire juste pour t'indiquer qu'il est possible de résoudre ton probleme de cases vides.
Lis Ca --> http://www.siteduzero.com/tuto-3-23774-1-la-recursivite.html
j'ai fait un demineur ( console :-( ) et il est possible de résoudre ton probleme avec une fonction recursive.

Maintenant que tu as lu le tuto, essaie de comprendre ce qui suit :

considere cela :
___ ___ ___
_O_|_O_|_O_
_O_|_X_|_O_
_O_|_O_|_O_
(X est la case qui se trouve à X Y et est la case en ce moment selectionne)

Fais une fonction (void) ou tu passe :
- ta matrice
- la position X
- la position Y

Theorie :

pour la case X-1 et Y-1 (en haut a gauche) :

Si X et Y ne sont pas aux bords (if X>0 && Y>0)
{
Si matrice[X-1][Y-1] vaut VIDE et RIEN (elle n'a pas de mines autour et elle n'a pas encore été cliquée)
{
matrice[X-1][Y-1] a été cliquée
rappeller cette meme fonction avec en argument : la matrice, X-1, Y-1
}
Sinon
{
matrice[X][Y] a été cliquée
}
}

etc.. pour les autres cases (X+1 Y+1 pour la case en bas à gauche etc.. bref ta compris quoi)

Voila pour mon demineur cette technique (que j'ai imaginée et que je n'ai PAS copié/collé d'un autre site) marche. (j'ai l'impression en tout cas)

A+, en esperant t'avoir aider.