CSCE 146: Algorithmic Design II

Homework 01

Showcase Showdown!
Due 02/09/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)

发表评论

电子邮件地址不会被公开。 必填项已用*标注