Skip to content
Snippets Groups Projects
Select Git revision
  • 58751b99a42d8b04049eb5ff6cd3b5c29a8d5c4e
  • master default protected
2 results

JeudeCarte.java

Blame
  • 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("----------------------");
        }
    
    }