This project is a modular implementation of the classic Bomberman game developed in Java. It serves as a comprehensive study of Software Architecture and Object-Oriented Design, prioritizing clean code and decoupled systems over simple scripting.
- Movement: Arrow Keys (⬆️, ⬇️, ⬅️, ➡️)
- Place Bomb: X key
This engine was built to demonstrate proficiency in Modular Programming and the application of Gang of Four (GoF) design patterns:
- MVC (Model-View-Controller): The core architecture separates the game physics and grid logic (Model) from the rendering engine (View) and user input handling (Controller).
- Factory Pattern: Used for the dynamic instantiation of game entities, including bombs, enemies, destructible blocks, and power-ups.
- Strategy Pattern: Implemented to manage interchangeable AI behaviors for various enemy types and distinct mechanics for collectible items.
- Modular Approach: The codebase is organized into independent packages to ensure it remains scalable and follows the Open/Closed Principle.
- Language: Java 21 (Microsoft Build of OpenJDK
ms-21.0.10). - GUI Framework: Java AWT & Swing for event-driven rendering.
- IDE: Originally developed in Eclipse and later migrated/optimized for IntelliJ IDEA.
Because this project utilizes features specific to Java 21, ensure your local environment is running the correct version (Class file version 65.0). To execute the standalone game:
java -jar BomberMan.jar