| Fonctionnement du démineur. |
Lo

Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
|
| Ecrit le: 09 Nov 2008, 14:15 Message non corrigé | |
|
Voilà, je suis entrain de programmer en Java un démineur. (du style window XP)
Alors j'aimerais savoir ce qu'il doit se passer quand on clique par exemple sur une cellule ou il n'y a pas de bombes voisines.
Je sais qu'il faut faire une boucle qui découvre toutes les cellules autour, mais je sais pas très bien jusqu'ou.
Pcq parfois ça découvre juste une case, et parfois ça en découvrent plusieurs d'un coup, alors si quelqu'un sais pourquoi peut il m'expliquer le jeux pcq là je vois pas très bien.
________ Parce qu'on ne peut s'exprimer que par nos créations. ^^
|
|
| |
|
|
David

Grade : Expert
Inscrit le: 11 Mai 2005, 20:30
|
| Ecrit le: 09 Nov 2008, 15:27 Message non corrigé | |
|
Lorsqu'il n'y a pas de bombe voisine, on dévoile les cases voisines qui n'ont pas de bombe voisine.
Ici, nous avons affaire à une récursivité.
Une case peut demander au case voisine de se dévoiler.
Une case peut se dévoiler si elle n'a pas de bombe a proximité.
Imaginons cette carte :
oooooxoo
ooxooooo
ooxooooo
ooooxooo
On clique en haut à droite.
La case n'a pas de bombe voisine, donc elle demande à ses cases voisines de se dévoiler. Ici, il y en a 3.
Celle de gauche se dévoile, elle a une bombe voisine donc elle affiche '1' et ne demande pas à ses cases voisine de se dévoiler.
Ensuite, la case juste en dessous à gauche. Cette case a une bombe voisine donc elle affiche '1' et ne demande pas au autres cases de se dévoiler.
Ensuite, la troisième, celle juste en dessous de la case en haut à gauche. Cette case n'a pas de bombe voisine, elle n'affiche donc rien et elle demande au cases voisines de se dévoiler. C'est là qu'intervient la récursivité ! C'est à dire que pour chacune des cases voisines, on rappel la méthode qui est appelé lorsqu'on clique sur une case.
Voici donc le contenu de la méthode correspondant au clique sur une case :
1) On compte le nombre de bombes voisines.
2) S'il y a au moins une bombe voisine, on affiche ce nombre et on s'arrête là.
3) S'il n'y a pas de bombe voisine, on appel cette méthode (celle dans laquelle nous somme en ce moment) (elle s'appelle elle-même) comme si on avait cliqué sur chacune des 8 cases voisines.
Et c'est tout ! En quelques lignes, tout le travail simple fait sur une seule case se répercute sur celle situé à proximité jusqu'à dévoiler les parties sans risque de la carte.
________ Apprenez à créer votre propre FPS en C++ avec OpenGL. C'est pas dur ! :-)
|
|
| |
|
|
Lo

Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
|
| Ecrit le: 09 Nov 2008, 15:56 Message non corrigé | |
|
Ha okiche, je comprends!
Cool, je vais bientôt pouvoir le finir. (il ne me reste plus que la gestion des évènements)
L'affichage m'a pris pas mal de temps, mais là il est bon.^^
Pas simple à faire quand même.
Enfin soit si j'arrive à le terminé se sera un bonne exemple pour l'affichage, et la gestion des évènements en Java!
Et aussi la gestion du temps avec le chronomètre.
Enfin soit l'affichage et pas mal du tout et je peux mettre ce que je veux comme image.
________ Parce qu'on ne peut s'exprimer que par nos créations. ^^
|
|
| |
|
|
David

Grade : Expert
Inscrit le: 11 Mai 2005, 20:30
|
| Ecrit le: 09 Nov 2008, 16:03 Message non corrigé | |
|
Tu peux nous monter une capture histoire de nous mettre l'eau à la bouche ?
________ Apprenez à créer votre propre FPS en C++ avec OpenGL. C'est pas dur ! :-)
|
|
| |
|
|
Lo

Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
|
| Ecrit le: 09 Nov 2008, 17:56 Message non corrigé | |
|
Pas de problème, mais je suis pas info graphiste donc je pense pas que ça mettra l'eau à la bouche comme tu dis.
Mais dès que j'aurais fini, je ferai une démo dans mon tutoriel Java, mais si il y a un infographiste disponible pour me faire les images je veux bien. ^^
Parce que je te dis pas comment que je galère pour faire les images. (Même si je peux mettre celles que je veux, il suffit de les changer à la racine de mon projet)
________ Parce qu'on ne peut s'exprimer que par nos créations. ^^
|
|
| |
|
|
Lo

Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
|
| Ecrit le: 11 Nov 2008, 12:19 Message non corrigé | |
|
Héhéhé, gestion du temps fini, il me reste plus qu'à sauvegarder une partie dans un fichier, et le classement.
Mais là j'ai envie d'attaquer les sons car j'ai jamais essayer, mais y'a t'il quelqu'un peut me donner un site sympa ou on peut télécharger des sons sympa svp?
Alors j'aurais besoin évidement d'un son quand une bombe explose, et un autre quand on découvre une cellule.
________ Parce qu'on ne peut s'exprimer que par nos créations. ^^
|
|
| |
|
|
David

Grade : Expert
Inscrit le: 11 Mai 2005, 20:30
|
| Ecrit le: 11 Nov 2008, 12:32 Message non corrigé | |
|
Perso je vais findsound, il y a des sons simpats
Explosion :
http://www.netdoo.com/wodx/sounds/weapons/grenlf1a.wav
http://www.shockwave-sound.com/sound-effects/explosion%20sounds/Arcade%20Explo%20A.wav
Clique / dévoilement de la map :
http://samples.edge6.com/dr-550/CLAP.WAV
http://music.griswold.k12.ct.us/music/Audio/Student_WAV_Samples/Yup.wav
http://gamelay.usami.com/~netboy/w30/samples/01_roland_mc-303/wavs/Realclap.wav
________ Apprenez à créer votre propre FPS en C++ avec OpenGL. C'est pas dur ! :-)
|
|
| |
|
|
Lo

Grade : Expert
Inscrit le: 26 Dec 2007, 17:33
|
| Ecrit le: 11 Nov 2008, 13:49 Message non corrigé | |
|
Oké, merci!
________ Parce qu'on ne peut s'exprimer que par nos créations. ^^
|
|
| |
|
| |