Skip to content

kcampos27/Bomberman-Java-Engine-Design-Patterns-MVC-Architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BomberMan-Java-Engine 💣🧱

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.

🎮 Game Controls

  • Movement: Arrow Keys (⬆️, ⬇️, ⬅️, ➡️)
  • Place Bomb: X key

🏗️ Architectural Design & Patterns

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.

🛠️ Tech Stack & Requirements

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

🚀 How to Run

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

About

A modular implementation of the classic Bomberman game in Java. Focused on scalable software architecture using MVC and Gang of Four (GoF) design patterns like Strategy and Factory to manage game logic and entity lifecycles.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages