Files
PTS3-SERVEUR/src/game/cards/Card.java
T
2021-01-06 18:34:39 +01:00

94 lines
1.8 KiB
Java

package game.cards;
public abstract class Card{
private int attack;
private int health;
private boolean hasAttacked=true;
public Card() {
attack = getDefaultAttack();
health = getDefaultHealth();
}
/**
* retourne un entier coresspondant a l'attaque de la carte
* @return
*/
public final int getAttack() {
return attack;
}
/**
* retourne la santé de la carte
* @return
*/
public final int getHealth() {
return health;
}
/**
* l'attack par defaut des cartes
* @return
*/
public abstract int getDefaultAttack();
/**
* les point de vie par default de la carte
* @return
*/
public abstract int getDefaultHealth();
/**
* evenement déclanché au placement de la carte
*/
public void onCardPlaced(){};
/**
* évenement déclenché a la mort de la carte
*/
public void onCardDestroyed(){};
/**
* évenement déclenché au debut de tour
*/
public void onTurnStart(){};
@Override
public String toString() {
return ""+CardRegistery.get(this.getClass());
}
/**
* retourne le cout de la carte
* @return
*/
public abstract int getCost();
/**
* diminue les point de vie de la carte
* @param amountOfHpToLose nombre de hp a perdre
* @return renvoie true sur si la carte est a 0hp
*/
public boolean takeDamage(int amountOfHpToLose)
{
if(health <= amountOfHpToLose)
{
health = 0;
}else {
health -= amountOfHpToLose;
}
return health == 0;
}
public boolean hasAlreadyAttacked() {
return hasAttacked;
}
public void hasAttacked() {
hasAttacked = true;
}
public void resetAttack() {
hasAttacked=false;
}
}