Demy, un démineur en java

Soyez le premier à donner votre avis sur cette source.

Vue 11 948 fois - Téléchargée 1 771 fois

Description

Un petit démineur vite fait parce que j'en avais mare d'être limiter à des démineurs petite taille sur Windows. Celui ci n'à comme limite de taille et de nombre de mine que la puissance de votre PC.

Je vous propose deux autre aperçu:
-http://silveryann.kilu.de/ImageUL/68dem200.png
-http://silveryann.kilu.de/ImageUL/69dem300.png

Source / Exemple :


//Le code source se trouve dans le zip dossier scr.
//Le jeu dans le dossier Game (Il y a un raccourcis pour Windows, sinon il y a le fichier .jar tout simplement).

Conclusion :


La licence est indiquer dans le jeu menu '?' -> a propos. (C'est la licence du jeu et du code source).
Le jeu n'est pas trop buger selon moi et est rapide d'utilisation, mais si vous trouver des bugs, signalé le moi ;)

Faite moi part de vos commentaire ;)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
43
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
11 octobre 2015

Ok merci je vais faire ça ;)
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
23
Pour le timer, tu peux faire un Thread avec un sleep dans une boucle infinie

par exemple :

class Chrono extends Thread {

@Override
public void run() {


long t0 = System.currentTimeMillis();
long t;

while (!partieTerminee) {

t = System.currentTimeMillis();
partie.setTemps(...)
sleep(100); // 100 par exemple, tu peux mettre 1000 mais il y a un risque de sauter une seconde + ne pas oublier le try / catch

}

}

}
Messages postés
43
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
11 octobre 2015

J'aime bien ton truc pour éviter le StackOverFlowError, c'est bien pensés et surtout j'ai essayer et ça marche bien, même pour une carte de 100*100 avec 10 mines ;) Je le publierais quand j’aurai corriger les autres choses. :)

Pour la boucle principale j'ai un peu de mal à comprendre comment faire sans, enfin surtout pour ce qui est de gérer le temps :s
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
23
Salut,

le mouseReleased rend le jeu plus jouable
à mon avis le son est encore aigu mais ça doit venir de mes oreilles de vieux
le bouton du milieu est une bonne idée, on s'y fait vite

Sinon la boucle principale du jeu n'est pas une bonne idée, je ne l'avais pas vue la première fois mais ça consomme beaucoup de ressources (1 cœur à 100% chez moi), ça ne pose pas de problème sur un double cœur, mais sur un simple cœur, on ne pourra rien faire d'autre pendant la partie. C'est inutile de faire une boucle sans fin qui tourne à fond, il suffit de tester l'état du jeu après chaque évènement .

Sinon pour ton problème de StackOverFlow, je pense que ta méthode demineVide est correcte, mais évidemment, comme elle est récursive ça peut planter si tu dépasses une certaine profondeur d'appel. Tu n'as pas le choix, tu devras faire une méthode itérative. Je te conseille de faire un HashSet<Case> où tu mets toutes les cases voisines, à chaque boucle, tu en prends 1 (casesVoisines.iterator().next()), tu l'ouvres si son nombre de mines est 0, tu l'enlèves du hashset et tu rajoutes toutes ses voisines qui ne sont pas ouvertes. jusqu'à ce que l'ensemble soit vide.

Bon codage.
Jonathan
Messages postés
43
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
11 octobre 2015

Voila voila, j'ai corriger la majorité des points que tu as dénoncer et j'ai fait quelque rajout..

Pour corriger le bug de quand on fais un clic en glissant légèrement le curseur, j'ai pas utiliser un mouseDragged(MouseEvent) mais j'ai tout mis dans mouseReleased(MouseEvent) ;)

J'ai changer le son d'ouverture dit moi ce que t'en pense.

L'action spécial quand tu appuie sur les deux boutons en même temps je l'est mis sur le bouton du milieu car j'ai pas trouver comment faire pour vérifie que les deux cliques sont enfoncer..

Pour la sauvegarde des meilleurs score j'ai pas encore fait mais j'y travaille ;)
Afficher les 8 commentaires

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.