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:
A 9x9 grid will represent the game board, containing 10 randomly placed mines.
Each cell will either be empty, contain a mine, or display a number indicating the count of adjacent mines.
Core Mechanics:
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.
Flagging Mines: Players can right-click to flag cells as suspected mines, aiding in tracking potential hazards.
Game Display:
The game will use a GUI to display the board. Cells will be represented by buttons that update based on player interactions.
The board will show revealed cells with adjacent mine counts, mines (*), flagged cells (...), and hidden cells.
Colors and emojis will be added to make the game visually appealing and enhance player engagement.
User Interaction:
Players will interact with the game using left-clicks for revealing cells and right-clicks for flagging cells.
Input validation and error-handling mechanisms will ensure smooth gameplay.
End Game Logic:
Implement logic to check for winning and losing conditions, with appropriate messages displayed at the end of the game.
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.
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:
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.