About
Around the beginning of 2021, I became a bit obsessed with Minesweeper. It started off with the command line version and after learning JavaFX in CS2 class, I decided to turned it into a GUI. It uses the MVC (Model-View-Controller)
design. The GUI is a simple program so extra functionalities like chording, timing or any other features commonly found in Minesweeper clones are not implemented.
Timeline
Here is a rough timeline of the development process. Unfortunately I didn’t put any timestamps, but the project was in active development for about two months.
-
First run successful run! Right now the progam is able to generate a field with all the mines and numbers.
-
Top is the what the game displays as its current state (none of the blocks are revealed). Bottom is the actual content of the block.
-
Color with ANSI values (had to change the color scheme a little)
-
How to win the game: all the mines are flagged! In the first part, I had one flag left. When I flagged the remaining mine, I won the game.
-
Here is a gif of what the gameplay is like as of now:
-
Made enum classes for each of the levels in Minesweeper with another constructor for custom boards.
-
Adding override commands like this autoplay (created mainly for testing purposes)
-
Rows and cols for easier gameplay
-
Working on a GUI!
-
Basic commands (revealing, flagging, unflagging) with game over function
-
New game button feature for clicking and end of game