$30
CSE110 Principles of Programming Assignment 04::100 pts
Assignment 04 – Master Mind
You must work in alone on this assignment. Do not use any Java language features we have not cover so far in this course.
Assignment Objectives
After completing this assignment the student should be able to:
● Write programs that use loops to repeat instructions
● Demonstrate the use of while or for loops in Java
● Use conditional expression to control loops and decisions
Assignment Requirements
For this assignment you are given the following files:
Assignment04.java (you must complete this file)
Problem Description and Given Info
Within the main method in the Assignment04.java file, you must write a program to play a game of Master Mind with
the user.
Your program will choose a random 4 digit number as the secret number. Your program must prompt the user to enter a
4 digit number as their guess. The program will respond with a message indicating how many of the digits in the user’s
guess are the same as the digit in the same position in the secret number. For example, if the secret number is 3749, and
the user’s guess is 9753, then the program would respond with the message You matched 1, because only one of the
digits (the 7) in the user’s guess is the same as the digits in the same position in the secret number. The program will
allow the user to continue to enter guesses until they guess the correct secret number.
After the user has entered the secret number, the program will output a count of the total number of guesses the user
took to find the secret number. Then the program will ask the user if they would like to play again. If the user answers
“yes”, then the program will choose another random 4 digit number and play continues as described above.
Here's an example interaction (user input in bold):
----- MASTERMIND -----
Guess the 4 digit number!
Guess 1: 0000
You matched 0
Guess 2: 1111
You matched 1
Guess 3: 1234
You matched 1
Guess 4: 2444
You matched 2
Guess 5: 1442
You matched 4
Congratulations! You guessed the right number in 5 guesses.
Would you like to play again (yes/no)?
CSE110 Principles of Programming Assignment 04::100 pts
P.Miller 2
Program Pseudocode Template
You may use the following template if you find it helpful.
While the user wants to play another game
Pick a new secret number
While the user's guess is not completely correct
Prompt the user to make a guess
User enters a guess
Display number of correct digits in user’s guess
Congratulate the user and tell them the number of guesses they took
Ask the user if they want to play again
CSE110 Principles of Programming Assignment 04::100 pts
P.Miller 3
What to turn in
For this assignment you must upload the following files by the due date.
Assignment04.java
Any assignment submitted less than 24 hours after the posted due date will have 10 points deducted.
Any assignment submitted more than 24 hour after the posted due date will receive a zero in the grade book.
Grading Rubric
Criteria Points
All required files are submitted 10
Each file includes a comment header with the following information:
CSE 110 : <Class #> / <meeting days and times>
Assignment : <assignment #>
Author : <name> & <studentID>
Description : <of the file contents>
Partial credit can be awarded
Code is neat and well organized 10
Good naming conventions for all identifiers
Good use of whitespace
Descriptive comments
Partial credit can be awarded
Code compiles with no syntax errors 20
No Partial credit can be awarded
No credit will be awarded for structure or logic
if your code does not compile
Code passes structure tests 30
Code chooses a random 4 digit number
Code uses at least 2 loops
Code uses at least 1 decision (if)
Code displays messages to the user
Code collects user input
Partial credit can be awarded
Code passes logic tests 30
Code correctly plays game of Master Mind as described above
No credit will be awarded for logic
if your code does not pass all structure tests
Partial credit can be awarded
TOTAL 100