Question: Please help me:( I need help writing a custom mastermind program with Java. Not looking for a generic mastermind, but one that has the following

Please help me:( I need help writing a custom mastermind program with Java. Not looking for a generic mastermind, but one that has the following requirements:

1. Mastermind.java (already provided- contains main())

import.java.util.Scanner;

public class Mastermind { public static void main(String[] args)

{

Scanner input = new Scanner(System.in); MastermindPuzzle mp; int easyHard; int puzzleNum;

System.out.print("1=easy, 2=hard? "); easyHard = input.nextInt(); System.out.println();

System.out.print("Puzzle num? "); puzzleNum = input.nextInt(); System.out.println();

if (easyHard == 1) { mp = new EasyMastermindPuzzle(); }

else { mp = new HardMastermindPuzzle(); }

mp.startGame(puzzleNum);

char[] guess = new char[mp.getNumPieces()];

while (mp.stillPlaying()) { System.out.print("Guess? "); for (int i = 0; i < guess.length; i++)

{ guess[i] = (input.next()).charAt(0); }

System.out.println(); mp.makeGuess(guess);

System.out.printf("%20d %d --> ", mp.getLastCorrectColorCount(), mp.getLastCorrectPositionCount());

for (int i = 0; i < guess.length; i++) { System.out.print(guess[i]); System.out.print(' '); }

System.out.println();

}

if (mp.won()) { System.out.println("Congratulations!"); }

else

{ System.out.println("Sorry, you lost"); }

} }

2. 2. MastermindPuzzle.java

//private instance variables

//abstract

//implement Winnable interface

//default constructor

//getNumPieces needs to return an integer with the number of pegs in a puzzle (currently 4 - use constants)

//chooseSolution should accept an integer that is the puzzle to choose (1-3 or -1 for random)

//call chooseSolution

//reset your other variables that remember the state of the current game

//makeGuess accepts a character array with the letters to check

//increase the number of guesses made, and set 2 instance variables that indicate the number of correctly colored pegs and the number in the correct position

//getLastCorrectColorCount needs to return the number of pegs that are the correct color in the last guess

//getLastCorrectPositionCount needs to return the number of pegs that are in the correct position in the last guess

3. EasyMastermindPuzzle.java (subclass of MastermindPuzzle)

//This class ONLY needs constructor(s) and chooseSolution //chooseSolution should do the following:

//If the parameter is 1, set the puzzle to R, G, B, W

//If the parameter is 2, set the puzzle to P, R, W, Y

//If the parameter is 3, set the puzzle to W, B, Y, P

//If the parameter is -1, set the puzzle to random colors (4 out of R, G, B, W, Y, P)

4. HardMastermindPuzzle.java (subclass of MastermindPuzzle)

//This class ONLY needs constructor(s) and chooseSolutionchooseSolution should do the following:

//If the parameter is 1, set the puzzle to R, G, B, R

//If the parameter is 2, set the puzzle to P, R, P, Y

//If the parameter is 3, set the puzzle to W, W, Y, P

//If the parameter is -1, set the puzzle to random colors (4 out of R, G, B, W, Y, P) with at least 1 duplicate color within in the puzzle

5. Winnable.java

//This should have 3 methods each returns a boolean: won, lost, stillPlaying

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!