Evgenii-Bazhaov / Hacktoberfest2024

Make your first Pull Request on Hacktoberfest 2024. Don't forget to spread love and give us a ⭐️
https://hacktoberfest2024-nu.vercel.app
GNU General Public License v3.0
64 stars 260 forks source link

Add New Minesweeper Game with Java GUI Implementation #342

Open KSVeerendernath opened 4 days ago

KSVeerendernath commented 4 days ago

Detailed Issue Description

We propose adding a new game, Minesweeper, to the project. This version will be built from scratch using Java, offering a GUI-based, interactive experience that allows players to reveal cells, flag potential mines, and try to clear the board without triggering a mine.

Context

Minesweeper is a classic puzzle game that challenges players to strategically uncover cells while avoiding hidden mines. This new implementation aims to bring an engaging version of Minesweeper to the project, enhancing the variety of games available and showcasing core programming concepts in Java, such as GUI design, recursion, and user interaction.

Proposed Implementation

Game Board:

Core Mechanics:

  1. Cell Revealing: Players can reveal cells by clicking. If a mine is revealed, the game ends. If an empty cell with no adjacent mines is revealed, surrounding cells will automatically open.
  2. Flagging Mines: Players can right-click to flag cells as suspected mines, aiding in tracking potential hazards.

Game Display:

User Interaction:

End Game Logic:

Additional Information

We are master’s students (@KSVeerendernath, @manutopp, @gurramtejaswini) working on this project as part of our coursework, which requires us to contribute to an open-source repository. We've chosen to add Minesweeper to this project to demonstrate our skills and bring a new, fully functional game to the repository.

This contribution will enhance the repository by adding a popular, classic game, showcasing Java GUI programming, and encouraging further contributions from others interested in game development. Please help to approve our request, We hope this addition will be valuable to the project.

KSVeerendernath commented 4 days ago

Hi @sudhanshu-77, thank you so much for accepting our issue and assigning it to me, I really appreciate your quick response. Thanks!!