From d880c5c6169ba90f617cadb9987bec8520ebda5d Mon Sep 17 00:00:00 2001 From: Ramtin Jafari Date: Tue, 7 Jul 2026 15:30:33 +0330 Subject: [PATCH] Add interfaces --- .../src/main/java/org/project/Interface/IAttachable.java | 8 ++++++++ .../src/main/java/org/project/Interface/IDamageable.java | 9 +++++++++ .../src/main/java/org/project/Interface/IDamager.java | 7 +++++++ .../src/main/java/org/project/Interface/IDefendable.java | 5 +++++ .../src/main/java/org/project/Interface/IDefender.java | 8 ++++++++ .../src/main/java/org/project/Interface/IHealable.java | 5 +++++ 6 files changed, 42 insertions(+) create mode 100644 Java-Knight/src/main/java/org/project/Interface/IAttachable.java create mode 100644 Java-Knight/src/main/java/org/project/Interface/IDamageable.java create mode 100644 Java-Knight/src/main/java/org/project/Interface/IDamager.java create mode 100644 Java-Knight/src/main/java/org/project/Interface/IDefendable.java create mode 100644 Java-Knight/src/main/java/org/project/Interface/IDefender.java create mode 100644 Java-Knight/src/main/java/org/project/Interface/IHealable.java diff --git a/Java-Knight/src/main/java/org/project/Interface/IAttachable.java b/Java-Knight/src/main/java/org/project/Interface/IAttachable.java new file mode 100644 index 0000000..e715cdb --- /dev/null +++ b/Java-Knight/src/main/java/org/project/Interface/IAttachable.java @@ -0,0 +1,8 @@ +package org.project.Interface; + +import org.project.entity.Entity; + +public interface IAttachable { + public void AttachTo(Entity entity); + public void DeattachFrom(Entity entity); +} diff --git a/Java-Knight/src/main/java/org/project/Interface/IDamageable.java b/Java-Knight/src/main/java/org/project/Interface/IDamageable.java new file mode 100644 index 0000000..b5c6c1f --- /dev/null +++ b/Java-Knight/src/main/java/org/project/Interface/IDamageable.java @@ -0,0 +1,9 @@ +package org.project.Interface; + +import org.project.constants.gameConstant.AttackPowerUp; + +public interface IDamageable { + public void TakeDamage(int amount, AttackPowerUp[] powerUps); + public boolean IsDestroyed(); + public void HandleZeroHealth(); +} diff --git a/Java-Knight/src/main/java/org/project/Interface/IDamager.java b/Java-Knight/src/main/java/org/project/Interface/IDamager.java new file mode 100644 index 0000000..1b9b985 --- /dev/null +++ b/Java-Knight/src/main/java/org/project/Interface/IDamager.java @@ -0,0 +1,7 @@ +package org.project.Interface; + +public interface IDamager { + public void Damage(IDamageable target); + public IDamager[] GetUtils(); + public int GetDamage(); +} diff --git a/Java-Knight/src/main/java/org/project/Interface/IDefendable.java b/Java-Knight/src/main/java/org/project/Interface/IDefendable.java new file mode 100644 index 0000000..17bf997 --- /dev/null +++ b/Java-Knight/src/main/java/org/project/Interface/IDefendable.java @@ -0,0 +1,5 @@ +package org.project.Interface; + +public interface IDefendable { + public IDefender[] GetDefenders(); +} diff --git a/Java-Knight/src/main/java/org/project/Interface/IDefender.java b/Java-Knight/src/main/java/org/project/Interface/IDefender.java new file mode 100644 index 0000000..b61edf7 --- /dev/null +++ b/Java-Knight/src/main/java/org/project/Interface/IDefender.java @@ -0,0 +1,8 @@ +package org.project.Interface; + +import org.project.constants.gameConstant.AttackPowerUp; + +public interface IDefender { + public int Apply(int damage, AttackPowerUp[] powerUps); + public int GetDefense(); +} diff --git a/Java-Knight/src/main/java/org/project/Interface/IHealable.java b/Java-Knight/src/main/java/org/project/Interface/IHealable.java new file mode 100644 index 0000000..444a9cf --- /dev/null +++ b/Java-Knight/src/main/java/org/project/Interface/IHealable.java @@ -0,0 +1,5 @@ +package org.project.Interface; + +public interface IHealable { + public void Heal(int amount); +}