Bonjour, j'ai élaborer un programme de distribution de carte (pour joueur et sur une table) pour le poker.

J'aimerais ecrire un bout de programme qui comparerai les cartes précédement ditribué afin de ne pas avoir 2 fois la même cartes (impossible dans un jeu de 54 cartes ..)
Mais j'ai pas la moindre idée pour le faire.

Peut - être utiliser la méthode equals ??

Merci d'avance pour vos idées.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
public class JeuxdeCartes {
 
        // creation du jeu des 52 cartes
        static String[] couleur = { "Trèfle", "Carreaux", "Coeur", "Pique" };
        static String[] figure = { "2", "3", "4", "5", "6", "7", "8", "9", "10","Valet", "Dame", "Roi", "As"};
	static String COULEUR= "";
	static String FIGURE= "";
 
 
	public static void DistributionCarteJoueurs(int NbJou){
		for (int j = 0; j < NbJou; j++){
			System.out.println("Joueur " + j);
			for (int i = 0; i < 2; i++){ // un joueur ne doit avoir que 2 cartes dans sa main
				int clr = (int)(Math.random()*4);
				COULEUR=couleur[clr];
				int fgr = (int)(Math.random()*13);
				FIGURE=figure[fgr];
				System.out.println(" " + FIGURE + " de " + COULEUR);
				}
			}
	}
 
	public static void DistributionCarteTable(int NbCarteTable){
		for (NbCarteTable = 1; NbCarteTable <= 5; NbCarteTable++){ // 5 cartes max sur la table
			/*après la 3e carte posée, une carte doit etre brulée avant que l'on ne pose une carte supplémentaire sur la table*/
			if(NbCarteTable >= 4){ 
				for (int i = 0; i <=1; i++){ // 2 cartes, l'un que l'on brule, l'un que l'on pose
					int clr = (int)(Math.random()*4);
					COULEUR=couleur[clr];
					int fgr = (int)(Math.random()*13);
					FIGURE=figure[fgr];
					if ( i==1){// si première carte, elle est brulée
						System.out.println("TABLE - Carte " + NbCarteTable + ": " + FIGURE + " de " + COULEUR);
 
							}
					else {// sinon elle est posée sur la table
						System.out.println(" Carte Brulée");
							}
					}
				}				
			/*si ce n'est pas la 3e carte posée, on les pose une à une sans les bruler*/	
			else {
				int clr = (int)(Math.random()*4);
				COULEUR=couleur[clr];
				int fgr = (int)(Math.random()*13);
				FIGURE=figure[fgr];
				System.out.println("TABLE - Carte " + NbCarteTable + ": " + FIGURE + " de " + COULEUR);
			}
		}
	}
 
	public static void TestDoublonsCarte	
 
	public static void main(final String args[]){
	int NbJou = Integer.parseInt(args[0]); // nb joueurs ==> nombres de fois que l'on distribue les cartes
	int NbCarteTable = 1;
	DistributionCarteJoueurs(NbJou);
	DistributionCarteTable(NbCarteTable);
	}
 
}