Programmatino tetris en java
Fermé
velocity
Messages postés
204
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
16 octobre 2014
-
8 févr. 2010 à 11:36
velocity Messages postés 204 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 16 octobre 2014 - 8 févr. 2010 à 22:26
velocity Messages postés 204 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 16 octobre 2014 - 8 févr. 2010 à 22:26
A voir également:
- Programmatino tetris en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
4 réponses
Utilisateur anonyme
8 févr. 2010 à 12:44
8 févr. 2010 à 12:44
salut
ta fonction ElementDeJeux.AIPlayer.evaluer() est récursive et s'appelle elle meme de maniere infinie.
ta fonction ElementDeJeux.AIPlayer.evaluer() est récursive et s'appelle elle meme de maniere infinie.
velocity
Messages postés
204
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
16 octobre 2014
6
8 févr. 2010 à 13:01
8 févr. 2010 à 13:01
Bonjour progjv et merci pour votre réponse rapide,
En effet c'est une methode récurise que j'essaie d'ecrire ,elle me permet de trouver la meilleur positionpour la pieceEnJeu . elle doit essayer toutes les possibilités de deplacement et de rotation pour enfin ne retourner qu'une seule position. mais j'ai du mal à la réaliser.
voici ce que j'ai fait jusqu'à maintenant :
à l'affichage dana la console je remarque que la piece ne fait que tourner et ce deplacer à gauche à l'infinie .
je ne sais pas comment regler ce pb .
En effet c'est une methode récurise que j'essaie d'ecrire ,elle me permet de trouver la meilleur positionpour la pieceEnJeu . elle doit essayer toutes les possibilités de deplacement et de rotation pour enfin ne retourner qu'une seule position. mais j'ai du mal à la réaliser.
voici ce que j'ai fait jusqu'à maintenant :
public ModeleGrille evaluer(ModeleGrille mg,int enableRotation){ try{ System.out.println("xpos: "+mg.pieceEnJeu.xpos + "ypos: " + mg.pieceEnJeu.ypos); if(enableRotation == 1){ //essayer les rotations possibles ModeleGrille mgClone = (ModeleGrille)mg.clone(); int i =0; do{ System.out.println("tourner"); if(mg.pieceEnJeu.tourner()){ mgClone.transitions.add(1); //calculer le score de la grille; mgClone.getScore(); //essayer les transitions possibles vers la gauche evaluerGauche(mg); //essayer les transitions possibles vers la droite evaluerDroite(mg); //essayer les transitions possibles vers la droite evaluerBas(mg); }else{ break; } i++; }while(i<4); } //retourner le modele qui donne le meilleur score à terminer }catch(CloneNotSupportedException cnse){ cnse.printStackTrace(); } return null; } public ModeleGrille evaluerGauche(ModeleGrille mg){ try{ if(mg.pieceEnJeu.gaucheVide()){ ModeleGrille mgClone = (ModeleGrille)mg.clone(); System.out.println("gauche"); mgClone.pieceEnJeu.deplacer_gauche(); mgClone.transitions.add(2); //calculer le score de la grille; mgClone.getScore(); return evaluer(mgClone,1); } }catch(CloneNotSupportedException cnse){ cnse.printStackTrace(); } return null; } public ModeleGrille evaluerDroite(ModeleGrille mg){ try{ if(mg.pieceEnJeu.droiteVide()){ ModeleGrille mgClone = (ModeleGrille)mg.clone(); System.out.println("droite"); mgClone.pieceEnJeu.deplacer_droite(); mgClone.transitions.add(2); //calculer le score de la grille; mgClone.getScore(); return evaluer(mgClone,1); } }catch(CloneNotSupportedException cnse){ cnse.printStackTrace(); } return null; } public ModeleGrille evaluerBas(ModeleGrille mg){ try{ if(mg.pieceEnJeu.gaucheVide()){ ModeleGrille mgClone = (ModeleGrille)mg.clone(); System.out.println("gauche"); mgClone.pieceEnJeu.deplacer_gauche(); mgClone.transitions.add(2); //calculer le score de la grille; mgClone.getScore(); return evaluer(mgClone,1); }else{ //supprimer les lignes completes mg.clean(); //calculer le score de la grille; mg.getScore(); return mg; } }catch(CloneNotSupportedException cnse){ cnse.printStackTrace(); } return null; }
à l'affichage dana la console je remarque que la piece ne fait que tourner et ce deplacer à gauche à l'infinie .
je ne sais pas comment regler ce pb .
Utilisateur anonyme
8 févr. 2010 à 20:21
8 févr. 2010 à 20:21
dur dur de débugger comme ca.
il va falloir chercher, ca fait partie intégrante du développement :)
at ElementDeJeux.AIPlayer.evaluer(AIPlayer.java:74)
at ElementDeJeux.AIPlayer.evaluer(AIPlayer.java:60)
Ici se trouve la solution. Bon courage =)
il va falloir chercher, ca fait partie intégrante du développement :)
at ElementDeJeux.AIPlayer.evaluer(AIPlayer.java:74)
at ElementDeJeux.AIPlayer.evaluer(AIPlayer.java:60)
Ici se trouve la solution. Bon courage =)
velocity
Messages postés
204
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
16 octobre 2014
6
8 févr. 2010 à 22:26
8 févr. 2010 à 22:26
j'essaye...merci comme meme pour votre aide