Homework 01
Showcase Showdown!
Due 09/20/2024 by 11:55pm
Objective:
Write a program which replicates the final game of a famous
price related game show. In this version, a “Showcase” contains exactly 5
unique randomly selected prizes. The user must guess the sum of the prizes
within $1,300 below or equal to the sum in order to win.
Requirements:
- Functionality. (80pts)
- No Syntax, Major Run-Time, or Major Logic Errors.
(80pts*)
- *Code that cannot be compiled due to syntax errors is
nonfunctional code and will receive no points for this entire section.
- *Code that cannot be executed or tested due to major
run-time or logic errors is nonfunctional code and will receive no
points for this entire section.
- Use only Arrays. (80pts*)
- *Other built in types like ArrayLists, LinkedLists, etc
will receive no points for this entire section.
- Clear and Easy-To-Use Interface. (10pts)
- Users should easily understand what the program does and
how to use it.
- Users should be prompted for input and should be able to
enter data easily.
- Users should be presented with output after major
functions, operations, or calculations.
- Users should be able to perform any number of the
required functions. In addition, users should be able to choose when to
terminate the program.
- All the above must apply for full credit.
- Reading a Prize File. (20pts)
- The program must read from a “Prize File” and using that
information it must populate a data structure of prizes.
- Each prize in the file has a name and price separated by
and end line (‘\n’).
- Each prize’s name and price are separated by a tab
(‘\t’)
- The “Prize File” format is:
<<Prize’s Name
0>>\t<<Prize’s Price 0>>\n
<<Prize’s Name
1>>\t<<Prize’s Price 1>>\n
…
- The program should ignore items that do not strictly
follow the previously stated format. (HINT! There’s at least one item in
the file that is not formatted correctly)
- Example Prize
File
- You may either assume the “Prize File” is constant or
you may ask the user to enter a prize filename.
- You do not need to create the file yourself, and you may
use the provided example file.
- All the above must apply for full credit.
- Select Prize’s for the Showcase. (20pts)
- The program should randomly pick exactly 5 unique prizes
from the prize data structure.
- No prize should ever repeat in this selection.
- All the above must apply for full credit.
- Determine if the user won or lost. (20pts)
- The user must be presented with the prizes’ names before
they make a guess, and it must clearly prompt the user for a guess.
- The user should be able to enter their guess.
- The program then must determine if the user’s guess was
less than or equal the sum of the prizes and greater than or equal the
sum of the prizes minus $1,300. If both are true, then the program must
inform the user they won! Otherwise the program must inform the user
they lost.
- All the above must apply for full credit.
- Run-Time and Logic Error Checking. (10pts)
- Each major function must check for common run-time and
logic errors.
- Coding Style. (10pts)
- Code functionality organized within multiple methods
other than the main method, and methods organized within multiple classes
where appropriate. (5pts)
- Readable Code (5pts)
- Meaningful identifiers for data and methods.
- Proper indentation that clearly identifies statements
within the body of a class, a method, a branching statement, a loop
statement, etc.
- All the above must apply for full credit.
- Comments. (10pts)
- Your name in the file. (5pts)
- At least 5 meaningful comments in addition to your name.
These must describe the function of the code it is near. (5pts)
Example Dialog:
*The following Example Dialog demonstrates the interactions
between a user and ONE possible implementation of the required software’s
front-end / user interface. The software’s front-end / user interface may
be implemented in MANY different ways and will receive full credit as
long as it meets the most minimal of the above requirements. While you may use
the example dialog as a guide, it is strongly encouraged to create the
front-end / user interface in your own way. *
Key
|
Unhighlighted
Text
|
Program’s
Output
|
Highlighted Text
|
User’s Input
|
Welcome to the showcase show down!
Your prizes are:
Car
Antacid
Cheese
Goat
Guitar
You must guess the total cost of the prizes without going over
and within $1,300 of its actual price
Enter your guess
22000
The actual cost was 21710.0
Your guess was over. You lose
Would you like to quit? Enter "yes" to quit
no
Your prizes are:
Fiber Supplement
Espresso Making Ferrets
A Very Very Pretty Ring
Goat
200 Dollars in Cash
You must guess the total cost of the prizes without going over
and within $1,300 of its actual price
Enter your guess
1000
The actual cost was 2806.0
Your guess was close, but not close enough. You lose.
Would you like to quit? Enter "yes" to quit
no
Your prizes are:
Car
Beard Supplies
Watch
Microwave
Milk
You must guess the total cost of the prizes without going over
and within $1,300 of its actual price
Enter your guess
21000
The actual cost was 21585.0
You win!!!
Would you like to quit? Enter "yes" to quit
yes
Goodbye!
Finally:
Submit the source files (.JAVA extension) to the CSCE
Dropbox (https://dropbox.cse.sc.edu)