Pokémon Ga-Ole OOP Java
- A Java Object-Oriental Programming based Pokémon Ga-Ole-inspired game featuring command-line gameplay with a GUI battle system, focusing on modular design, encapsulation, and inheritance.
Project Overview
Pokémon Ga-Ole (Java OOP) is a game simulation project inspired by the Pokémon Ga-Ole arcade series.
The project demonstrates Object-Oriented Programming principles in Java, combining a command-line interface for gameplay with a Graphical User Interface (GUI) for battles.
Key Features
- 🐉 OOP Design: Implemented core concepts — classes, inheritance, polymorphism, encapsulation, and abstraction.
- ⚔️ Battle System GUI: Designed an interactive GUI for Pokémon battles to improve user experience.
- 🎮 Game Mechanics: Included turn-based combat, type advantages, hit points (HP), and special moves.
- 💾 Data Handling: Used Java collections to store Pokémon stats and moves.
- 🔑 User Interaction: CLI-based commands for exploring menus and selecting Pokémon.
OOP Concepts Highlighted
- Inheritance: Pokémon classes inherit from a base Pokémon superclass.
- Polymorphism: Move execution and type advantages handled dynamically at runtime.
- Encapsulation: Controlled access to Pokémon attributes (HP, attack power, etc.).
- Abstraction: Battle interface hides complex logic from the main gameplay loop.
Learning Outcomes
- Practiced clean code design using OOP patterns.
- Integrated GUI elements into a CLI-based game.
- Improved debugging, testing, and version control skills.
Screenshots
