diff --git a/Java-Knight/src/main/java/org/project/Main.class b/Java-Knight/src/main/java/org/project/Main.class new file mode 100644 index 0000000..2be909e Binary files /dev/null and b/Java-Knight/src/main/java/org/project/Main.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/Entity.class b/Java-Knight/src/main/java/org/project/entity/Entity.class new file mode 100644 index 0000000..95425d7 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/Entity.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Dragon.class b/Java-Knight/src/main/java/org/project/entity/enemies/Dragon.class new file mode 100644 index 0000000..3d6d7d0 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/enemies/Dragon.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.class b/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.class new file mode 100644 index 0000000..dd44e13 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.class b/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.class new file mode 100644 index 0000000..5e5cd65 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.class b/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.class new file mode 100644 index 0000000..481d70c Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.class b/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.class new file mode 100644 index 0000000..8764c6e Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/players/Assassin.class b/Java-Knight/src/main/java/org/project/entity/players/Assassin.class new file mode 100644 index 0000000..d6f7399 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/players/Assassin.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/players/Knight.class b/Java-Knight/src/main/java/org/project/entity/players/Knight.class new file mode 100644 index 0000000..30b1828 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/players/Knight.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/players/Player.class b/Java-Knight/src/main/java/org/project/entity/players/Player.class new file mode 100644 index 0000000..35b35bb Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/players/Player.class differ diff --git a/Java-Knight/src/main/java/org/project/entity/players/Wizard.class b/Java-Knight/src/main/java/org/project/entity/players/Wizard.class new file mode 100644 index 0000000..b544c87 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/entity/players/Wizard.class differ diff --git a/Java-Knight/src/main/java/org/project/item/Item.class b/Java-Knight/src/main/java/org/project/item/Item.class new file mode 100644 index 0000000..3db1242 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/Item.class differ diff --git a/Java-Knight/src/main/java/org/project/item/armors/Armor.class b/Java-Knight/src/main/java/org/project/item/armors/Armor.class new file mode 100644 index 0000000..1bcb03f Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/armors/Armor.class differ diff --git a/Java-Knight/src/main/java/org/project/item/armors/EnemyArmor.class b/Java-Knight/src/main/java/org/project/item/armors/EnemyArmor.class new file mode 100644 index 0000000..38ddf55 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/armors/EnemyArmor.class differ diff --git a/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.class b/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.class new file mode 100644 index 0000000..4bb0f6f Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.class differ diff --git a/Java-Knight/src/main/java/org/project/item/armors/leatherArmor.class b/Java-Knight/src/main/java/org/project/item/armors/leatherArmor.class new file mode 100644 index 0000000..2722c70 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/armors/leatherArmor.class differ diff --git a/Java-Knight/src/main/java/org/project/item/armors/woodenArmor.class b/Java-Knight/src/main/java/org/project/item/armors/woodenArmor.class new file mode 100644 index 0000000..96ede18 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/armors/woodenArmor.class differ diff --git a/Java-Knight/src/main/java/org/project/item/consumables/Consumable.class b/Java-Knight/src/main/java/org/project/item/consumables/Consumable.class new file mode 100644 index 0000000..ebd23ad Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/consumables/Consumable.class differ diff --git a/Java-Knight/src/main/java/org/project/item/consumables/Flask.class b/Java-Knight/src/main/java/org/project/item/consumables/Flask.class new file mode 100644 index 0000000..1e49293 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/consumables/Flask.class differ diff --git a/Java-Knight/src/main/java/org/project/item/consumables/Teriak.class b/Java-Knight/src/main/java/org/project/item/consumables/Teriak.class new file mode 100644 index 0000000..091a4b2 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/consumables/Teriak.class differ diff --git a/Java-Knight/src/main/java/org/project/item/weapons/DragonWepon.class b/Java-Knight/src/main/java/org/project/item/weapons/DragonWepon.class new file mode 100644 index 0000000..6e35018 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/weapons/DragonWepon.class differ diff --git a/Java-Knight/src/main/java/org/project/item/weapons/Sword.class b/Java-Knight/src/main/java/org/project/item/weapons/Sword.class new file mode 100644 index 0000000..ffc8751 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/weapons/Sword.class differ diff --git a/Java-Knight/src/main/java/org/project/item/weapons/Weapon.class b/Java-Knight/src/main/java/org/project/item/weapons/Weapon.class new file mode 100644 index 0000000..bd9ac08 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/weapons/Weapon.class differ diff --git a/Java-Knight/src/main/java/org/project/item/weapons/knife.class b/Java-Knight/src/main/java/org/project/item/weapons/knife.class new file mode 100644 index 0000000..eecd190 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/weapons/knife.class differ diff --git a/Java-Knight/src/main/java/org/project/item/weapons/knife.java b/Java-Knight/src/main/java/org/project/item/weapons/knife.java index 4b83f59..8a67796 100644 --- a/Java-Knight/src/main/java/org/project/item/weapons/knife.java +++ b/Java-Knight/src/main/java/org/project/item/weapons/knife.java @@ -2,6 +2,6 @@ package org.project.item.weapons; public class knife extends Weapon{ public knife(){ - super(15 , 8); + super(18 , 8); } } diff --git a/Java-Knight/src/main/java/org/project/item/weapons/wood.class b/Java-Knight/src/main/java/org/project/item/weapons/wood.class new file mode 100644 index 0000000..7f01656 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/item/weapons/wood.class differ diff --git a/Java-Knight/src/main/java/org/project/location/Location.class b/Java-Knight/src/main/java/org/project/location/Location.class new file mode 100644 index 0000000..ccf5ab4 Binary files /dev/null and b/Java-Knight/src/main/java/org/project/location/Location.class differ diff --git a/README.md b/README.md index 1e2c975..b9dbf7e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Fourth Assignment - Java Knight ⚔️ A turn-based RPG with Roguelike elements which can be run in the terminal. -### **Prologue: The Legend of Javanest** +## **Prologue: The Legend of Javanest** *For centuries, the land of Javanest lived in peace, until a magical Dragon attacked, plunging the realm into absolute darkness. With a wicked curse, the Dragon transformed the innocent people into horrific monsters: Goblins, Skeletons, and Vampires. Retreating to its impenetrable Castle, the Dragon divided the three keys to its lair and hid them among these cursed creatures. Now, it is your duty to step up and save the land. You must battle these monsters, recover the unique key from each monster type, and finally slay the Dragon to break the curse and restore peace to Javanest!* ### **Introduction** diff --git a/README1.MD b/README1.MD new file mode 100644 index 0000000..2bdfd27 --- /dev/null +++ b/README1.MD @@ -0,0 +1,86 @@ +# HELLO and Welcom to Java-knight⚔️ + +--- + +## Introduction + + +Goguryeo has been conquered by the dragon mercenary of Emperor Tso. As the savior of Goguryeo, you must conquer it. To do this, you must first obtain 3 keys.Each enemy army has 1 key, but we do not know which member of that army has it. Fight them to obtain the keys. Then go fight the dragon and become the ruler of Goguryeo. Dont forget java knight is a turn-based game and enemy can attak you. + +--- + +## HOW TO RUN GAME + + first you should go to project file and open src\main\java folder then open terminal and use this promote to compile project + + +```bash +javac org/project/Main.java +``` + +then use this promte to run the game + +``` +java org.project.Main +``` + +Now you can play! + +## About game + +--- +Hp: is your heart + +Mp : is your mana + +Xp : is your experiences + +**After any fight if you win . we will full your Hp and give you some Mp and you got 1 Xp and we add 5 Mp&Hp to MaxHP&Hp** + +At first you shout choose your player (Knight - Wizard - Assassin) + +- **⚔️Knight**: Hp:50 Mp:50 Weapon:sword(23 Damage) + +- **🗡️Assassin**: HP:60 Mp:80 Weapon: knife(18 damage) + +- **🧙‍♂️WIZARS**: HP:90 Mp:60 Weapon: wood(16 damage) + +After that you should choose your location. in each location exist one enemy such as: + +- **Goblin** 👹: Hp:35 Weapon: knife(18 Damage) Special : critical attack +- **Skeleton** ☠️: Hp:50 Weapon: wood(16 Damage) Special: relive after dead +- **Vampire** 🦇: Hp: 60 Weapon : wood(16 Damage) Special : rob Hp +- **Dragon (Final Boss)** 🐉: Hp: 200 Weapon:fire(25 Damage) Special : Fire + break Armor + +In each turn enemy can use 1.light attack 2.heavy attack 3 special abilities + +Player in each turn can use : +1. **Light Attack:** Deals moderate damage and costs **NO Mana**. (Note: If the player runs out of Mana/Stamina, this is the ONLY action they can perform.) +2. **Heavy Attack:** Deals high damage, medium Mana cost. +3. **Defend:** Completely blocks or significantly reduces the damage of the enemy's *next* strike. Medium Mana cost. +4. **Heal:** Restores a portion of the player's HP. Medium-high Mana cost. +- 4.1 Flask : Give you Hp +- 4.2 Teriak : Give you Mp +5. **Special Ability:** A unique class-based ultimate move (Highest Mana cost): + - **Wizard** 🧙‍♂️: Casts a devastating spell that damages the enemy while simultaneously replenishing some HP. + - **Assassin** 🗡️: Turns invisible, dodging the next incoming attack completely and guaranteeing a *Critical Hit* on their next turn. + - **Knight** ⚔️: Performs a shield bash that stuns the enemy, forcing them to skip their next turn while dealing heavy damage. + +--- +## About oop +In this project we use oop. we have 2 interface + +1. Entity +- **Player**(Knight - Wizard - Assassin) +- **Enemy**(Goblin - Skeleton - vampire - Dragon) + +2. Item +- **Armors**(Enemy armor - Knight armor - leather armor - wooden armor) +- **Consumable**(Flask - Teriak) +- **Weapon** (Sword - Weapon - Wood - DragonWeapon) + + + +--- +### **For control game you should input number . if you input invalid number you should input again** +![cover](Readme_Pictures/image.png) \ No newline at end of file