Coverage Summary for Class: EventCard (it.polimi.ingsw.gc14.Model.Cards.TribeCards)
| Class |
Class, %
|
Method, %
|
Line, %
|
| EventCard |
100%
(1/1)
|
100%
(5/5)
|
100%
(7/7)
|
package it.polimi.ingsw.gc14.Model.Cards.TribeCards;
import it.polimi.ingsw.gc14.Model.Cards.TribeCard;
import it.polimi.ingsw.gc14.Model.Player;
import java.util.ArrayList;
/**
* Abstract base class for all event cards.
* An EventCard is a {@link TribeCard} marked as an event card and associated
* with a specific {@link EventType}.
*/
public abstract class EventCard extends TribeCard {
/**
* The specific type of this event card.
*/
private EventType type;
/**
* Returns the type of this event card.
*
* @return the type of this event card.
*/
public EventType getType() { return type; }
/**
* Creates an event card with the specified era and event type.
*
* @param era the era of the event card.
* @param type the type of the event card.
*/
public EventCard(int era, EventType type) {
super(era, true);
this.type = type;
}
/**
* Creates an event card with the specified image id, era and event type.
*
* @param idIMG the image identifier of the event card.
* @param era the era of the event card.
* @param type the type of the event card.
*/
public EventCard(String idIMG, int era, EventType type) {
super(idIMG, era, true);
this.type = type;
}
/**
* Creates and returns a copy of this event card.
*
* @return a clone of this event card.
*/
@Override
public abstract TribeCard clone();
/**
* Returns the string representation of this event card.
* The returned string includes the string representation of the superclass
* and the string representation of the event type.
*
* @return the string representation of this event card.
*/
@Override
public String toString() {
return super.toString() + " " + type.toString();
}
/**
* Prints a string representation of this {@code EventCard}. This specific variation is used in the {@code Game}'s
* toString to print a more detailed version.
* <p>Includes:
* <li>{@link #type Type}
* </p>
* @return {@code String} - a string representation of this {@code EventCard}.
* @see it.polimi.ingsw.gc14.Model.Game Game
* @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board
*/
@Override
public String toStringBoard() {
return super.toStringBoard() + " " + type.toString();
}
/**
* Activates the effect of this event card on the specified list of players.
*
* @param playerList the list of players affected by the event.
*/
public abstract void activateEvent (ArrayList <Player> playerList);
}