0% found this document useful (0 votes)
57 views3 pages

Minesweeper

The document describes a Major Project assignment to build the classic Minesweeper game. The objective is to clear a board of hidden mines without detonating any by using clues about the number of neighboring mines. Key requirements include supporting difficulty levels and custom board sizes, displaying game information in a top bezel, saving high scores and the last game time, and implementing the core game logic and state management. The project will be evaluated based on various criteria such as the user interface design, code quality, comments, and innovative features.

Uploaded by

Chhaya Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views3 pages

Minesweeper

The document describes a Major Project assignment to build the classic Minesweeper game. The objective is to clear a board of hidden mines without detonating any by using clues about the number of neighboring mines. Key requirements include supporting difficulty levels and custom board sizes, displaying game information in a top bezel, saving high scores and the last game time, and implementing the core game logic and state management. The project will be evaluated based on various criteria such as the user interface design, code quality, comments, and innovative features.

Uploaded by

Chhaya Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Minesweeper

It's time for your first Major Project! And you have to build a classic game - Minesweeper, which you
must have played a lot and in case you haven’t then go right away and play the game a bunch of
times to get a decent idea around it! In fact you can(rather you should :P) explore Minesweeper
apps on playstore to get a decent idea of what you have to build.
Minesweeper is a single-player puzzle video game. The objective of the game is to clear a
rectangular board containing hidden "mines" or bombs without detonating any of them, with help
from clues about the number of neighbouring mines in each field.
• Every button on the minesweeper board can either be unturned, or
marked as a flag.
• If the user un-turns a mine or marks all of the mines as flags, the game
ends.
• Every unturned button on the board holds a number, which represents
the number of neighbouring mines.
• If the number of neighbouring mines for the unturned button is zero, all
its neighbours are unturned as well.

The app should have the following features:


• An opening screen that prompts the user to choose from a few preset
boards such as easy, medium and hard based on the number of mines
the board has) or prompts them to create their own.
• The custom boards should take the height/ width of the board as well as
the number of mines as an input.
• The number of mines should be always less than 1/4th of the board’s
buttons to avoid overcrowding of mines. Feel free to add some other
constraints if you want to (Don’t forget to mention them in a readme file
that will help TAs to understand your logic better).
• The game board should have an upper bezel that displays the
difference of number of mines and the number of marked flags at all
times (if the mine count is 15 and the user has marked 2 flags the mine
count should display 15-2=13). A running timer should be added to the
bezel to keep track of the time the user completes a game in.
• The first click should be free, i.e. the mines should be set on the first
click to ensure that the user’s first click doesn’t detonate a mine.
• At the end of the game, if the user manages to track down all of the
mines, their performance time can be stored . The high scores should
be displayed on the home screen along with their last game time.
https://ninjasfiles.s3.amazonaws.com/asset_0000000000000076_1590472543_SS1.jpeg

https://ninjasfiles.s3.amazonaws.com/asset_0000000000000077_1590472558_SS2.jpeg

https://ninjasfiles.s3.amazonaws.com/asset_0000000000000078_1590472567_SS3.jpeg

https://ninjasfiles.s3.amazonaws.com/asset_0000000000000079_1590472578_SS4.jpeg

https://ninjasfiles.s3.amazonaws.com/asset_0000000000000081_1590472673_FinalVideo.gif

Take care of the following points:


1. Game Logic and Saving State (15 + 5 ): The basic Minesweeper logic should work well without any
bugs for at least one board irrespective of difficulty levels and custom board. The best time and last
game time should be saved for the game.

2. Difficulty Levels and Custom Boards (10 + 10): Difficulty levels should be implemented such that
the UI is dynamic and adjusts according to different boards as well as mine size. Also logic to the
number of mines and score should work well according to the option selected. Both code logic and
relevant UI changes will be evaluated. Difficulty levels and custom boards carry equal marks.

3. Top Bezel (20): Design a top bezel that displays information about the game(number of mines left
to be flagged and timer) as well as provides buttons to restart the game etc. The functionality of these
buttons should work well.

4. Comments (10): The code should have proper comments to make it easily understandable. There
should be a readme file - explaining additional features/highlights implemented.

5. Code Quality (10): Proper classes and functions should be created to eliminate redundant code,
such as a button class or an evaluation function.

6. Interactive and Responsive UI (10): The UI should be presentable, responsive and scalable i.e.
should be fit for all screen sizes and should improve user experience. You can use emulators to test
on multiple devices. We aren’t grading you on UI presentation but how well does your UI scales.

5. Innovation (10): Try to implement design or UI innovation such as sharing highscore via text
messages(you have learned intents), work on UI(although we know we haven’t explored styling in
much details yet in the course but it will be good to explore) etc.
Your project will be evaluated on following parameters -
• Interactive and Responsive UI (Max Score 10)
• Code Quality (Max Score 10)
• Comments (Max Score 10)
• Top Bezel (Max Score 20)
• Innovation (Max Score 10)
• Difficulty Levels and Custom Boards (Max Score 20)
• Game Logic and Saving State (Max Score 20)

You might also like