Fiasko/src/main/java/inf112/fiasko/roborally/objects/ProgrammingCard.java

58 lines
1.5 KiB
Java

package inf112.fiasko.roborally.objects;
import inf112.fiasko.roborally.element_properties.Action;
/**
* This class represents a programming card
*/
public class ProgrammingCard implements Comparable<ProgrammingCard> {
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;
}
}