package magic.model.action;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
public abstract class MagicAction {
private MagicPlayer scorePlayer;
private int score;
final void setScore(final MagicPlayer aScorePlayer, final int aScore) {
scorePlayer = aScorePlayer;
score = aScore;
}
public final int getScore(final MagicPlayer player) {
return (player == scorePlayer) ? score : -score;
}
public abstract void doAction(final MagicGame game);
public abstract void undoAction(final MagicGame game);
@Override
public String toString() {
return getClass().getSimpleName();
}
}