Getting Started
You will build a turn-based console game in Java, inspired by League of Legends (LoL). The game allows the player to: - Select a champion from a list - Fight against a bot opponent - Use skills with special effects (stun, burn, heal)
Getting Started
Overview
You will build a turn-based console game in Java, inspired by League of Legends (LoL). The game allows the player to:
- Select a champion from a list
- Fight against a bot opponent
- Use skills with special effects (stun, burn, heal)
This project demonstrates all 4 principles of Object-Oriented Programming (OOP):
- Encapsulation
- Inheritance
- Abstraction
- Polymorphism
It also integrates:
- Factory Design Pattern
- Java Collections (List
) - A game loop with PvE (Player vs Bot)
Learning Roadmap – 10 Episodes
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. |
Key Concepts Practiced
- Object-Oriented Design
- Abstraction & Encapsulation
- Inheritance & Polymorphism
- Design Patterns (Factory)
- Java Collections (List, Random)
- Game logic: turns, skills, effects, AI
This post is licensed under CC BY 4.0 by the author.