[c++][sdl][guichan] démineur

Soyez le premier à donner votre avis sur cette source.

Vue 7 183 fois - Téléchargée 674 fois

Description

Un classique démineur. J'utilise les SDL, que des fonctions basiques donc ça peut être un bon exemple pour débuter. J'utilise le GUI Guichan il existe peu de tuto pour celui-ci donc ça peut aussi servir d'exemple.

Conclusion :


Si vous avez jouez vous verrez que les cases vides ne s'ouvrent pas toutes seules, j'ai pas trouver comment faire cela. Si quelqu'un à une idée elle est la bien venue.

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

tit_toinou
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.

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.