Assignment Chef icon Assignment Chef

[Solved] Java Project 1 -One Armed Bandit

5.0 1 customer review Digital download

Digital download

$25.00

Availability
In stock
Checkout
One item

Need a hand?

Message us on WhatsApp for payment or download support.

WhatsApp QR code
Rate this product Program Description: For this project you will be creating a simulation of a slot machine. Slot machines in the form that we typically see in casinos and other gambling establishments, or almost every establishment in certain cities in the U.S., trace their roots back to the late 1890s in San Francisco. The Liberty Bell, created by Charles Fey, contained three spinning reels decorated with five different symbols: bells, spades, hearts, horseshoes, and diamonds. A player would insert a nickel into the slot, hence the term slot machine, and could win a whopping 50 cents as the biggest payouti. The machines have progressed considerably since then and can now be found themed as many of your favorite movies, books, historical time periods, professions and the maximum payouts can be in the tens of millions of dollars. While your simulation will not be bringing in any taxable revenue to the state, constructing many of the aspects of a slot machine should provide a complex task. Your slot machine will need to be an engaging and interactive experience for the player, just without the lights and sirens. It will need to manage the players winnings, allow them to add additional funds and of course play the game. It is also recommended that you take some time to design your program before you begin coding to improve its overall flow and organization. Program Requirements o Prompttheplayerforhowmuchtheywishtoaddo Determine if that amount is less than or equal to the amount the player current has ▪ If that amount is, then add the amount to the machine and deduct it from the player ▪ If it is not, then inform the player they do not have that much moneyo Display how much money the player has, and the current balance of the slot machine, with an appropriate message o First, determine if the machine has enough money in its balance to cover the current bet amount o Deduct the current bet amount from the slot machines current balanceo Using a random number generator, choose one of the words from your array of seven to apply to each of the nine positions on the reels. Note that the same word could be chosen multiple times. These words should be displayed to the player in a pleasing grid format (i.e. all columns must be the same width without excessive white space), similar to a real slot machine. o If the player has at least one winning combination, as described above▪ Using an appropriate message, inform the player of each way they won, and the total payout ▪ Credit the slot machines current balance the total payout o If the player has no winning combination, as described above ▪ Using an appropriate message, inform the player that they lost this round but to try again Project Timing An important aspect of project development is planning out the work, dividing the work into portions, and then estimating how long each piece will take. This strategy is quite common when using popular development strategies such as SCRUM or Extreme Programing. However, generating adequately sized portions and then estimating how long that portion will take to complete is a skill. Therefore, we will be using the projects in this course to help you develop this skill! To make things a bit easier for this project, the work has already been divided into the following portions:
  1. Initial program setup (common variables, array of seven words, 33 array)
  2. Designing and implementing the menu and requisite control structures
  3. Designing and implemented the adding money functionality
  4. Designing and implemented the changing bet amount functionality
  5. Designing and implemented the playing the game functionality
  6. Designing and implemented the cashing out functionality
Before you start any coding, for each portion you will need to estimate how long you think implementing that functionality will take, round up to 30 minute increments, and note that down. A clever industry strategy is that once you estimate your time, you should double it. Then while you are implementing a portion, keep track of how long it takes you to successfully develop that functionality, round up to 30 minute increments, and note the amount of time down at the end. Additionally, if your actual time was under or over your estimate, briefly speculate on why that is the case. When you submit your project, you will also need to submit a PDF file containing your timing information and speculations. NOTE: This is NOT a race! The goal is not to estimate the smallest amount of time possible and try to cram in development as fast as possible. The point is to help you keep track of how long development takes YOU, so you can better plan your schedule during your week. It is desirable to estimate your time well, but you will NOT be graded on how close your actual development time is to your estimated time. Submission Program Executes Successfullyo Ifyourprogramfailstocompile10pointswillbedeductedfromtheproject,butIwilltrytofix minor issues (incorrect indentations, stray character, missing import) so that I can execute and test the program. I will not fix major issues that would require functionality to be further implemented, or a reorganization of logic in your code. o Program prompts for and stores the players added amount (5 points)o Program correctly adds an amount the player has and informs the player OR rejects an amount the player does not have and informs the player (5 points) Player Changes Bet (10 points)o Program prompts for and stores the players bet amount (5 points)o Program correctly accepts a positive bet amount and informs the player OR rejects a non- positive bet amount and informs the player (5 points) o Program correctly informs the player of their winnings/losings, the current balance and informs the player they will be paid the current balance amount (5 points)