Skip to content

Repository files navigation

2D SHOOTING GAME

This is a 2D game implemented in Java, designed using various software development tools and frameworks.

Description

The 2D game project is a Java-based game that offers an immersive gaming experience. It includes several features and functionalities to engage the players. The game utilizes applied design patterns such as Builder, Abstract Factory, and Singleton to ensure modularity and maintainability. The graphical user interface (GUI) of the game is designed using Swing and AWT frameworks, providing an intuitive and interactive experience. Installation

To run the game on your local machine, follow these steps:

Clone the repository using the following command:

    git clone https://github.com/luan30092000/2D_Game.git

Inside 2D_Game folder, open Terminal and enter commands:
    
    cd GalacticGreaseMonkey/target
    java -jar GalacticGreaseMonkey-1.1-SNAPSHOT.jar

To view Java documentation reference by HTML, follow these steps:

Inside 2D_Game folder, open Terminal and enter commands:
   
    cd JavaDoc_Eng
    open .

Now open index.html file by browser

Features

Feature 1: Game setting GUI
Feature 2: 3 levels of the game
Feature 3: Implemented pathfinder algorithm for bots 
Feature 4: Instant restart

Design Patterns

The project incorporates the following design patterns:

Builder Pattern: This pattern is used to create complex game objects step by step, allowing flexible object creation and avoiding constructors with numerous parameters.

Abstract Factory Pattern: It provides an interface for creating families of related objects without specifying their concrete classes. In the game project, this pattern is utilized to create  different types of game objects with a common interface.

Singleton Pattern: This pattern ensures that only one instance of a class exists throughout the game and provides a global access point to that instance. It is used to manage game-wide settings and resources.

Contributors

Luan Nguyen (@luan30092000)
Jason Gill (@xgill15x)
Micheal Chen (@xzh1106)

License

This project is licensed under the MIT License. Support and Contact

If you have any questions, issues, or suggestions regarding the game project, please feel free to contact me at luan_nguyen_3@sfu.ca

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages