Bonjour,
nous sommes en train de développer un jeu de domino sous java (eclipse). Nous avons déjà bien avancé, mais nous sommes confrontés à un problème depuis un certain temps.
Ce qu'on a déjà fait: on a défini les dominos comme des couples d'entiers.
La plateau de jeu est donc un tableau d'entiers.
Dans un premier temps, pour ne pas compliquer de trop le programme, on se limite au cas ou le plateau n'est qu'à une dimension (les dominos sont bout à bout, en ligne)
On initialise toutes les cases du tableau "plateau" à 99, pour qu'il n'y ait pas de confusion entre une case sans domino, et une case avec domino (la case porte donc une valeur comprise entre 0 et 6 si la case porte un domino, 99 sinon).
Notre problème: On ne réussit pas à placer le premier domino sur le plateau
On veut le placer au centre du plateau, pour qu'on ait la place de jouer de chaque côté de ce premier domino. Le problème, c'est que nulle part on n'arrive à changer les cases du plateau (qui est initialisé à l'aide d'une boucle for sur le nombre de cases du plateau dans le constructeur de la classe). On a essayé de changer des cases du plateau un peu partout (depuis différentes méthodes de la classe), mais le plateau ne veut rien savoir, toutes les cases restent à la valeur 99 quand on affiche le plateau.
Voilà ce qu'on obtient sur la console eclipse lorsqu'on exécute le programme:
(20-1) (1-2) (2-3) (3-4) (6-6) //Liste de dominos dans le talon repéré par l'en-tête "(20-1)"
(10-15) (1-1) (0-2) (0-3) (4-4) (2-6) (5-6)
(10-15) (0-4) (0-5) (0-6) (1-6) (3-5) (3-6)
(10-15) (0-0) (0-1) (1-3) (2-2) (3-3) (1-5)
(10-15) (1-4) (2-4) (2-5) (4-5) (4-6) (5-5) //Listes des 4 joueurs, repérées par les en-têtes "(10-15)"
|99|99|99|99|99|99|99|99|99|99|99|99|99|99|99|...|99| //Affichage du plateau de jeu
Le tableau "plateau" est déclaré comme une variable d'instance de la classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 protected int[] plateau; On le remplit de 99 dans le constructeur de la classe: for (int i=0 ; i<pl ; i++){ plateau[i]=99; }
Même lorsqu'on met
plateau[14]=44;
dans ce même constructeur, juste après la boucle for ci-dessus, l'affichage du plateau nous renvoie une ligne de 99
Nous avons eu beau essayer de trouver d'où vient ce problème, on sèche...
Merci d'avance pour vos réponses!
Partager