Je suis débutant à l'aide
Novice++
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Novice++ -
Novice++ -
Bonjour,
Je commence à peine le java et j'ai un petit soucis le voici en quelques mots.
Je suis en train de programmer un jeu d'échec, voici la méthode que j'ai choisi:
l'objet échiquier connait la position de mes pièces
l'objet plateau est un gridlayout de 64 case
l'objet case hérite de canvas.
Voila mon problème, chaque case détecte l'enfoncement de la souris, mais je n'arrive pas a faire remonté l'info au plateau du coup impossible de demander à l'échiquier de me renvoyer la pièce présente sur la case GRRRRRRRRRR.
Une petite idée ou explication d'une erreur de ma part serai le bienvenue.
Merci d'avance
Je commence à peine le java et j'ai un petit soucis le voici en quelques mots.
Je suis en train de programmer un jeu d'échec, voici la méthode que j'ai choisi:
l'objet échiquier connait la position de mes pièces
l'objet plateau est un gridlayout de 64 case
l'objet case hérite de canvas.
Voila mon problème, chaque case détecte l'enfoncement de la souris, mais je n'arrive pas a faire remonté l'info au plateau du coup impossible de demander à l'échiquier de me renvoyer la pièce présente sur la case GRRRRRRRRRR.
Une petite idée ou explication d'une erreur de ma part serai le bienvenue.
Merci d'avance
A voir également:
- Je suis débutant à l'aide
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Le fichier à télécharger contient une liste de chats. triez-la comme dans le tableau ci-dessous (attention, on ne voit que le début…). quel est le mot formé par les 8 dernières lettres de la colonne code ? - Forum Word
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
2 réponses
"l'objet plateau est un gridlayout de 64 case"
Attention aux confusions ! Le GridLayout permet de gérer la mise en forme des Component dans le Container, mais les Layout ne sont pas des Component eux même, ils ne possèdent pas eux même les Component, qui doivent eux être stockés dans un Container (un JPanel par exemple).
Il faudrait que tu lies ton objet échiquier à ton objet plateau, par exemple en le passant en paramètre du constructeur :
Comme cela lorsque tu as ton action de clic sur la case, tu peux directement utiliser les méthodes de ta classe Echiquier.
En supposant que tes différentes cases sont dans une matrice cases[8][8], et que tu veux utiliser une méthode "selection" sur ton Echiquier, alors tu devrais avoir quelque chose comme ça :
Attention aux confusions ! Le GridLayout permet de gérer la mise en forme des Component dans le Container, mais les Layout ne sont pas des Component eux même, ils ne possèdent pas eux même les Component, qui doivent eux être stockés dans un Container (un JPanel par exemple).
Il faudrait que tu lies ton objet échiquier à ton objet plateau, par exemple en le passant en paramètre du constructeur :
private final Echiquier ech; public Plateau(Echiquier echiquier) { ech = echiquier; ... }
Comme cela lorsque tu as ton action de clic sur la case, tu peux directement utiliser les méthodes de ta classe Echiquier.
En supposant que tes différentes cases sont dans une matrice cases[8][8], et que tu veux utiliser une méthode "selection" sur ton Echiquier, alors tu devrais avoir quelque chose comme ça :
cases[i][j].addMouseListener(new MouseListener() { public void mouseClicked() { ech.selection(i,j); // code qui indique à l'échiquier quelle case a été cliquée } ... });