/* * Card.java, 20/03/2024 * UPPA M1 TI 2023-2024 * Pas de copyright, aucun droits */ package uppa.project.database.pojo; import jakarta.persistence.Transient; /** * Représentation d'une carte * * @author Kevin Mitressé * @author Lucàs Vabre */ public class Card { /** * Couleurs disponibles pour les cartes */ public enum Color{HEART, CLUBS, SPADES, DIAMONDS} /** * Valeurs disponibles pour les cartes */ public enum Value{ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING} /** * Couleur de la carte */ private final Color color; /** * Valeur de la carte */ private final Value value; /** * Constructeur par défaut * * @param color couleur de la carte * @param value valeur de la carte * * @see Color * @see Value */ public Card(Color color, Value value) { if (color == null || value == null) { throw new IllegalArgumentException("Color cannot be null"); } this.color = color; this.value = value; } /** * @return la couleur de la carte */ public Color getColor() { return color; } /** * @return la valeur de la carte */ public Value getValue() { return value; } @Override public String toString() { return "Card{" + "color=" + color + ", value=" + value + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Card card)) return false; return getColor() == card.getColor() && getValue() == card.getValue(); } }