Classe Java

Résolu
Apaachee Messages postés 248 Date d'inscription   Statut Membre Dernière intervention   -  
LnG01 Messages postés 263 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je dois créer un jeu dans le cadre de ma licence. Le jeu se fait sur un plateau et le nombre de cases de ce plateau est variable ainsi que la couleur des pions que l'ordinateur joue.

class Joueur{
	

	Joueur(int n, String c, boolean variante){
		int nbCases = n;
		String couleur = c;
		System.out.println("Couleur : "+couleur+" Taille plateau : "+nbCases);
	}

        Coup play(Coup a){ ... }
}


Deux autres classes existent : Connexion (l'interface graphique qui fait jouer ma classe joueur) et la classe coup, je n'ai pas accès à ces classes.

Le jeu appelle mon constructeur de ma classe Joueur puis fait jouer ma fonction Coup().
Comment récupérer mes variables nbCases et couleur(2 joueurs donc 2 couleurs de pions) dans ma fonction Coup() ?
A voir également:

8 réponses

LnG01 Messages postés 263 Date d'inscription   Statut Membre Dernière intervention   71
 
créer des getters qui récupère ces variables ex :

public int getNbCases () {
return this.nbCases;
}

tu les appelles ensuite dans ta méthode Coup
0
Apaachee Messages postés 248 Date d'inscription   Statut Membre Dernière intervention   47
 
J'avais essayé et...

Error : Cannot find symbol
symbol : variable nbCases
0
Apaachee Messages postés 248 Date d'inscription   Statut Membre Dernière intervention   47
 
Autre question, comment appelles mon getter (quand il fonctionnera) dans ma fonction Coup ?
0
LnG01 Messages postés 263 Date d'inscription   Statut Membre Dernière intervention   71
 
déclare tes variables en globales dans ta classe :
class Joueur{
	int nbCases;
        String couleur;


	Joueur(int n, String c, boolean variante){
		setNbCases(n);
		setCouleur(c);
		System.out.println("Couleur : "+getCouleur()+" Taille plateau : "+getNbCases());
	}

        public int setNbCases(int nbrCases) {
            this.nbCases=nbrCases;
        }

         public String setCouleur(String color) {
            this.couleur=color;
        }


        public int getNbCases() {
           return this.nbCases;
        }

       public String getCouleur() {
          return this.couleur;
       }
        Coup play(Coup a){ 

        getNbCases();
        }
}


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Apaachee Messages postés 248 Date d'inscription   Statut Membre Dernière intervention   47
 
Impeccable, problème entièrement résolu !!

Merci LnG01 :)
0
LnG01 Messages postés 263 Date d'inscription   Statut Membre Dernière intervention   71
 
de rien, c'est la base là les getters et setter...
Bonne chance pour la suite

PS : pour info, si tu déclares les variables dans ton constructeur, elles ne seront visibles que par ce conctructeur, et pas accessibles de l'extérieur (elles n'existent qu'à l'intérieur de cette méthode), d'où l'interet de les déclarer dans la classe elle même. Ainsi, n'importe quelle méthode de ta classe Joueur peut y accéder.
Le constructeur est là pour "paramétrer" ces variables (leur donner une valeur) mais pas pour déclarer leur existence, cela se fait au niveau de la classe.
0
Apaachee Messages postés 248 Date d'inscription   Statut Membre Dernière intervention   47
 
J'ai vraiment du mal avec les classes :/

2 classes dans 2 fichiers :

class Joueur{
	
	int nbCases;
    String couleur;
	Plateau plat;

	Joueur(int n, String c, boolean variante){
		setNbCases(n);
		setCouleur(c);
		plat = new Plateau((2*n)+1);
	}
...

}

class Plateau{
	
	char[][] plateau;

	Plateau(int n){
		
		System.out.println("Nb cases plateau : "+n+"x"+n);
	
		int i,j;
		for(i=0;i<=n;i++){
			for(j=0;j<=n;j++){
				setcase(i,j,'0');
			}
		}

	}
	
	public void setcase(int x, int y, char valeur) {
        this.plateau[x][y] = valeur;
    }

}

Erreur : java.lang.NullPointerException
0
LnG01 Messages postés 263 Date d'inscription   Statut Membre Dernière intervention   71
 
faut instancier ton plateau :
char [][] plateau = new char[a][b] où a et b étant les valeurs que tu veux, ou new char[a][] le deuxième paramètre étant défini dans une boucle
regarde ici : http://www.a525g.com/programmation/java-introduction-tableaux.htm
ou là : http://prevert.upmf-grenoble.fr/Prog/Java/CoursJava/tableaux.html
0