Java program to play minesweeper , JAVA Programming

Assignment Help:

Project Requirements

  1. Write and test a Java program to play Minesweeper using Model-View-Presenter design (The model is an interface defining the data to be displayed or otherwise acted upon in the user interface.
  2. The view is an interface that displays data (the model) and routes user commands (events) to the presenter to act upon that data.
  3. The presenter acts upon the model and the view. It retrieves data from repositories (the model), and formats it for display in the view.)

This project is divided into three tiers. You must complete one tier before beginning the next.

Tier 1
Implement the basic Minesweeper functionality:

1. Determine the neighbor count (i.e., for each cell, count the number of neighbors that are mines).

2. If the user selects a cell that is blank (i.e., no mines as neighbors) show all eight cells immediately surrounding the selected cell. If the selected cell is near an edge, be sure not go out of bounds.

3. If the user selects a cell that is non-blank (i.e., mines as neighbors), display only that cell number.

4. When all non-mine cells have been selected, display a JOptionPane message showing that the user has won.

5. When a mine cell is selected, show a JOptionPane message that indicates the user lost.

6. For this tier, your main method may hard-code the size of the board; but your GUI and your game engine should not make assumptions about the board size.

7. The game board should show the location of the mines. (This makes your project much easier to grade.)

Tier 2
Make the game more complete and give the user more options:

1. Allow the user to specify the number of mines and size of the board to be used. There are several ways you can do this.
o Use command-line parameters
o Create a new dialog window
o Use JOptionPane.showInputDialog
Be sure to perform bounds checking on the user input. The game should not crash if the user specifies a board size of "-6 x tomorrow".

2. Allow the user to flag cells. You may use any reasonable mechanism to flag cells.

3. Allow the user to show or hide the location of the mines. (In other words, give the game a "real game" mode and an "instructor demo" mode.)

Tier 3
Make the game fully operational:

1. If the selected cell is blank, show all blank cells connected to the current cell. (This task will be demonstrated in class and shown using the online Minesweeper games.)

2. Use the right mouse click to flag a cell. Suggestion: use a search engine with the following search words: Java right click.


Related Discussions:- Java program to play minesweeper

How dos attack is a cyber crime what cyber crime can be used, How DoS attac...

How DoS attack is a cyber crime? For what cyber crime can be used? DoS stands for Decline of Service and it is a cyber crime as it jams and within a few cases shut down the goa

Why is uml important? , The more complicated the underlying system, the mor...

The more complicated the underlying system, the more critical the inter communication among everyone involved in deploying and developing the software. UML is a software language f

Preventing applet based social engineering attacks, Preventing Applet Based...

Preventing Applet Based Social Engineering Attacks To help avoid this, Java applet windows are specifically labeled as such along with an ugly bar that says: "Warning: Applet W

I want linux server expert with tomcat skills, I want Linux server expert w...

I want Linux server expert with Tomcat skills Project Description: I want a Linux server expert to look in to an issue with my domain. It is down since three days as there is

Explain the 4 phases of RUP?, 1. Inception : In the mean while the inc...

1. Inception : In the mean while the inception phase, you work out the business part for the project. You also will be creating a rough cost estimate and return on investment.

Describe member variables vs. local variables, Describe Member Variables vs...

Describe Member Variables vs. Local Variables ? class Car { String licensePlate = ""; // member variable double speed; = 0.0; // member variable double maxSp

What is operator overloading, What is Operator Overloading? A few objec...

What is Operator Overloading? A few object oriented languages, notably C++, permit you to not only overload techniques but also operators like + or -. This is very menaingful w

JAVA APPLET GAMES, WHAT IS THE INTRODUCTION OF JAVA APPLET GAMES IN CONNECT...

WHAT IS THE INTRODUCTION OF JAVA APPLET GAMES IN CONNECT4

Explain java is fully object oriented languages or not, No, java is not ful...

No, java is not fully object oriented language due to it does not support "multiple inheritance" and "pointers" which are used in C++. But, by using Interfaces we can execute multi

What are adding methods, What are adding methods? A subclass isn't rest...

What are adding methods? A subclass isn't restricted to changing the behavior of its superclass. It can also add fully latest techniques and fields that are not shared along wi

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd