Skip to content

alexP-codeLab/DungeonFantasy-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Dungeon Fantasy: A Text-Based RPG Adventure

Welcome to Dungeon Fantasy! This is a classic text-based RPG developed in Java, where you create a hero, choose a race, and fight through endless rounds of monsters in a challenging arcade mode.

This project was created by a student in their second year of the DAM (Desarrollo de Aplicaciones Multiplataforma) vocational program. It serves as a practical application of core Java and Object-Oriented Programming (OOP) principles learned during the first year of study.

โš”๏ธ Core Features

  • Endless Arcade Mode: Survive as many rounds as you can against increasingly difficult waves of enemies.
  • Turn-Based Combat: A classic, easy-to-understand combat system where you choose to attack or heal.
  • Character Creation: Choose a name and a race for your hero.
  • Diverse Races: Select from 10 unique races, each with different base stats that promote various playstyles (Tank, Glass Cannon, Bruiser, etc.).
  • Progressive Difficulty: Enemies become stronger and more numerous with each round you clear.
  • Epic Boss Battles: Face a powerful, randomly selected boss every five rounds for a true test of skill.
  • Skill Upgrade System: After each successful round, choose one of three randomly presented skills to permanently upgrade your character's stats.
  • Resource Management: You have a limited number of healing potions. Use them wisely!

๐Ÿš€ Getting Started

This is a simple console-based Java application with no external dependencies. You only need a Java Development Kit (JDK) installed to compile and run it.

Prerequisites

  • Java Development Kit (JDK) 8 or higher.

How to Run

  1. Download the Code: Clone the repository or download the .java files into a single directory.

  2. Open a Terminal: Navigate to the directory where you saved the files.

  3. Compile the Files: Run the Java compiler on all the .java files.

    javac *.java
  4. Run the Game: Execute the Main class to start the adventure.

    java Main

    Follow the on-screen prompts to create your character and begin playing!

๐Ÿ“‚ Project Structure

The project follows Object-Oriented principles, with a clear separation of concerns among the different classes:

  • Main.java: The entry point of the application. Manages the main menu and the primary game loop.
  • ArcadeMode.java: Controls the logic of the arcade mode, including round progression, enemy spawning, and turn management.
  • PlayerCharacter.java: Represents the player. Manages all player stats (health, damage, level) and actions (attack, heal).
  • Race.java: An enum that defines all playable races and their unique base stats.
  • Enemy.java: The class for standard enemies that the player fights in most rounds.
  • Boss.java: A subclass for powerful boss enemies encountered every five rounds.
  • Skill.java: Represents a passive skill that provides a stat bonus to the player.
  • SkillFactory.java: A factory class responsible for creating and providing random skills of different rarities (Common, Epic, Legendary).
  • BossFactory.java: A factory class that holds a list of predefined bosses and generates one for boss rounds.
  • IAttackable.java: An interface defining the contract for any entity that can attack and be attacked.
  • IEnemy.java: An interface defining the basic contract for all enemy types.

๐Ÿ› ๏ธ Technologies Used

  • Java: The entire project is written in pure, object-oriented Java.

About

Dungeon Fantasy: A Text-Based RPG Adventure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages