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. |