It's for Jaque
Programming Assignment 4: Slot machine Simulation
CIS 210 – Fall 2014
Point: 100
Project Due: 11:59 PM on Thursday, 09/25/2014
Learning Objectives: � To decide which loop structures to use, such as while, do while, and for loop in Java. � To use decision structures such as if, if-else, and switch statements in Java � To use file input and output to read data from a file and write data to a file. � To generate random numbers with the Random class. � To write your own testing cases to test your program. � To use debugger for debugging your Java program.
Problem Statement A slot machine is a gambling device that the user inserts money into and then pulls a lever or push a button. The slot machine then displays a set of random images. If two or more of the images match, the user wins an amount of money that the slot machine dispenses back to the user. Create a program that simulates a slot machine. When the program runs, it should do the following:
• Read in the initial amount of money a user wants to enter into the slot. • Display a menu for the user to select a word from the following list:
1. Cherrie 2. Orange 3. Apple 4. Peach 5. Melon 6. Pear
• Ask the user to select one word by entering the number between 1 and 6 • Randomly select a word from the above list three times and display all three of the words • If none of the randomly selected words match, the program will inform the user that he or
she has won $0. If one of the words match, the program will inform the user that he or she has won one time of the amount entered. If two of the words match, the program will inform the user that he or she has won two times the amount entered. If three of the words match, the program will inform the user that he or she has won three times the amount entered.
• The program will ask whether the user wants to play again. If so, these steps are repeated. If not, the program displays the total amount of money entered into the slot machine and the total amount won.
Please write a program that displays the following information and write to a file named output.txt:
• The amount of money the user bets • The word the user selects • The three words the slot machine randomly selects • The amount of money the user wins if any • Whether or not the user wants to continue play • The amount of money the user wins or lose if he or she quits • Greeting messages
Note: your program must be user-friendly and intuitive. This is a part of your grade. In other words, even if your program does everything the problem statement states, your grade may be reduced because of difficulty to it.
Input This program requires that you read in the following data values:
� The amount of money a user inserts into a slot machine. It is read from a input file named input.txt
� Whether or not a user wants to play � The amount of money he wants to bet each time � The word a user selects
You will use interactive I/O and File I/O in this program. All of the input must be validated. For example, if a user enters 7 for his selection of word, then your program must display an error message and ask the user to re-enter a number between 1 and 6.
Test case output: (green texts are user input) Welcome to Guanyu Tian's Slot Machine!
You inserted $200 into the slot machine!
You currently have $200, you can bet the multiple of $10.
If you enter 1, you will bet $10
If you enter 2, you will bet $20, etc.
Please enter how much do you want to bet this time: -2
Sorry, you don't $-20 now. You can only bet less than the amount of money you have.
You currently have $200, you can bet the multiple of $10.
If you enter 1, you will bet $10
If you enter 2, you will bet $20, etc.
Please enter how much do you want to bet this time: 1000
Sorry, you don't $10000 now. You can only bet less than the amount of money you have.
You currently have $200, you can bet the multiple of $10.
If you enter 1, you will bet $10
If you enter 2, you will bet $20, etc.
Please enter how much do you want to bet this time: 4
Your currently bet: $40
Please select one of the fruit by entering a number between 1 and 6:
1 - Cherry
2 - Orange
3 - Apple
4 - Peach
5 - Melon
6 - Pear
Please enter your selection: -2
Invalid selection. you must enter a number between 1 and 6 inclusive.
1 - Cherry
2 - Orange
3 - Apple
4 - Peach
5 - Melon
6 - Pear
Please enter your selection: -5
Invalid selection. you must enter a number between 1 and 6 inclusive.
1 - Cherry
2 - Orange
3 - Apple
4 - Peach
5 - Melon
6 - Pear
Please enter your selection: 8
Invalid selection. you must enter a number between 1 and 6 inclusive.
1 - Cherry
2 - Orange
3 - Apple
4 - Peach
5 - Melon
6 - Pear
Please enter your selection: 4
Result: Cherry Melon Orange
None of the randomly selected words matched your selection. You won $0
Do you want to continue playing (y/Y) or quit (n/N):g
Invaild choice!!! Please enter y or Y to play, n or N to quit: Do you want to
continue playing (y/Y) or quit (n/N):h
Invaild choice!!! Please enter y or Y to play, n or N to quit: Do you want to
continue playing (y/Y) or quit (n/N):R
Invaild choice!!! Please enter y or Y to play, n or N to quit: Do you want to
continue playing (y/Y) or quit (n/N):y
You currently have $160, you can bet the multiple of $10.
If you enter 1, you will bet $10
If you enter 2, you will bet $20, etc.
Please enter how much do you want to bet this time: 7
Your currently bet: $70
Please select one of the fruit by entering a number between 1 and 6:
1 - Cherry
2 - Orange
3 - Apple
4 - Peach
5 - Melon
6 - Pear
Please enter your selection: 5
Result: Peach Pear Apple
None of the randomly selected words matched your selection. You won $0
Do you want to continue playing (y/Y) or quit (n/N):Y
You currently have $90, you can bet the multiple of $10.
If you enter 1, you will bet $10
If you enter 2, you will bet $20, etc.
Please enter how much do you want to bet this time: 4
Your currently bet: $40
Please select one of the fruit by entering a number between 1 and 6:
1 - Cherry
2 - Orange
3 - Apple
4 - Peach
5 - Melon
6 - Pear
Please enter your selection: 6
Result: Melon Peach Apple
None of the randomly selected words matched your selection. You won $0
Do you want to continue playing (y/Y) or quit (n/N):N
You currently have $50. You have lost $150
Thank you for choose Guanyu Tian's Slot Machine! Good bye...
Miscellaneous Be sure to read and understand the sections in the Course Syllabus handout on general project requirements. Also be sure to study the style, documentation and formatting guidelines discussed in the Programming Style Guidelines handout and in the lecture.
What File To Turn In and How to Turn In Your Work using Blackboard
You must turn in your Java program source file which must be named as follows: Use this format: yourLastNameLowerCase_yourFirstNameLowerCase_CIS210_hw4.java Hence file names will look something like "tian_guanyu_CIS210_hw4.java"