• Black Friday Sale: Use coupon code THANKSGIVING to get 50% OFF on all our courses.
    If you already have a subscription and still interested in taking advantage of this offer, you can buy now and apply in your future subscriptions. This offer is also valid on GIFTS. Click here to get this offer.

  • Our one of a kind Low Level Design course is now released for General Availability. Go check it out.






Minesweeper is a single-player computer game where an N x N square matrix has certain number of mines, i.e, bombs, hidden across the board. The remaining cells are either blank or have a number behind them. The numbers represent the number of bombs hidden in the surrounding eight cells. If the cell is blank, all adjacent blank cells (up to and including the surrounding numeric cells) would be exposed.

The player wins when all non-bomb cells are exposed. The game also allows the player to flag certain cells as potential bombs. Flagging does not affect the game other than just to block the cells from accidentally getting clicked.

Below is This is a fully exposed board with 3 bombs. This is not shown to the user. The objective of the player is to discover this.



The player initially sees a board with nothing exposed like below.



Clicking on cell (row= 1, col= 0) would expose this:



The user wins when everything other than bombs has been exposed.



How would you go about designing the game ?

Solution:


Object Oriented Design:




This is a Premium Content.
Please subscribe to Low Level Design course to access the content.




Low Level Implementation:




This is a Premium Content.
Please subscribe to Low Level Design course to access the content.




The above content is written by:

Abhishek Dey

Abhishek Dey

A Visionary Software Engineer With A Mission To Empower Every Person & Every Organization On The Planet To Achieve More

Microsoft | University of Florida

View LinkedIn profile


If you have any feedback, please use this form: https://thealgorists.com/Feedback.




Subscribe to Our Youtube Channel

Follow Us On LinkedIn
wave