Assignment
Problem Description
You are to design and implement a class to play a game called Unique Six. In this game, the player will roll a die to obtain a number from 1 to 6 and continue rolling until all six unique numbers have been generated. If a number is rolled that has appeared before, then the number is discarded until all the six required numbers are obtained. Your program will check and test if each of these numbers has appeared only once. You may use some of the methods defined in the Die class of Chapter 5 in the textbook to help in your assignment. You may also need minor modifications to the existing class(es) as you progress from Part 1 to Part 3. Remember small victories are keys to success.
Part 1
You need to create three classes, class Die, class Player and class TestSixNumbers.
class Die has the ability to roll the die and produce a new random face value.
class Player creates an instance of class Die and then checks if the numbers 1, 2, 3, 4, 5 and 6,
appear only once. It stops rolling the die once a set of six unique numbers from 1 to 6 has been obtained.
class TestSixNumbers creates an instance of class Player and it plays the game.
class TestSixNumbers also reports the result to the user and the number of times the die has been rolled.
Part 2
You need two other classes, class DisplaySixNumbersPanel and class SixNumbersPanel to create a GUI as shown below.
The class SixNumbersPanel has 6 textfields of 3 characters to display each of the six numbers (when the number is rolled the first time), a label for instructions, a button to roll the die and a textfield of 3 characters to display the current face value of the die and a textarea to display the number of rolls taken to obtain 6 unique numbers from 1 to 6.
This class also creates an object of class Player that checks and reports in the textfield, each time a unique number is rolled.
The code for class DisplaySixNumbersPanel is given.
import javax.swing.*;
public class DisplaySixNumbersPanel {
public static void main(String[ ] args) {
JFrame w1 = new JFrame("Six Numbers Game");
SixNumbersPanel myPanel =new SixNumbersPane l( ) ;
w1.add(myPanel);
w1.setSize(260, 350);
w1.setVisible(true);
w1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} //end main
} //end class
Part 3
You are encouraged to enhance the basic product in Part 2 by allowing 2 players to play the Unique Six game. Each player alternately rolls a die and the game is over when one of the players obtains a set of six unique numbers from 1 to 6; report who the winner is and the total number of rolls taken to win the game. You may consider having a "New Game" button to play another game.
If you make any modifications to class SixNumbersPanel, rename it as class SixNumbersPanel2.
Attachment:- Assignment-Problem-Description.rar