La class Gyges

Voir le sujet précédent Voir le sujet suivant Aller en bas

La class Gyges

Message  didi le Ven 24 Avr 2009, 18:47

bonjour à tous

dans ma classe Gyges ,je fais

tantque partie n'est pas finie
affiche l' etat
effectuer l'action
si action n'est pas valide ,je capture IllegalActionException ,j'affiche l'erreur message et
je continue la boucle .....

mais ça n'affiche pas d'erreur message mais continue la boucle
quelq'un peut m'aider ?

voici mon code
Code:


mercy d'avance

    while(! unePartie.getEtat().getPartieFinie())  {
              System.out.println(unePartie.getEtat());
              action = unePartie.getEtat().getJoueurCourant().proposerCoup(unePartie.getEtat());

              try {
                                  action.effectuer(unePartie);
                    }    catch (IllegalActionException e)      {
                                  System.out.println(" ** votre action n'est pas valide ** ");
                                  System.out.println(" entrez un nouveau action ");
                                  unePartie.getEtat().setPartieFinie(false);
                                                }
                              }

Very Happy

didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: La class Gyges

Message  LSV le Ven 24 Avr 2009, 20:01

ta méthode
action.effectuer(unePartie);

est elle capable de retourner une IllegalActionException?

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: La class Gyges

Message  didi le Ven 24 Avr 2009, 21:18

LSV a écrit:ta méthode
action.effectuer(unePartie);

est elle capable de retourner une IllegalActionException?

oui , dans le class interface Action
dans le méthod effectuer lance une IllegalActionException

didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: La class Gyges

Message  Jhon le Sam 25 Avr 2009, 16:11

Normal qu'il s'arrête pas:
"unePartie.getEtat().setPartieFinie(false);"
Tu laisses ton partie finie à false, donc le while continue. Smile
En outre, pourquoi mettre la partie terminée quand il se trompe ? C'est pas très userfriendly, car du moment que le joueur fait une faute de frappe en donnant la position où il veut aller, ça va provoquer une illegalcoup et donc une illegalaction et donc provoquer la fin de la partie... Mieux vaut laisser les coups et l'Abandon permettre de finir la partie, non ? Wink

Attention aussi à la déclaration d'action :
action = unePartie.g...
c'est pas plutôt
Action action = unePartie.g... ? D'ailleurs je serais étonné si ça compile tel quel O.o

Jhon

Nombre de messages : 212
Age : 28
Prénom : Jonathan
Statut : promo réseaux 2012
Localisation : 50.879858N,4.34801E
Date d'inscription : 23/09/2008

Revenir en haut Aller en bas

Re: La class Gyges

Message  Wark le Sam 25 Avr 2009, 16:47

Jhon a écrit:Attention aussi à la déclaration d'action :
action = unePartie.g...
c'est pas plutôt
Action action = unePartie.g... ? D'ailleurs je serais étonné si ça compile tel quel O.o

Si Action action; est défini plus haut, il n y a pas d'intérêt à ce que tu dis. De plus, déclarer un objet dans une boucle n'est pas efficace, selon moi (de manière plus générale). Tu réserves à chaque passage de boucle l'espace pour une nouvelle action... dans son cas, le même emplacement est réutilisé à chaque fois. :-)

Ps : Corrigez moi si je me trompe mais j'ai toujours programmé ainsi. :p

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: La class Gyges

Message  Jhon le Sam 25 Avr 2009, 18:05

Non non c'est juste ^^ Juste que comme on le voit pas dans le bout de code j'avais un doute sur la présence ou non de la déclaration, donc j'ai préféré rappeler Smile

Jhon

Nombre de messages : 212
Age : 28
Prénom : Jonathan
Statut : promo réseaux 2012
Localisation : 50.879858N,4.34801E
Date d'inscription : 23/09/2008

Revenir en haut Aller en bas

Re: La class Gyges

Message  Contenu sponsorisé Aujourd'hui à 18:56


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum