Files
PTS3-SERVEUR/src/game/cards/Card.java
T

104 lines
1.9 KiB
Java

package game.cards;
import game.Board;
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(Board board){};
/**
* é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;
}
public void heal(int amount) {
health += amount;
}
public void makeStronger(int amount)
{
attack += amount;
if(attack < 0)attack=0;
}
}