[java] créer un objet carte dans un tableau
RésoluSly36 -
Actuellement en formation java a distance , je dois faire un projet de jeux de belote que je dois rendre fin de semaine et je suis dans un caca immense car j'arrive pas a créer l'objet principale le jeux de carte dans un tableau
Pour ce jeux on ma donner des class compilé avec un descriptif de leur utilisation.
J'ai egalement un détail des class carte que joint
public class Carte{
Couleur couleur;
Figure figure;
public Carte (Couleur c, Figure f) {
thiscouleur=c;
this.figure=f;
}
}
lass couleur{
string nom;
public Couleur( String nomCouleur){
thisnom=nomCouleur;
}
public static Couleur Coeur= new couleur("Coeur");
public static Couleur Pique= new couleur("Pique");
class Figure{
Stringg nom ;
public static Figure Sept =new Figure("7");
public static Figure huit =new Figure("8");
public Figure(String nomFigure){
this.nom=nomFigure;
}
voilà ce que j'ai
}
voilà ce que j'ai fais pas grand chose certe malgrès les heure passée dessus
// tableau de carte String [] paquet= new String [32]; // tableau de couleur String [] Couleur = new String[4]; Couleur[0]="Coeur"; Couleur[1]="Carreau"; Couleur[2]="Pique"; Couleur[3]="Trefle"; //tableau de figure String [] Figure=new String [8]; Figure[0]="Sept"; Figure[1]="Huit"; Figure[2]="Neuf"; Figure[3]="Dix"; Figure[4]="Valet"; Figure[5]="Dame"; Figure[6]="Roi"; Figure[7]="AS"; // paquet=Couleur[]+Figure[]; paquet=couleur[] + Figure[]; } }
voilà si quelqu'un pouvais m'aider ce serais avec vraiment sympas
merci d'avance
56 réponses
- 1
- 2
- 3
Un étudiant en formation Java cherche à concevoir un jeu de belote et peine à modéliser l'objet principal Carte dans un tableau, en s'appuyant sur des classes Couleur et Figure.
Plusieurs réponses proposent une approche orientée objet, en rendant les champs privés, en ajoutant des getters et en générant le paquet avec Vector pour cartographier les cartes.
D'autres échanges évoquent l'affichage console et l'envoi de cartes vers les joueurs via des méthodes comme recoitCarte, ou l'utilisation d'une fenêtre graphique pour tester l'interaction et la distribution.
Pour l'implémentation, il est conseillé de consolider les noms et l'initialisation des couleurs et figures, et d'assurer la compilation en testant progressivement l'envoi des cartes.
-
salut
tu peux essayer comme ça ...
public class Carte{ private Couleur currentColor; private Figure currentFigure; public Carte(Couleur c, Figure f){ this.currentColeur = c; this.currentFigure = f; } public Couleur getColor(){ return currentColeur; } public Figure getFigure(){ return currentFigure; } } class Figure{ private String name ; public Figure(String nameOfFigure){ this.name = nameOfFigure; } public String getName(){ return name; } } class Couleur{ private String name; public Couleur( String nameOfColor){ this.name = nameOfColor; } public String getName(){ return name; } } import java.util.*; public classe JeuDeCartes{ private Vector setOfColors; private Vector setOfFigures; private Vector setOfCartes; public JeuDeCartes(){ initiateSetOfColors(); initiateSetOfFigures(); initiateSetOfCartes(); } private void initiateSetOfColors(){ setOfColors = new Vector(); setOfColors.add(new Couleur("Coeur"); setOfColors.add(new Couleur("Carreau"); setOfColors.add(new Couleur("Pique"); setOfColors.add(new Couleur("Trèfle"); } private void initiateSetOfFigures(){ setOfFigures = new Vector(); setOfFigures.add(new Figure("Sept"); setOfFigures.add(new Figure("Huit"); setOfFigures.add(new Figure("Neuf"); setOfFigures.add(new Figure("Dix"); setOfFigures.add(new Figure("Valet"); setOfFigures.add(new Figure("Dame"); setOfFigures.add(new Figure("Roi"); setOfFigures.add(new Figure("As"); } private void initiateSetOfCartes(){ setOfCarte = new Vector(); iterator itCouleur; iterator itFigure; itFigure = setOfFigures.iterator(); while (itCouleur.hasNext()){ Couleur currentColor = (Couleur) itCouleur.next(); itFigure = setOfFigure.iterator(); while (itFigure.hasNext()){ Figure currentFigure = (Figure) itFigure.next(); setOfCartes.add(new Carte(currentColor,currentFigure); } } } }
il te reste à développer quelques méthodes pour "jouer" ...
attention, ce code n'a pas été compilé ... c'est juste une idée de travail
-
et pour lancer ton programme;
public class JeuDeCarteLoader { public static void main (String[] args){ JeudeCartes j = new JeuDeCartes(); } } -
merci a tous de votre aide,
mais dans mon projet il est dit que les carte sont dans un tableau. -
salut
et hop !
public class Carte{ private Couleur currentColor; private Figure currentFigure; public Carte(Couleur c, Figure f){ this.currentColeur = c; this.currentFigure = f; } public Couleur getColor(){ return currentColeur; } public Figure getFigure(){ return currentFigure; } } class Figure{ private String name ; public Figure(String nameOfFigure){ this.name = nameOfFigure; } public String getName(){ return name; } } class Couleur{ private String name; public Couleur( String nameOfColor){ this.name = nameOfColor; } public String getName(){ return name; } } public classe JeuDeCartes{ private Vector setOfColors; private Vector setOfFigures; private Cartes[] setOfCartes; public JeuDeCartes(){ initiateSetOfColors(); initiateSetOfFigures(); initiateSetOfCartes(); } private void initiateSetOfColors(){ setOfColors = new Vector(); setOfColors.add(new Couleur("Coeur"); setOfColors.add(new Couleur("Carreau"); setOfColors.add(new Couleur("Pique"); setOfColors.add(new Couleur("Trèfle"); } private void initiateSetOfFigures(){ setOfFigures = new Vector(); setOfFigures.add(new Figure("Sept"); setOfFigures.add(new Figure("Huit"); setOfFigures.add(new Figure("Neuf"); setOfFigures.add(new Figure("Dix"); setOfFigures.add(new Figure("Valet"); setOfFigures.add(new Figure("Dame"); setOfFigures.add(new Figure("Roi"); setOfFigures.add(new Figure("As"); } private void initiateSetOfCartes(){ setOfCarte = = new Cartes[32]; int counter = 0; iterator itCouleur; iterator itFigure; itFigure = setOfFigures.iterator(); while (itCouleur.hasNext()){ Couleur currentColor = (Couleur) itCouleur.next(); itFigure = setOfFigure.iterator(); while (itFigure.hasNext()){ Figure currentFigure = (Figure) itFigure.next(); setOfCartes[counter]= new Carte(currentColor,currentFigure); counter = counter++; } } } } public class JeuDeCarteLoader { public static void main (String[] args){ JeudeCartes j = new JeuDeCartes(); } } }
mais tu aurais pu déduire celà toi-même..
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
non je pense pas, car vous utilisé tous des fonctions que j'ai pas encore vu, pour l'instant je pense pas qu'on pense déjà sur une orientation objet étant donnée que cela va être le premier projet.
Tous ce qui est enum, vector et compagnie j'ai pas encore vu. -
Si vous ne partez pas sur une orientation objet en Java, je pense que vous en ferez en attaquant LISP...
Non mais franchement <levage de zyeux au ciel/>
-
Ce que je volais dire c'est actuellement a on que travailler sur des petit prog en console, donc je suppose qu'on a pas vraiment abordée orientation objet
Sinon j'ai eu l'occasiond'avoir le prof sur le tchat du portail de formation, et ma dit que les carte sont déjà créer, et que pour modifier les objets il faut faire comme ceci
Carte Paquet=new Carte(Couleur.Pique,Figure.Sept);
-
j'avoue que je ne comprends pas très bien ce que ton prof essaye de vous faire comprendre en travaillant comme celà ...
c'est pas grave ....
ceci dit pour faire ce que veut ton prof ...
Carte[] paquet = new Carte[32]; paquet[0]= new Carte(Couleur.Pique,Figure.Sept); paquet[1]= new Carte(Couleur.Pique,Figure.Huit); ..... paquet[31]= .....
voilà
-
ceci dit, le fait de travailler en console ne t'empêche nullement de travailler en "objet"...
c'est un concept et java en est l'outil ... que tu le veuilles ou non, java travaille en objet, vu que toutes les classes héritent d'office de l'objet "Object" de Java...
-
-
pos grave ...
-
je suis encore novice en java, et je dirais même en programmation.
voilà mon début de programmepublic class Belote{ public static void main (String[] arguments){ Graphique fenetre = new Graphique(); Arbitre a= new Arbitre(); PaquetDeCartes pq=a.donneJeuBeloteBattu(); //JoueurProgramme Joueur0 = new JoueurProgramme(); JoueurProgramme Joueur1 = new JoueurProgramme(); JoueurProgramme Joueur2 = new JoueurProgramme(); JoueurProgramme Joueur3 = new JoueurProgramme(); } static void affiche(PaquetDeCartes pq){ } }
mais pour l'instant à par une fenêtre verte rien s'affiche. -
salut
forcément si tu ne gères pas l'affichage, rien ne va s'afficher ...
-
-
Et bien, je suppose que tu dois afficher ça en mode console ...
donc tu dois pouvoir afficher ce que tu veux à l'aide de la méthode
System.println("String s") ..
maintenant ne sachant pas réellement ce que tu veux afficher, je ne sais pas plus t'aider ..
-
Non je doiqs afficher je jeux de carte en graphique, et même si on jamais bosser en graphique, en tout cas mon projet de belote est bien en graphique.
Pour l'instant j'ai bien une fenetre qui so'uvre toute a fond vert, et je pensais qu'avec la methode afficher je pourrais afficher le paquet de carte. -
tu peux montrer le corps de la méthode "afficher" ?
-
En faite,
le probleme c'est que j'ai pas le détail de la methode mais juste sa description.
je joins le pdf afin que puisse voir s'il y a quelque chose que j'ai loupé
http://dl-3.free.fr/52616e646f6d4956ffabb27ee79f186fde9acf3dcc5f4e22df6893053(...)
merci de ton aide -
En faite mon gros défaut en programmation c'est que je comprend les principes du langage tout c c'est que j'ai mal fou a mettre en pratique dés qu'il faut partir d'un probleme vers une solution concrete.
En clair j'arrive pas a mettre ne pratique la theorie en pratique.-
Désolé de up un si vieux message, mais dans le cadre de mes études, je dois réaliser un jeu de Poker Texas Hold'em. Je me suis inspiré du code donné sur ce topic afin de modéliser mon jeu de cartes, mais une question me vient à l'esprit :
Comment trouver les combinaisons ? pour ce qui est paire, double paire, brelan, full, carré, couleur cela ira (comparaison de chaine de caractères) mais comment faire pour une quinte ou une quinte flush (comment repérer 5 cartes qui se suivent ? ex : 2,3,4,5,6 ou dix,Valet,Dame,Roi,As)
Merci d'avance
-
-
tu as des problèmes en algorythmie ??
- 1
- 2
- 3