[LAJ1] Projet « Game Over » version 2

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

[LAJ1] Projet « Game Over » version 2

Message  makiboum le Jeu 03 Avr 2014, 22:03

Concernant le traitement de la porte Gate dans la version 2 du projet. la méthode privé playGate(position, arme) est utilisé par la méthode play(direction, arme) pour traiter le cas d'une porte de manière automatique. Mais alors, la position que reçoit la méthode playGate(), où doit elle être lue? dans la méthode play() lors du cas d'une porte avant de faire appel à la méthode playGate() ou dans le gameview  scratch  ( même chose pour la méthode playBlorkInvincible(position) )

makiboum

Nombre de messages : 7
Prénom : Mounir
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  mcd le Jeu 03 Avr 2014, 22:51

Aucune lecture ne peut se faire dans le modèle.
C''est de la responsabilité de la vue d'interagir avec l'utilisateur.
Si un appel à play() indique qu'on vient de retourner une porte, la vue demande à l'utilisateur où il veut aller et avec quelle arme, puis appelle la méthode de Game qui va bien.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  makiboum le Jeu 03 Avr 2014, 23:08

ahh je voit donc maintenant si je comprend bien, enfaite les méthodes playGate() et playInvincbleBlork() sont public et non privé  Surprised 

makiboum

Nombre de messages : 7
Prénom : Mounir
Date d'inscription : 17/09/2013

Revenir en haut Aller en bas

^^

Message  Arbiiza le Ven 04 Avr 2014, 20:04

Bonjour,

je pose ma question içi pour éviter la redondance de post. J'avais une question par rapport à l'un des énnoncés :

"Le joueur peut intervertir la carte blork invincible avec une des cartes
encore face cachée, à l'exception des entrées du donjon.
"

Il peut aussi intervertir avec les entrées du donjon ? je n'ai pas compris ? Il me parait intuitif qu'il ne peut intervertir qu'avec les cartes (caché) sur le plateau.
mais le terme "à l'exception des entrées du donjon" me porte à confusion.

Arbiiza

Nombre de messages : 36
Prénom : Hakim
Date d'inscription : 16/09/2013

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  flo1023 le Ven 04 Avr 2014, 20:37

Arbiiza a écrit:Bonjour,

je pose ma question içi pour éviter la redondance de post. J'avais une question par rapport à l'un des énnoncés :

"Le joueur peut intervertir la carte blork invincible avec une des cartes
encore face cachée, à l'exception des entrées du donjon.
"

Il peut aussi intervertir avec les entrées du donjon ? je n'ai pas compris ? Il me parait intuitif qu'il ne peut intervertir qu'avec les cartes (caché) sur le plateau.
mais le terme "à l'exception des entrées du donjon" me porte à confusion.

Bonsoir,

En gros, tu ne peux pas échanger la carte Blork Invincible avec les coins (qu'ils soient cachés ou pas). C'est pour éviter que le prochain joueur lorsqu'il rentre dans le donjon tombe directement sur un GameOver.. et remette à son tour une carte dans un coin, ce qui n'a aucun sens. Smile
Donc tu peux échanger la carte si : Elle est face cachée, et qu'elle ne se trouve pas dans un coin.


J'ai moi aussi une autre question à propos du BarbarianState.READY_TO_GO. Il est dit dans l'énoncé que la valeur de départ de stateCurrent est CONTINUE, et qu'il faut que la valeur soit CONTINUE dans la méthode play() pour ne pas lancer d'exception. Je me demandais donc quelle est la réelle utilité de READY_TO_GO ?

flo1023

Nombre de messages : 4
Age : 22
Prénom : Florian
Date d'inscription : 04/04/2014

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  pbt le Ven 04 Avr 2014, 22:01

flo1023 a écrit:J'ai moi aussi une autre question à propos du BarbarianState.READY_TO_GO. Il est dit dans l'énoncé que la valeur de départ de stateCurrent est CONTINUE, et qu'il faut que la valeur soit CONTINUE dans la méthode play() pour ne pas lancer d'exception. Je me demandais donc quelle est la réelle utilité de READY_TO_GO ?
C'est une erreur dans l'énoncé. Tu as deux solutions:

1/ Tu n'utilises pas READY_TO_GO mais tu mets qd même la valeur dans l'énum histoire de respecter l'énoncé … et c'est « bizarre »;
2/ Tu remplace CONTINUE par READY_TO_GO comme valeur initiale de stateCurrent … ce qui me semble être la meilleure solution. (La méthode nextPlayer positionnera aussi sateCurrent à READY_TO_GO).

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

^^

Message  Arbiiza le Ven 04 Avr 2014, 22:26

flo1023 a écrit:
Arbiiza a écrit:Bonjour,

je pose ma question içi pour éviter la redondance de post. J'avais une question par rapport à l'un des énnoncés :

"Le joueur peut intervertir la carte blork invincible avec une des cartes
encore face cachée, à l'exception des entrées du donjon.
"

Il peut aussi intervertir avec les entrées du donjon ? je n'ai pas compris ? Il me parait intuitif qu'il ne peut intervertir qu'avec les cartes (caché) sur le plateau.
mais le terme "à l'exception des entrées du donjon" me porte à confusion.

Bonsoir,

En gros, tu ne peux pas échanger la carte Blork Invincible avec les coins (qu'ils soient cachés ou pas). C'est pour éviter que le prochain joueur lorsqu'il rentre dans le donjon tombe directement sur un GameOver.. et remette à son tour une carte dans un coin, ce qui n'a aucun sens. Smile
Donc tu peux échanger la carte si : Elle est face cachée, et qu'elle ne se trouve pas dans un coin.


J'ai moi aussi une autre question à propos du BarbarianState.READY_TO_GO. Il est dit dans l'énoncé que la valeur de départ de stateCurrent est CONTINUE, et qu'il faut que la valeur soit CONTINUE dans la méthode play() pour ne pas lancer d'exception. Je me demandais donc quelle est la réelle utilité de READY_TO_GO ?


Merci beaucoup ! Tu m'as donné des explications très précises c'est vraiment gentil :-) :-)

Arbiiza

Nombre de messages : 36
Prénom : Hakim
Date d'inscription : 16/09/2013

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  flo1023 le Ven 04 Avr 2014, 22:35

pbt a écrit:
flo1023 a écrit:J'ai moi aussi une autre question à propos du BarbarianState.READY_TO_GO. Il est dit dans l'énoncé que la valeur de départ de stateCurrent est CONTINUE, et qu'il faut que la valeur soit CONTINUE dans la méthode play() pour ne pas lancer d'exception. Je me demandais donc quelle est la réelle utilité de READY_TO_GO ?
C'est une erreur dans l'énoncé. Tu as deux solutions:

1/ Tu n'utilises pas READY_TO_GO mais tu mets qd même la valeur dans l'énum histoire de respecter l'énoncé … et c'est « bizarre »;
2/ Tu remplace CONTINUE par READY_TO_GO comme valeur initiale de stateCurrent … ce qui me semble être la meilleure solution. (La méthode nextPlayer positionnera aussi sateCurrent à READY_TO_GO).

D'accord merci pour la réponse ! Il me semblait bien que c'était bizarre !

flo1023

Nombre de messages : 4
Age : 22
Prénom : Florian
Date d'inscription : 04/04/2014

Revenir en haut Aller en bas

Joker ?

Message  Asta le Dim 06 Avr 2014, 22:28

Bonsoir,

J’ai un doute sur les interprétations possibles d’une phrase à propos de l’implémentation du Joker (page 15) :

« Si un joueur est défini comme débutant, il profite d'un privilège par tour à choisir parmi :
 ◦ un joker. S'il se trompe d'arme, il peut réessayer une fois;
 ◦ le joueur gagne (quand même) contre un blork invincible et a le droit de le déplacer.
»

Particulièrement sur le « à choisir » :

  • est-ce que c’est le joueur qui choisit au début de son tour ?
  • le développeur, qui choisit au hasard pour le joueur au début du tour ?
  • le développeur, en n’implémentant qu’un seul des choix ?
  • il n’y a pas de choix, le joueur utilise le joker qu’il a besoin selon le blork sur lequel il tombe ?
  • réponse D, joker, 42…

Implémenter un seul des choix me semble la solution la plus simple à réaliser, mais je préfère demander conseil  scratch

Merci par avance pour votre réponse !


Dernière édition par Asta le Dim 06 Avr 2014, 22:51, édité 2 fois (Raison : Fatigué…)

Asta

Nombre de messages : 21
Prénom : Gatien
Statut : 3e Gestion
Date d'inscription : 22/09/2013

Revenir en haut Aller en bas

Méthode swap()

Message  algra le Lun 07 Avr 2014, 00:49

Pour la méthode swap(), j'ai d'abord écrit ça :
Code:

pIntermediaire = p1;
roomss [p1.getRow()] [p1.getColumn()] = roomss [p2.getRow()] [p2.getColumn()];
roomss [p2.getRow()] [p2.getColumn()] = roomss [pIntermediaire.getRow()] [pIntermediaire.getColumn()];

Mais il déplace le contenu de p2 dans p1 mais comme pIntermediaire pointe à la même l'adresse que p1, le contenu de pIntermediaire=contenu de p2 donc j'ai perdu le contenu initiale p1 ...

Alors je me demandais, si on pouvait ajouter des setteurs pour la classe Room où bien il existe une autre maniere.

Merci d'avance Smile

algra

Nombre de messages : 45
Age : 21
Prénom : Alexis
Statut : Ancien
Date d'inscription : 16/09/2013

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  Asta le Lun 07 Avr 2014, 08:42

algra a écrit:Pour la méthode swap(), j'ai d'abord écrit ça :
Code:

pIntermediaire = p1;
roomss [p1.getRow()] [p1.getColumn()] = roomss [p2.getRow()] [p2.getColumn()];
roomss [p2.getRow()] [p2.getColumn()] = roomss [pIntermediaire.getRow()] [pIntermediaire.getColumn()];

Mais il déplace le contenu de p2 dans p1 mais comme pIntermediaire pointe à la même l'adresse que p1, le contenu de pIntermediaire=contenu de p2 donc j'ai perdu le contenu initiale p1 ...

Alors je me demandais, si on pouvait ajouter des setteurs pour la classe Room où bien il existe une autre maniere.

Merci d'avance Smile

J’ai sauvegardé le room plutôt que sa position comme c’est ce qu’on doit échanger.

Code:

public void swap(DungeonPosition p1, DungeonPosition p2)
    Room rIntermediaire = roomss [p1.getRow()] [p1.getColumn()];
    roomss [p1.getRow()] [p1.getColumn()] = roomss [p2.getRow()] [p2.getColumn()];
    roomss [p2.getRow()] [p2.getColumn()] = rIntermediaire;

Asta

Nombre de messages : 21
Prénom : Gatien
Statut : 3e Gestion
Date d'inscription : 22/09/2013

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  algra le Lun 07 Avr 2014, 11:02

Merci ! Smile

algra

Nombre de messages : 45
Age : 21
Prénom : Alexis
Statut : Ancien
Date d'inscription : 16/09/2013

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  flo1023 le Lun 07 Avr 2014, 16:56

Asta a écrit:Bonsoir,

J’ai un doute sur les interprétations possibles d’une phrase à propos de l’implémentation du Joker (page 15) :

« Si un joueur est défini comme débutant, il profite d'un privilège par tour à choisir parmi :
 ◦ un joker. S'il se trompe d'arme, il peut réessayer une fois;
 ◦ le joueur gagne (quand même) contre un blork invincible et a le droit de le déplacer.
»

Particulièrement sur le « à choisir » :

  • est-ce que c’est le joueur qui choisit au début de son tour ?
  • le développeur, qui choisit au hasard pour le joueur au début du tour ?
  • le développeur, en n’implémentant qu’un seul des choix ?
  • il n’y a pas de choix, le joueur utilise le joker qu’il a besoin selon le blork sur lequel il tombe ?
  • réponse D, joker, 42…

Implémenter un seul des choix me semble la solution la plus simple à réaliser, mais je préfère demander conseil  scratch

Merci par avance pour votre réponse !

A mon avis c'est bien le joueur qui choisit à chaque début de tour le joker qu'il veut utiliser avant de rentrer dans le donjon. Mais maintenant que tu le dis, ça me fait hésiter aussi. Very Happy

flo1023

Nombre de messages : 4
Age : 22
Prénom : Florian
Date d'inscription : 04/04/2014

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  pbt le Mar 08 Avr 2014, 18:07

Asta a écrit:

  • il n’y a pas de choix, le joueur utilise le joker qu’il a besoin selon le blork sur lequel il tombe ?
Pq compliquer…

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  flo1023 le Mar 08 Avr 2014, 18:16

Je viens d'y penser... il n'y a pas de choix à faire, c'est la même méthode pour les deux jokers et on peut en utiliser qu'un par tour de toute manière Wink

flo1023

Nombre de messages : 4
Age : 22
Prénom : Florian
Date d'inscription : 04/04/2014

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  Asta le Mar 08 Avr 2014, 19:32

pbt a écrit:
Asta a écrit:

  • il n’y a pas de choix, le joueur utilise le joker qu’il a besoin selon le blork sur lequel il tombe ?

Pq compliquer…

Pour avoir un minimum de difficulté dans le projet ? ^^

Merci pour la réponse ! Smile

Asta

Nombre de messages : 21
Prénom : Gatien
Statut : 3e Gestion
Date d'inscription : 22/09/2013

Revenir en haut Aller en bas

Re: [LAJ1] Projet « Game Over » version 2

Message  Contenu sponsorisé Aujourd'hui à 10:47


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