Java : Quelques petits problèmes
Bigtux
-
Defouille Messages postés 404 Statut Membre -
Defouille Messages postés 404 Statut Membre -
Bonjour,
J'essaie de faire un tp en java, mais j'ai un petit souci, je pense que je n'ai pas très bien assimilé certaines choses du cours, et je suis un peu perdue sur certains points.
Voilà mon problème. J'ai un ensemble de Personnages qui sont dans un Groupe. J'ai donc une classe Personnage, une classe Groupe. A un moment donné, je dois envoyer un de mes personnage faire une mission, j'ai donc une classe Carte qui contient ma carte, le déplacement du personnage... Mon problème à l'instant est : Quand l'utilisateur me donne un nom de Personnage, il faut que je vérifie qu'il soit dans mon groupe (j'ai une méthode recherche dans Groupe qui recherche si le personnage est dans la groupe). Une fois cela vérifié, il me faut alors affecter mon joueur à ce personnage que m'a désigné l'utilisateur. Mais je n'y arrive pas. Dans la classe Carte j'ai un attribut joueur de type Personnage, j'ai créer les get/set pour y avoir accès ailleurs. Et donc j'essayais de faire dans ma méthode recherche setJoueur(tabPersonnage[rang]); pour que le personnage désigné par l'utilisateur soit attribué au joueur. Mais le problème est qu'il ne connait pas setJoueur dans Groupe, comment puis-je faire ?
Merci de votre aide !
J'essaie de faire un tp en java, mais j'ai un petit souci, je pense que je n'ai pas très bien assimilé certaines choses du cours, et je suis un peu perdue sur certains points.
Voilà mon problème. J'ai un ensemble de Personnages qui sont dans un Groupe. J'ai donc une classe Personnage, une classe Groupe. A un moment donné, je dois envoyer un de mes personnage faire une mission, j'ai donc une classe Carte qui contient ma carte, le déplacement du personnage... Mon problème à l'instant est : Quand l'utilisateur me donne un nom de Personnage, il faut que je vérifie qu'il soit dans mon groupe (j'ai une méthode recherche dans Groupe qui recherche si le personnage est dans la groupe). Une fois cela vérifié, il me faut alors affecter mon joueur à ce personnage que m'a désigné l'utilisateur. Mais je n'y arrive pas. Dans la classe Carte j'ai un attribut joueur de type Personnage, j'ai créer les get/set pour y avoir accès ailleurs. Et donc j'essayais de faire dans ma méthode recherche setJoueur(tabPersonnage[rang]); pour que le personnage désigné par l'utilisateur soit attribué au joueur. Mais le problème est qu'il ne connait pas setJoueur dans Groupe, comment puis-je faire ?
Merci de votre aide !
A voir également:
- Java : Quelques petits problèmes
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
5 réponses
Bonjour, as tu une référence à ta classe Carte dans ta classe Groupe ?
Dans ce cas tu pourrais faire quelque chose du style
:)
Dans ce cas tu pourrais faire quelque chose du style
maCarte.setJoueur(...);
:)
Si j'ai bien compris le personnage est identifié par un numéro de rang.
Dans ton main tu as ta Carte et ton Groupe, tu peux donc faire quelque chose du style :
Dans ton main tu as ta Carte et ton Groupe, tu peux donc faire quelque chose du style :
if(monGroupe.recherche(rang))
maCarte.setJoueur(monGroupe.tabPersonnage[rang]);
Je ne comprend pas comment tu appelles t'a méthode de recherche et que te fournis l'utilisateur. Donne nous un peu de code ^^
Voilà ma méthode de recherche qui se trouve dans Groupe
public boolean cherche(String perso){
boolean estLa = false;
int rang = 0;
while(!estLa && rang<this.getNbPerso())
if (tabPerso[rang].getNomPerso().equals(perso) ) {
estLa = true;
}
else rang = rang + 1;
return estLa;
}
et mon appel à la méthode qui se trouve dans mon main est
System.out.println("Donnez moi le nom d'un perso");
String nomJoueur = Keyboard.getString(); //recupere le nom
boolean ilYEst ;
ilYEst = monGroupe.cherche(nomJoueur); // Verifie que le nom est dans le groupe
if (ilYEst){
maCarte.faireLaMission();
}
En espérant que ça vous aide !
public boolean cherche(String perso){
boolean estLa = false;
int rang = 0;
while(!estLa && rang<this.getNbPerso())
if (tabPerso[rang].getNomPerso().equals(perso) ) {
estLa = true;
}
else rang = rang + 1;
return estLa;
}
et mon appel à la méthode qui se trouve dans mon main est
System.out.println("Donnez moi le nom d'un perso");
String nomJoueur = Keyboard.getString(); //recupere le nom
boolean ilYEst ;
ilYEst = monGroupe.cherche(nomJoueur); // Verifie que le nom est dans le groupe
if (ilYEst){
maCarte.faireLaMission();
}
En espérant que ça vous aide !
Modifie ta fonction de la façon suivante :
Et ton appel devient :
Du coup tu as ton rang disponible à l'extérieur. Test et dis moi si ça marche, j'ai rien pour tester.
public boolean cherche(String perso, int &rang){
boolean estLa = false;
/* suppression ligne int rang = 0 ;*/
while(!estLa && rang<this.getNbPerso())
if (tabPerso[rang].getNomPerso().equals(perso) ) {
estLa = true;
}
else rang = rang + 1;
return estLa;
}
Et ton appel devient :
int rang = 0; ilYEst = monGroupe.cherche(nomJoueur, rang); // Verifie que le nom est dans le groupe
Du coup tu as ton rang disponible à l'extérieur. Test et dis moi si ça marche, j'ai rien pour tester.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et sinon j'ai pensé à creer un joueur (monjoueur) dans ma classe Groupe, et que quand j'ai trouvé le personnage dans mon groupe, j'affecte le personnage à monjoueur. Mais ma methode recherche renvoi un boolean, peut-elle renvoyer monjoueur aussi ? Ou sinon comment puis-je avoir accès à monjoueur ?!
Merci !