Projet Zuul de conception orientée objet en Java d'un jeu d'aventure
Forum des exercices du projet Zuul
Exercice 7.21
How should all the information about an Item present in a Room be produced ?
Which class should produce the String describing the Item ?
Which class should display it ? Why ? Explain in writing.
If answering this exercise makes you feel you should change your implementation, go ahead and make the changes.
Remarque : Il est également possible de prévoir une longDescription pour chaque Item (voir quand il serait intéressant de l'utiliser).
Bonjour, est-ce bon :
Les informations à propos d'un objet présent dans une room doivent être produite par le gameEngine comme pour les sorties des rooms.
La classe qui produit la String est la classe Room puisqu'une room contient un objet et que la classe item ne sert qu'à dire "Il existe un objet de type Item qui est caractérisé par un nom, une description, un poids, un prix".
La classe qui doit afficher l'info est la classe gameEngine, c'est celle qui s'occupe déjà de printer les infos des rooms, il n'y a pas de raison de changer ça.
Quand vous dites qu'il est également possible de prévoir une longDescription pour chaque Item est-ce que vous pensez à ça :
public String getLongItemDescription()
{
if (aItem==null) return ""; //Si il n'y a pas d'item dans la room retourne une string vide.
else return "Nom de l'objet: "+aItem.getItemName()+".\n"+"Description de l'objet: "+aItem.getItemDescription()+".\n"+"Poids: "+aItem.getItemWeight()+"KG.\n"+"Prix: "+aItem.getItemPrice()+"Euros."; //Sinon retourne la description.
}//getLongDescription
Non, ce n'est pas exactement ça.
L'information, c'est-à-dire la description (courte ou longue) d'un Item doit évidemment être produite par l'Item lui-même.
La description longue d'une Room devant indiquer l'Item qui s'y trouve éventuellement, la classe Room devra être modifiée.
Ces descriptions doivent être affichées à chaque fois que nécessaire par le GameEngine.
1) essayez ce que vous pensez juste devoir rajouter (puis complétez éventuellement)
2) je pense que vous avez déjà une méthode qui vous retourne la description d'un Item (à quoi servirait votre nouvelle méthode ?)
3) n'employez pas le pluriel pour un attribut qui je suppose ne peut contenir qu'un seul Item (peut-être qu'il n'en sera plus ainsi dans les exercices suivants)
Réseaux sociaux