Salut,
pour la classe Paquet, j'utiliserais plutot une liste à la place d'un tableau, pour pouvoir retirer des cartes pour les distribuer
ensuite tu fais dans cette classe :
- une méthode remplir qui créé les 40 cartes :
- une méthode mélanger qui mélange ces cartes (tu pourras utiliser la méthodes java.util.Collections.shuffle() pour mélanger ta liste)
- une méthode pour distribuer, nommée par exemple, prochaineCarte() qui supprime une carte et la retourne, comme ça return m_paquet.remove(0)
- une méthode pour connaitre le nombre de cartes qu'il reste dans le paquet, c'est à dire la taille de ta liste
il suffira de boucler tant qu'il reste des cartes de distribuer les mains, c'est à dire alternativement de distribuer à chaque joueur une carte avec la méthode distribuer,
ta classe Main aura donc des méthodes genre ajouter et jouer
la distribution sera un truc dans le genre
1 2 3 4 5 6 7 8 9
| while ( paquet.getNombre()>0 ) {
Main mainJoueur1=new Main();
Main mainJoueur2=new Main();
for(int i=0;i<nbrdecarteadistribuer; i++){
mainJoueur1.ajouter(paquet.prochaineCarte());
mainJoueur2.ajouter(paquet.prochaineCarte());
}
jouerMain(mainJoueur1, mainJoueu2r);
} |
par contre pour la classe carte, ça depend de ce que sont censées représenter les 2 variables int et string
moi perso, j'aurais fait 2 enum, une pour la couleur et une pour la valeur, mais bon
on va partir sur l'idée que le nombre c'est la valeur, et string la couleur
un jeu standard fait 32 cartes (8 cartes par couleurs) ou 52 cartes (13 cartes par couleur), 54 (52 + 2 jokers), 56 (52 + 4 cavaliers du tarot), 78 pour le tarot
mais 40 ? supposons qu'il s'agit des 8 valeurs du 32 plus le 5 et le 6
donc pour remplir ton paquet de cartes, il suffit d'itérer pour chacune des 4 couleurs (carreau, pique, trèfle, coeur),
tu itères sur les 10 valeurs de chaque couleur (bizarre ce jeu de 40 cartes, quand même)
tu peux faire par exemple un truc du genre:
1 2 3 4 5 6
| String[] couleurs=new String[]{"trèfle","coeur","carreau","pique"};
for(String couleur : couleurs) {
for(int valeur=0;valeur<10;valeur++){
m_paquet.add(new Carte(valeur, couleur));
}
} |
Partager