Jeu de dame en JAVA

Fermé
satpierre - 29 nov. 2009 à 09:25
 satpierre - 29 nov. 2009 à 15:31
Bonjour,

Etant en licence informatique, j'ai un jeu de dame(joueur contre ordi) à réaliser dans le cadre de mon projet.
Je ne sais pas trop comment partir j'ai plusieurs idées. Le but de ce projet étant la programmation Objet, j'ai tout d'abord réflechi a quelque chose dans ce genre:

Classe Coordonne, avec attribut: absisse et ordonne
Classe Pion, avec une position (type Coordonnee) et une couleur (booleen ->noir ou blanc)
Classe Case, avec une coord (type Coordonnee) et estVide (booleen vrai si la case est vide)
Classe Damier, ce serait 2 listes de Case et de Pion

Le problème est que je ne sais pas trop si ce que j'ai fait est correct. Je pense que cela risque de me compliquer les choses...

Les saisis pour les déplacements doivent se faire a la console...

Si le joueur saisis les coordonnés d'un pion, il faudra que je parcours toute la liste de pion pour que je trouve le pion correspondant. Et ce sur de nombreux test(voir si le pion peut se déplacer etc...) !!!

Voila je sais plus trop quoi faire si vous avez une solution...
Pourriez vous m'aider svp???!!!
A voir également:

14 réponses

mateo17 Messages postés 20 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2010 2
29 nov. 2009 à 12:47
je pense que tu pas mal parti,
c'est que du mode console, ou tu fais du swing ?
en swing tu peux utiliser un tableau a deux dimension de JLabel, dans lesquels tu attache une image correspond a ta case, pion..., et tu détecte le clic sur ce JLabel.
0
du swing? je ne connait pas. En faite, le jeu doit s'afficher en graphique mais la saisie des coordonnées etc doit se faire dans la console. L'interface graphique ne sert en réalitée qu'a afficher
0
mateo17 Messages postés 20 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2010 2
29 nov. 2009 à 13:54
le swing c'est la bibliothèque graphique de java..
tu fais l'interface avec quoi ?
0
Pour le moment, je ne sais pas trop.. On a utilisé une seule fois les iterfaces graphiques.
J'avoue que je me concentre un peu plus sur le code.

Ma modélisation est elle bien? j'ai peur que le fait de faire 2 listes de pions et de cases cela fasse trop. Certaines autre personnes ont fait un tableau 2D mais a ce compte là j'ai un peu l'impression que ça ne sert a rien de mettre des coordonnées dans la classe pion et objet...

J'avoue que c'est un peu flou pour moi
0

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

Posez votre question
mateo17 Messages postés 20 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2010 2
29 nov. 2009 à 14:03
les 2 méthodes peuvent parfaitement fonctionner, tout dépend comment tu gère ça derrière..
perso j'aurai utiliser le tableau a 2D parce que pour gérer l'affichage graphique c'est plus facile
tu prog avec eclipse ?
0
D'accord mais alors que met tu dans ton tableau 2D. C'était ma premiere idée mais pour ensuite mettre des cases et des pions j'ai eu un peu de mal a comprendre comment faire enfin que mettre.

Ce que je ne veut pas, cest meler code et affichage. Car en premiere version, il faut que cela puisse etre afficher en console entierement aussi.

A la fac on code sur Scintilla text mais chez moi, plutôt eclipse oui.
0
mateo17 Messages postés 20 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2010 2
29 nov. 2009 à 14:23
dans ton tableau tu gère tes lignes et tes colonnes, tu fais un tableau à 2D de int (int[][]) tu choisi par exemple de mettre 0 pour une case vide, 1 pour un pion blanc et 2 pour un pion noir, en mode console tu afficha ça et sur ton interface tu fera une fonction qui convertie ton tableau...
sur eclipse je connait bon éditeur swing, Jigloo et Visual editor
0
Et donc pas de classe case ni pion?
J'ai un peu peur que ça fasse moins orienté objet. Mais c'était ma premiere idée. Après il faut aussi prendre en compte les dames.
Il faut aussi pouvoir annuler le coup fait. et a la fin, revoir la partie entierement.
0
mateo17 Messages postés 20 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2010 2
29 nov. 2009 à 14:36
si au pire tu peux associer les 2, tu fais une classe plateau, où tu fais un tableau à 2d de pion (la classe pion)
et dans ton objet pion tu gère la couleur, les coordonnées....
0
Ok mais après comment tu gere le faite qu'il y a un pion ou pas dans le tableau?
et les déplacements?
0
mateo17 Messages postés 20 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2010 2
29 nov. 2009 à 14:58
dans chaque case du tableau tu as un objet pion, qui a un attribut valeur, (noir, blanc...) tu teste cette valeur pour les déplacement.
pour les déplacement tu récupère les coordonnées rentrés et tu les teste dans le tableau a 2d, tu regarde autour de la case si le coup est possible, si oui tu retourne les pions, tu change la valeur de l'attribut de l'objet pion des cases correspondantes
0
Oui je vois très bien le test. En revanche, ce que tu veux dire cest que l'attribut valeur prend une autre valeur si le pion n'existe pas?

Par contre, quel interet de mettre des coordonnée alors que les indices pour le tableau 2D peuvent etre utilisés?
0
mateo17 Messages postés 20 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 8 février 2010 2
29 nov. 2009 à 15:11
oui si il n'y a pas de pion tu met une autre valeur
tu as raison les coordonnées ne sont pas nécessaires
0
D'accord merci pour ton aide en tout cas.
Et comment me conseille tu de faire pour annuler 1 ou plusieurs coups ainsi que de revoir toute la partie?
J'avais pensé a une classe Historique avec dedans, une liste de Coup. Coup étant une classe avec comme attribue: coordonneDepart de type coordonnee, idem pour l'arrivée, la couleur et le pion pris s'il y a une prise
0