You will build a turn-based console game in Java, inspired by League of Legends (LoL). The game allows the player to:
This project demonstrates all 4 principles of Object-Oriented Programming (OOP):
It also integrates:
Episode | Topic | Learning Objectives |
---|---|---|
1 | Game structure setup | Create the base folder and file structure. Write the Main class and display a welcome screen. |
2 | Implement subclasses (Inheritance) | Create specific hero types like Warrior, Mage, etc., inheriting from Hero. |
3 | Define Hero class (Abstraction) | Learn how to use abstract classes and interfaces to define common hero behavior. |
4 | Add Skills and Effects | Build a Skill class and apply it to heroes. Use simple logic to deal damage. |
5 | Use Collections (List<Hero> ) |
Store available champions in a list and allow player to select one. |
6 | ChampionFactory (Factory Pattern) | Implement a factory class to instantiate heroes by name dynamically. |
7 | Status Effects (Stun, Burn, Heal) | Create a StatusEffect interface and apply real-time effects to heroes. |
8 | Basic Combat System | Implement a turn-based combat loop between player and bot. |
9 | Add a Bot AI | Create a BotHero class with basic decision-making to simulate PvE. |
10 | Polish and Extend | Improve game experience, refactor code, add more heroes, skills, and effects. Prepare for deployment or further expansion. |