Signaler

Gestion jeton joué Scrabble [Résolu]

Posez votre question Desperaxe 95Messages postés dimanche 22 février 2015Date d'inscription 5 novembre 2017 Dernière intervention - Dernière réponse le 6 nov. 2017 à 00:20 par KX
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 !

Utile
+1
plus moins
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


Desperaxe 95Messages postés dimanche 22 février 2015Date d'inscription 5 novembre 2017 Dernière intervention - 5 nov. 2017 à 22:44
Ah si si, on en a, j'ai juste pas cité toutes les classes( comme la classe de l'IA par exemple ) j'avoue que j'aurais du la preciser pour le coup quand meme ouep ! Du reste, merci de ton aide, j'applique ça dès demain !
Répondre
Whismeril 10333Messages postés mardi 11 mars 2003Date d'inscription ContributeurStatut 21 novembre 2017 Dernière intervention - 5 nov. 2017 à 23:26
Salut,
Je suis étonné que tu n'aies pas également une class cases
c'est un débat que nous avons eu avec VB95, il y a quelques mois.

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
on en a
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?
  • Oui alors pourquoi le donneur d'ordre ne te l'as pas demandé?
  • Non alors peut on considérer que la main (et le bras tout entier) fait partie du joueur?
    • Non, ben je ne voie pas...
    • Oui, ok donc mon joueur demande un jeton au Stand et le dépose sur le plateau. Pour cela il lui faudra connaitre
      • son Stand
      • le jeton
      • la case du plateau ou ses coordonnées

Et on arrive à la réponse de Jordane.
Répondre
Donnez votre avis
Utile
+0
plus moins
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...
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !