Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Below is a discussion of the game \"Mastermind\" that should be implemented usin

ID: 3662802 • Letter: B

Question

Below is a discussion of the game "Mastermind" that should be implemented using C++. I need help in implementing one class in this code. Below are the rules of the game just so you get an idea about it:

1. The codebreaker is prompted to enter two integers: the code length n, and the range of digits m.

2. The codemaker selects a code: a random sequence of n digits, each of which is in the range [0,m-1].

3. The codebreaker is prompted to enter a guess, an n-digit sequence.

4. The codemaker responds by printing two values that indicate how close the guess is to the code. The first response value is the number of digits that are the right digit in the right location. The second response value is the number of digits that are the right digit in the wrong location. For example if the code is 1, 2, 3, 4, 5 and the guess is 5, 0, 3, 2, 6, the response would be 1, 2 because one digit (3) is the right digit in the right location, and two digits (2 and 5) are the right digits in the wrong locations. Note that no digit in the code or guess is counted more than once. If the code is 1, 2, 3, 4, 5 and the guess is 2, 1, 2, 2, 2, the response is 0, 2. If the code is 3, 2, 3, 3, 3 and the guess is 1, 3, 3, 4, 5, the response is 1, 1.

5. The codebreaker is prompted to continue entering guesses. The codebreaker wins if the correct code is guessed in ten or fewer guesses, and otherwise the codemaker wins.

Here goes my question:

1. Implement the class code which stores the code as a vector and contains

(a) the code class declaration,

(b) a constructor that is passed values n and m and initialize the code object,

(c) a function that initializes the code randomly,

(d) a function checkCorrect which is passed a guess as a parameter, i.e. another code object, and which returns the number of correct digits in the correct location,

(e) a function checkIncorrect which is passed a guess as a parameter (i.e. another code object and returns the number of correct digits in the incorrect location. No digit in the guess or the code should be counted more than once.

Please do part d only

Explanation / Answer

Function checkCorrect which is passed a guess as a parameter, i.e., another code object, and which returns the number of correct digits in the correct location:

Here is the code for the above said function:

int checkCorrect(Code c)
{
int countCorrects = 0;   //Initializes the count to 0.
for(int i = 0; i < n; i++)   //For each value in the vector.
   {
    if(codeVector.at(i) == c.getValueAtLocation(i))   //If the value in vector equals the value of vector of object c, at the same location,
     countCorrects++;       // then increment the counter.
   }
return countCorrects;    //Finally return count.
}

Here getValueAtLocation() is a member function of the class code, which returns the value in the vector at given location.

If you have any further queries, just get back to me.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote