simplify Player and Enemy classes
This commit is contained in:
@@ -4,6 +4,6 @@ import org.project.constants.gameConstant.AttackPowerUp;
|
||||
|
||||
public interface IDamager {
|
||||
public void Damage(IDamageable target, int amount, AttackPowerUp[] powerUps);
|
||||
public IDamageUtil[] GetUtils();
|
||||
public IDamageUtil[] GetDamageUtils();
|
||||
public int GetDamage();
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ public abstract class Entity implements IDamageable, IHealable, IDefendable, IFi
|
||||
|
||||
protected Entity() {}
|
||||
|
||||
public int getStamina() { return Stamina; }
|
||||
public int GetStamina() { return Stamina; }
|
||||
|
||||
public void ResetStamina() { Stamina = MaxStamina; }
|
||||
|
||||
@@ -78,7 +78,28 @@ public abstract class Entity implements IDamageable, IHealable, IDefendable, IFi
|
||||
public EntityState GetState() { return State; }
|
||||
|
||||
@Override
|
||||
public int GetDamage() { return BaseDamage; }
|
||||
public int GetDamage() {
|
||||
int damage = BaseDamage;
|
||||
IDamageUtil[] utils = GetDamageUtils();
|
||||
|
||||
for (IDamageUtil util : utils) {
|
||||
if (util != null) {
|
||||
damage += util.GetDamage();
|
||||
}
|
||||
}
|
||||
|
||||
return damage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IDamageUtil[] GetDamageUtils() {
|
||||
return new IDamageUtil[] {Weapon};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void Damage(IDamageable target, int amount, AttackPowerUp[] powerUps) {
|
||||
target.TakeDamage(amount, powerUps);
|
||||
}
|
||||
|
||||
public long GetMoney() { return Money; }
|
||||
|
||||
@@ -200,9 +221,15 @@ public abstract class Entity implements IDamageable, IHealable, IDefendable, IFi
|
||||
}
|
||||
@Override
|
||||
public abstract void SpecialAbility(Entity entity);
|
||||
@Override
|
||||
public abstract String GetSpecialAbilityDescription(Entity entity);
|
||||
@Override
|
||||
public abstract String GetSpecialAbilityResultDescription(Entity entity);
|
||||
|
||||
@Override
|
||||
public FightMoves[] getAvailableMoves() {
|
||||
public ArrayList<FightMoves> GetAvailableMoves() {
|
||||
if (GetState() == EntityState.FROZEN) return new ArrayList<>(){};
|
||||
|
||||
ArrayList<FightMoves> result = new ArrayList<>();
|
||||
result.add(FightMoves.DEFEND);
|
||||
result.add(FightMoves.LIGHT_ATTACK);
|
||||
@@ -219,6 +246,6 @@ public abstract class Entity implements IDamageable, IHealable, IDefendable, IFi
|
||||
result.add(FightMoves.HEAVY_ATTACK);
|
||||
}
|
||||
|
||||
return result.toArray(new FightMoves[0]);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.project.entity.players;
|
||||
|
||||
import org.project.Interface.IDamageUtil;
|
||||
import org.project.Interface.IDamageable;
|
||||
import org.project.constants.gameConstant.AttackPowerUp;
|
||||
import org.project.constants.gameConstant.EntityState;
|
||||
@@ -58,30 +57,6 @@ public abstract class Player extends Entity {
|
||||
ModifyMoney(gift, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int GetDamage() {
|
||||
int damage = BaseDamage;
|
||||
IDamageUtil[] utils = GetUtils();
|
||||
|
||||
for (IDamageUtil util : utils) {
|
||||
if (util != null) {
|
||||
damage += util.GetDamage();
|
||||
}
|
||||
}
|
||||
|
||||
return damage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IDamageUtil[] GetUtils() {
|
||||
return new IDamageUtil[] {Weapon};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void Damage(IDamageable target, int amount, AttackPowerUp[] powerUps) {
|
||||
target.TakeDamage(amount, powerUps);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void LightAttack(IDamageable target) {
|
||||
int damage = GetDamage();
|
||||
@@ -107,7 +82,9 @@ public abstract class Player extends Entity {
|
||||
@Override
|
||||
public abstract void SpecialAbility(Entity entity);
|
||||
|
||||
@Override
|
||||
public abstract String GetSpecialAbilityDescription(Entity entity);
|
||||
|
||||
@Override
|
||||
public abstract String GetSpecialAbilityResultDescription(Entity entity);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user