package inf112.fiasko.roborally.objects; import inf112.fiasko.roborally.element_properties.Action; /** * This class represents a programming card */ public class ProgrammingCard implements Comparable { private final int cardPriority; private final Action cardAction; /** * Initializes the priority and the action of the card * @param cardPriority the priority of the card * @param cardAction the action of the card */ public ProgrammingCard(int cardPriority, Action cardAction) { this.cardPriority = cardPriority; this.cardAction = cardAction; } /** * Gets the priority of the programming card * @return The programming card priority */ public int getPriority() { return cardPriority; } /** * Gets the action of the programming card * @return The programming card action */ public Action getAction() { return cardAction; } @Override public String toString() { return this.getPriority() + " " + this.cardAction.toString(); } @Override public boolean equals(Object other) { if (!(other instanceof ProgrammingCard)) { return false; } ProgrammingCard otherCard = (ProgrammingCard) other; return otherCard.cardAction == this.cardAction && otherCard.cardPriority == this.cardPriority; } @Override public int compareTo(ProgrammingCard programmingCard) { return programmingCard.cardPriority - this.cardPriority; } }