# โš”๏ธ Java Knight: The Legend of Javanest ![Java Version](https://img.shields.io/badge/Java-17%2B-orange?style=for-the-badge&logo=java) ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) ![Game Type](https://img.shields.io/badge/Game-Text--Based%20RPG-blue?style=for-the-badge) **Java Knight** is a text-based RPG game developed in Java. Embark on an epic adventure through the lands of **Javanest**, battle dangerous enemies, collect ancient keys, and face the ultimate **Dragon Boss** to save the kingdom. --- ## ๐ŸŒŸ Core Features - ๐ŸŽญ **Multiple Playable Classes** (Knight, Wizard, Assassin) - ๐Ÿ—บ๏ธ **Location-Based Exploration System** - โš”๏ธ **Turn-Based Combat Mechanics** - ๐Ÿ”‘ **Key Collection & Progression System** - ๐Ÿ’พ **Save / Load Ready (Java Serialization)** - ๐Ÿ“Š **RPG Systems**: HP, MP, XP, Levels - ๐Ÿ›ก๏ธ **Weapons, Armor & Durability** - ๐Ÿ‰ **Final Boss Battle** --- ## ๐Ÿ›ก๏ธ Playable Classes | Class | HP | MP | Starting Weapon | Playstyle | |------|----|----|----------------|-----------| | **Knight** | High | Low | Sword | Tank / Physical Damage | | **Wizard** | Medium | High | Magic Staff | Magic & Healing | | **Assassin** | Medium | Medium | Daggers | Stealth & Burst Damage | Each class has **unique abilities**, different mana costs, and a distinct combat style. --- ## ๐Ÿ—บ๏ธ World Map Explore the dangerous regions of Javanest: 1. **Forest (Difficulty 1)** _A dark forest full of Goblins._ 2. **Graveyard (Difficulty 2)** _An abandoned graveyard haunted by Skeletons._ 3. **Vampire Crypt (Difficulty 3)** _A cursed crypt ruled by Vampires._ 4. **Dragon Castle (Difficulty 4)** _The final destination and home of the Dragon._ Locations are connected, allowing the player to move freely between unlocked areas. --- ## ๐ŸŽฎ Game Flow 1. Start the game 2. Enter your player name 3. Choose a class 4. Begin in the **Forest** 5. Fight enemies and gain XP 6. Collect special keys 7. Unlock the **Dragon Castle** 8. Defeat the Dragon and save Javanest --- ## ๐Ÿงญ Main Menu At launch, the player is presented with the main menu: ```text =============================== โš” JAVA KNIGHT โš” =============================== 1. Start Game 2. How To Play 3. Exit Menu Options Start Game โ€“ Begin a new adventure How To Play โ€“ Learn the rules and objective Exit โ€“ Close the game ๐Ÿฐ In-Game Menu While exploring a location, the player can choose: text 1. Fight Enemy 2. Move Location 3. Enter Dragon Castle (if unlocked) Fight Enemy โ€“ Starts a battle based on the current location Move Location โ€“ Travel to connected locations Enter Dragon Castle โ€“ Available only after collecting all keys โš”๏ธ Combat System Combat is turn-based and class-dependent. Available Actions Light Attack Heavy Attack Defend Heal Special Ability Exit Battle Combat Rules Attacks may consume MP Special abilities are unique per class Enemies attack after the playerโ€™s turn Winning a battle grants XP Enemies may drop keys ๐Ÿ”‘ Key System To unlock the final area, the player must collect: ๐Ÿ—๏ธ Goblin Key ๐Ÿ—๏ธ Skeleton Key ๐Ÿ—๏ธ Vampire Key Each key drops from enemies in its respective location. Once all keys are collected, the Dragon Castle becomes accessible. ๐Ÿ“ˆ Progression System HP (Health Points) MP (Mana Points) XP (Experience Points) Level System Weapon Durability Progression rewards strategic combat and exploration. ๐Ÿ’พ Save & Load System The project is prepared for game saving using Java Serialization. Serializable Components Player Location Weapon GameState This allows the game to be saved and restored at any point. ๐Ÿš€ Getting Started Requirements Java JDK 17 or higher Terminal or Java IDE (IntelliJ IDEA, Eclipse, VS Code) Run the Game bash javac -d out src/org/project/**/*.java java -cp out org.project.Main Or simply run Main.java from your IDE. ๐Ÿ› ๏ธ Project Architecture Object-Oriented Design Clean separation of concerns Interfaces & abstract classes Easily extendable structure Console-based UI with ANSI colors ๐Ÿ”ฎ Future Improvements Inventory management menu More weapons and consumables Enhanced armor mechanics Expanded world map Graphical UI (JavaFX / Swing) ๐Ÿ“œ License This project is licensed under the MIT License.