MineSweepery
Tech Stack: Unity2D, C#
⚙️ Features:
-
Customizable Grid
-
Players can set rows, columns, and mines for a unique grid setup.
-
-
Dynamic UI
-
In-Game UI: For gameplay interactions.
-
Grid Setter UI: Configure grid dimensions and mine count.
-
Lobby UI: Start or restart the game.
-
-
Interactive Mechanics
-
Flag suspected mines with a marking system.
-
-
Sound Integration
-
Interactive feedback with a sound service.
-
-
Separation of Concerns
-
Board Manager: Handles grid and input.
-
Grid Spawner: Creates the grid.
-
Bomb Spawner: Manages mine placement.
-
Win Condition Manager: Validates victory conditions.
-

Design Patterns Used :
01.
MVC Pattern
-
The game's core architecture is based on the MVC pattern:
-
Model: Manages the game logic and state, like grid configuration and mine placement.
-
View: Updates the UI components and reflects the game's current state.
-
Controller: Handles user inputs and connects the Model and View, ensuring clear separation of concerns.
-
02.
Service Locator
Centralized access to services like grid creation, sound, and game state management without tightly coupling components.
03.
Observer Pattern
- Used for managing start, end, and pause game scenarios.
- Ensures UI elements react dynamically to game state changes.