Bonjour,
Je suis tout à fait débutant en Java. J'imagine que j'oublie quelque chose de bien simple.
Voici mon problème : Je veux accéder à une méthode attaquer() de ma classe Personnage. Néanmoins, quand j'écris roger.attaquer(bob, roger), ça m'écrit ceci à la compilation :
Voici mon code :Error : cannot find symbol roger.attaquer(bob, roger); (Avec le pointeur sous le point "." entre roger et attaquer)
symbol: method attaquer(Personnage, Personnage)
location: variable roger of Type Personnage.
LancerJeu.java
Personnage.javapublic class LancerJeu {
public static void main(String[] args) {
Personnage roger, bob;
roger = new Personnage(125, 15, 2);
bob = new Personnage(135, 14, 5);
System.out.println(" Point de vie : " + roger.pointVie);
System.out.println(" Point d'attaque : " + roger.pointAttaque);
System.out.println(" Point de magie : " + roger.pointMagie);
roger.attaquer(bob, roger); /* j'ai essayer Personnage.attaquer(bob, roger); et même résultat... */
System.out.println(" Bob (" + bob.pointVie + "hp) attaque Roger ");
System.out.println(" Bob (" + bob.pointVie + "hp) a recu l'attaque de Roger ");
}
}
public class Personnage {
public int pointVie, pointAttaque, pointMagie, enVie, agresseur, defenseur;
public Personnage() {}
public void estVivant() {
enVie++;
}
public void estMort() {
enVie--;
}
public void attaquer(Personnage agresseur, Personnage defenseur) { /*J'ai essayé int agresseur et int defenseur aussi, même résultat */
defenseur.pointVie = defenseur.pointVie - agresseur.pointAttaque;
}
public Personnage(int pointVie, int pointAttaque, int pointMagie) {
this.pointVie = pointVie;
this.pointAttaque = pointAttaque;
this.pointMagie = pointMagie;
}
}
Partager