Gestion jeton joué Scrabble
Résolu
Desperaxe
Messages postés
137
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir, j'ai besoin de votre aide sur la marche a suivre suivante, juste la marche à suivre, je me charge du code ensuite pour la création d'un Scrabble.
Dans le code il existe diverses classes, dont une classe partie, jeton, joueur, plateau et stand de jeton pour le joueur. Aucune classe n'est parentée, et je voudrais savoir comment je pourrais utiliser ces classes ( pas nécessairement toutes ) pour permettre le placement du jeton sur le plateau par le joueur depuis son stand ( qui est en fait un arraylist de jeton tout simplement, ces jetons ayant un caractère attribué et affiché ).
( La fonction recherchée serait dans la classe joueur ).
Faut-il qu'une des autres classes passe en static au niveau de getter ou setter ? Ou en fait je suis juste un peu idiot et c'est tres simple? ^^'
Merci d'avance !
Dans le code il existe diverses classes, dont une classe partie, jeton, joueur, plateau et stand de jeton pour le joueur. Aucune classe n'est parentée, et je voudrais savoir comment je pourrais utiliser ces classes ( pas nécessairement toutes ) pour permettre le placement du jeton sur le plateau par le joueur depuis son stand ( qui est en fait un arraylist de jeton tout simplement, ces jetons ayant un caractère attribué et affiché ).
( La fonction recherchée serait dans la classe joueur ).
Faut-il qu'une des autres classes passe en static au niveau de getter ou setter ? Ou en fait je suis juste un peu idiot et c'est tres simple? ^^'
Merci d'avance !
A voir également:
- Java scrabble
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Ordi scrabble - Télécharger - Jeux vidéo
2 réponses
Bonjour,
Je suis étonné que tu n'aies pas également une class cases (pour les cases du tableau .. sachant que certaines comptent double, triple...etc...)
Quoi qu'il en soit, dans ta class Joueur, tu dois sûrement avoir une méthode "placerJeton" (ou peut importe son nom) à laquelle tu passes : L'objet jeton à jouer et l'objet case (ou les coordonnées dans le tableau) où tu comptes le placer
Cette méthode pourrait appeler une méthode de la class "stand" qui "retirerait le jeton jouée du stant
Je suis étonné que tu n'aies pas également une class cases (pour les cases du tableau .. sachant que certaines comptent double, triple...etc...)
Quoi qu'il en soit, dans ta class Joueur, tu dois sûrement avoir une méthode "placerJeton" (ou peut importe son nom) à laquelle tu passes : L'objet jeton à jouer et l'objet case (ou les coordonnées dans le tableau) où tu comptes le placer
Cette méthode pourrait appeler une méthode de la class "stand" qui "retirerait le jeton jouée du stant
Bonjour,
Une manière de programmer (et c'est particulièrement utilisé en Java EE) est de distinguer d'une part les classes de données (POJO, bean, etc.) et d'autre part les classes de services (qui manipulent les données).
Pour moi les classes "partie, jeton, joueur, plateau et stand de jeton" ce sont toutes des classes de données, mais où sont les services qui vont les manipuler ? Peut-être dans ta classe IA dont tu avais oublié de nous parler alors que ce serait à elle de tout gérer...
Quant à ta question "faut-il qu'une des autres classes passe en static au niveau de getter ou setter ?", ce n'est pas très clair parce que les getter/setter c'est pour manipuler les données d'un objet donc ça n'a pas de sens que ce soit static...
Une manière de programmer (et c'est particulièrement utilisé en Java EE) est de distinguer d'une part les classes de données (POJO, bean, etc.) et d'autre part les classes de services (qui manipulent les données).
Pour moi les classes "partie, jeton, joueur, plateau et stand de jeton" ce sont toutes des classes de données, mais où sont les services qui vont les manipuler ? Peut-être dans ta classe IA dont tu avais oublié de nous parler alors que ce serait à elle de tout gérer...
Quant à ta question "faut-il qu'une des autres classes passe en static au niveau de getter ou setter ?", ce n'est pas très clair parce que les getter/setter c'est pour manipuler les données d'un objet donc ça n'a pas de sens que ce soit static...
Le plateau peut très bien avoir en mémoire les coordonnées des cases particulières, et dans ce cas la classe Case n'est pas nécessaire.
Ou même, on peut considérer que le plateau n'est qu'un tableau à 2 dimensions contenant du vide ou un jeton, et du coup ce tableau serait une variable de l'IA, à laquelle serait associée la liste des cases spéciales.
Avec la classe Plateau qui gère des Cases et des Jetons, cela fait 3 façons de faire qui dépendent au final de comment tu appréhendes le mécanisme du jeu.
C'est pareil pour le Stand, puisque chaque joueur en a un, cela pourrait être une collection appartenant à la classe joueur. Cette collection accueillant des jetons en transit entre la pioche et le plateau.
Quoiqu'il en soit, tu as toutes ces classes, et que tu dis laisse à penser que tu as un donneur d'ordre (un[e] prof?) et que lui a jugé que le bon mécanisme est de s'en servir.
Bien que Jordane ait répondu à ta question, voici une piste de cheminement "intellectuel" pour y parvenir par toi même.
Imagine toi en train de jouer, assis devant ton stand, lui même posé au bord du plateau.
Pour disposer un mot, tu vas prendre un jeton et le poser sur le plateau, puis un second, et ainsi de suite jusqu'à écrire ton mot.
Faut il écrire une classe Main, qui prend un jeton, en demandant à la classe Stand de lui transférer, puis dépose ce jeton en le transférant au Plateau?
Et on arrive à la réponse de Jordane.