Select Git revision
JeudeCarte.java
JeudeCarte.java 2.38 KiB
package ch.hepia;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class JeudeCarte {
private List<Carte> jeuDeCartes;
public JeudeCarte(int nb) {
jeuDeCartes = new ArrayList<>();
for (COULEUR couleur : COULEUR.values()) {
for (int rang = 7; rang <= (nb / 4) + 6; rang++) {
if (rang > 13) {
jeuDeCartes.add(new Carte(couleur, rang - 13));
} else {
jeuDeCartes.add(new Carte(couleur, rang));
}
}
}
if (nb % 4 != 0) {
for (int x = 0; x < nb % 4; x++) {
jeuDeCartes.add(new Carte(COULEUR.carreau, 0));
}
}
Collections.sort(jeuDeCartes, new Comparator<Carte>() {
public int compare(Carte carte1, Carte carte2) {
int comparaisonCouleur = carte1.getCouleur().compareTo(carte2.getCouleur());
if (comparaisonCouleur == 0) {
return Integer.compare(carte1.getRang(), carte2.getRang());
} else {
return comparaisonCouleur;
}
}
});
}
public JeudeCarte(Paquet paquet) {
jeuDeCartes = new ArrayList<>();
List<JeudeCarte> paquets = paquet.getPaquet();
for (JeudeCarte deck : paquets) {
List<Carte> cartes = deck.getCartes();
jeuDeCartes.addAll(cartes);
}
}
public List<Carte> getCartes() {
return this.jeuDeCartes;
}
public Carte GetTopCarteOfGame() {
return this.jeuDeCartes.get(0);
}
public void AddCarteToGame(Carte... cartes) {
for (Carte carte : cartes) {
this.jeuDeCartes.add(carte);
}
}
public void RemoveCarteFromGame(Carte... cartes) {
for (Carte carte : cartes) {
this.jeuDeCartes.remove(carte);
}
}
public void shuffle() {
Collections.shuffle(jeuDeCartes);
}
public int GetNbCards() {
return this.jeuDeCartes.size();
}
public void ShowPaquet() {
System.out.println("------- Paquet -------");
for (Carte carte : jeuDeCartes) {
System.out.println(carte.getNomComplet());
}
System.out.println("----------------------");
}
}