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