Hi there everyone. I am trying to work on an assignment here that requires me to create a working minesweeper games using classes and dynamic memory. These are the two things I'm not the best at. Putting everything together shouldn't really be too difficult, but I'm just trying to plan together now what functions and variables I am going to have to have in my class on a UML. Below are the assessment specifications:
Implement a menu system that gives the user options for a ‘Play’, ‘Settings’
and ‘Exit, etc.
• Play leads to the gameplay.
o The player must have the option to set a position to be ‘dug’ or for the
position to be ‘flagged’. If they select for it to be flagged then an F
should appear in the grid. If they select to dig and there is no mine,
then the number of mines in the 8 adjacent grid squares should be
displayed in that grid position.
o Make the number of mines in the grid reflective of the difficulty of the
game. The user may still choose the size of the grid but the difficulty
must be proportional to that grid size. E.g. easy might place mines on
10% of the available grid positions, intermediate might do 15% and
difficult might do 20%. You can decide on your own difficulty levels
and characteristics. You need to tell the user how many mines they
need to find after they have been positioned.
o The grid should be displayed after every user action
o If the user digs on a mine then the game is over and they lose, a
message should be displayed and the game should finish.
o If the user correctly flags all 10 mines then they win, a message should
be displayed and the game should finish.
o Include a cheat option so that if the user enters ‘z’ we can view the
complete contents of the grid showing all hidden elements.
o Quit returns to the first menu.
• Settings should allow the user to set the grid size and the difficulty level (i.e. easy, intermediate or
difficult). The user has the option to either use a default size grid or
input their own grid dimensions. If the user doesn’t customise the grid
size, use a default grid size of 10 by 10 and position 10 mines
randomly into the grid positions.
• Exit should allow the user to exit the game completely.
I have already put together what I think to be a good IPO table found here:
https://gyazo.com/ac60bf19b0d6b0526678aea76c7cf6b8
I now just need help figuring out what variables are going to be needed for what functions and just really which bits will be done in each. All of the OOP I've done before has not been quite to the size of this, so I'm just finding it a little bit complicated. Any help would be greatly appreciated. Thanks. :)