Skip to content

Our Tank Stars project features 1v1 battles on dynamic terrains with LibGDX, offering tank selection, strategic firing controls, and unique damage effects. We added game-saving functionality, embracing OOP principles, design patterns, and extensive testing for an immersive experience.

Notifications You must be signed in to change notification settings

premkjain/Tank-Star-Game

Repository files navigation

Tank Stars Game Project

Overview

In our Tank Stars game project, we meticulously crafted a two-player experience where strategy and precision play pivotal roles. Utilizing LibGDX for its robust support and enhanced visual capabilities, our implementation allows players to engage in turn-based combat on dynamically generated hilly terrains, where positioning and firepower determine the victor. Key features include selectable tanks, each with unique stats; adjustable shot power and angle for strategic depth; and real-time damage effects based on hit proximity, influencing both health and tank movement.

We introduced a novel game-saving feature, absent in the original game, enabling players to save their progress mid-battle. This functionality stores critical game states such as tank health, positions, and terrain orientation, allowing for seamless game resumption. Our commitment to object-oriented principles is evident through our design, employing inheritance, polymorphism, and interfaces, alongside at least two design patterns to ensure code modularity and readability.

Beyond basic requirements, our game supports serializability for easy game state management, multiple save/load options for enhanced player convenience, and additional bonus features such as destructible terrains and special airdrops, providing tactical advantages and introducing unexpected twists to gameplay. These enhancements not only align with the project's guidelines but also incorporate our creative vision, setting our Tank Stars rendition apart. Through rigorous JUnit testing and adherence to best coding practices, we've ensured a stable, enjoyable gaming experience that we're proud to present.

Features

  • 1v1 Game Mode: Players face off in a battle, taking turns to shoot and move.
  • Tank Selection: Choose from at least three different tanks before starting the game.
  • Gameplay Mechanics: Players can select the power and angle of their shot. Hits affect health based on proximity.
  • Pause Menu: Allows players to save, resume, or exit to the main menu at any point in the game.
  • Multiple Save/Load: The game supports saving the current state and loading from multiple saved states.

Project Structure

The project is structured into various directories and files, including source code for game mechanics, GUI components using LibGDX or JavaFX, and test files.

(Here you would list the main directories and files, providing a brief description of each.)

Setup Instructions

To run this project, follow these steps:

  1. Ensure Java and LibGDX/JavaFX are installed on your system.
  2. Clone the repository to your local machine.
  3. Open the project in your IDE and resolve any dependencies.
  4. Run the main class to start the game.

UML and Use Case Diagrams

The project includes detailed UML and Use Case diagrams to represent the design and interactions within the game.

UML Diagram Use Case Diagram

Conclusion

The use of OOP principles, design patterns, and best coding practices is emphasized throughout the project.

About

Our Tank Stars project features 1v1 battles on dynamic terrains with LibGDX, offering tank selection, strategic firing controls, and unique damage effects. We added game-saving functionality, embracing OOP principles, design patterns, and extensive testing for an immersive experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages