Write a program to allow a human to play a game of Rock

Assignment Help Other Subject
Reference no: EM132329649

Assignment - Write a program to allow a human to play a game of Rock, Paper, Scissors versus the computer.

The sample programs (rps1.txt, rps2.txt, and rps3.txt) show 3 runs from my solution to this problem using the default computer player. You must use the given computer player class so the choices are predictable. This is necessary to that we can grade your program. If you were writing the program for yourself you would of course make the computer choices random. But the program you turn in must use the predictable choices generated by the given computer player class.

Given the same human name and computer choices, your program must match this output exactly. Use a diff tool such as the one at this website to ensure your program produces the correct output. Even minor differences in characters will cause you to fail grading tests and lose points.

The program:

Asks the user for their name

Asks the user how many rounds of Rock, Paper, Scissors they want to play

Plays that many rounds of the game

For each round of the game

  • asks the user for their choice
  • have the computer make a random choice
  • prints out each player's choice
  • prints the results of the round

After playing the specified number of rounds, displays the number or rounds the user won, the number of rounds the computer won, and the number of rounds that were a draw.

Declares who the better player was based on the number of wins.

This is not an easy program, mostly due to the size of the program. The individual steps are not too difficult, but their are many steps. The program description above gives you a rough idea of how to break the program up into parts.

Have a high level structure and then implement parts of that structure (the individual methods) one at a time, testing to make sure they work before going on. You may have to write some testing code that will not be part of the final program. Do not write the whole program in main and then try and break it up into methods.

A rock paper scissors program that you must use the provided RandomPlayer.java file. Do not change it. Do not use Random() (from java.util) directly and do not use Math.random(). Keep RandomPlayer.java in a separate file. Do not turn in RandomPlayer.java.

Here are some tips on the various parts of the program.

1. Main method.

The main method creates the an object of type RandomPlayer. If no values are sent to main a default RandomPlayer is created. If you send an argument to the main method it is assumed it is a single value that can be parsed to an int. (These pages describe how to send an argument to the main method in BlueJ or Eclipse). Pass the RandomPlayer object to the methods that need it. Feel free to share examples of your output for non default players on Piazza.

Pass the Scanner object you create as a parameter to any methods that need it. The main method should not have a lot of statements, instead it shall call other methods. Do not create multiple Scanners. Create one Scanner connected to System.in and pass that object to the methods that need it. If you create more than one Scanner in your program connected to System.in (Scanner sc = new Scanner(System.in);) you will fail, many many of our tests and lose a lot of correctness points.

2. Ask the user for their name. This is a good candidate for a separate method that returns a String.

3. Ask the user how many rounds of Rock, Paper, Scissors they want to play. This is another good candidate for a separate method that returns an int. You do not have to do any error checking on the user input. If they enter something that is not an int it is appropriate for the program to end due to a runtime error.

4. Playing the rounds of the game Given our current programming tools this will be the largest and most complex method. It is in turn broken down into several parts. You will need a number of local variables in this method.

5. Ask the user what their choice is. The user will enter an integer as their choice. You do not need to error check their input.

6. Have the computer make a random choice. To do this call the getComputerChoice method on the RandomPlayer object created in main and passed as a parameter.

You must use the provided RandomPlayer.java file. Do not change it.. Do not use Random() (from java.util) directly and do not use Math.random(). Keep RandomPlayer.java in a separate file. Do not turn in RandomPlayer.java.

7. Print out each player's choice. You will find it useful to have a method that is passed an int parameters and returns the correct String for that int. In this program 1 represents "Rock", 2 represents "Paper", and 3 represents "Scissors".

8. Print the results of that round. This is the most algorithmically difficult part of the assignment because there are nine possible outcomes and using the programming tools of chapters 1 - 4 and section 5.3 it is difficult to remove redundancy.

You must follow the format as shown in the sample output.

9. After playing the specified number of rounds display how time the user won, how many times the computer won, and how many draws occurred. The method that runs the rounds shall call a method to display this information.

10. Declare who the better player was based on the number of wins. This can be part of the results method but will require some conditional execution with if statements.

Attachment:- Assignment File.rar

Reference no: EM132329649

Questions Cloud

Fraudulent investment operation : Madoff was the mastermind behind a $50 Billion fraudulent investment operation, called a Ponzi scheme. Madoff was convicted and is serving a life sentence
Purpose of developing strategic plans : In management, what is the purpose of developing strategic plans?
Create schedule of the project tasks to be performed : Create a schedule of the project tasks to be performed, and describe how the behavior of individual team members can determine the tasks they receive.
Tension that change often brings : Managing Change - As a manager you will be asked to lead change efforts in your organization. Change management intensifies the need to understand
Write a program to allow a human to play a game of Rock : Assignment - Write a program to allow a human to play a game of Rock, Paper, Scissors versus the computer
Result of a poorly designed questionnaire : Explain some of the problems that can arise as the result of a poorly designed questionnaire. Use example to illustrate your answer.
Understanding the nature of reality : Describe the objectivist (positivist) and subjectivist (interpretivist) approaches to the understanding the nature of reality. include an example for each.
Provide customers of products with customer satisfaction : These provide customers of products with customer satisfaction. As a consumer, discuss one utility aspect on how logistics can play a role to provide value
What are you research interests in area of business : What are you research interests in area of business? Why are you inspired to research in this area and why do you think it is important to research in this area

Reviews

len2329649

6/28/2019 12:32:54 AM

Checklist: Did you remember to: Review the general assignment requirements? Fill in the header in your file RockPaperScissors.java? Complete the RockPaperScissors.java so it plays the game correctly? Use good names for variables to make your program easy to understand? Create a single Scanner object connected to System.in and pass as a parameter as necessary? Ensure your program does not suffer a compile error or runtime error (unless the runtime error is caused by bad user input)? Ensure your output matches the sample files exactly given the same input? Turn in your Java source code in files named RockPaperScissors.java via Canvas.

Write a Review

Other Subject Questions & Answers

  What types of positive interactions are you most comfortable

What types of positive interactions are you most comfortable providing in your relationships? What types of positive interactions do you most appreciate from someone in a loving relationship? Based on this information, what steps could you take to..

  Write a comment on the interpersonal relationship theory

The conceptual model created for the interpersonal relationship theory is involving an interaction between two or more individuals with a common goal.

  Discuss characteristics or peculiarities of futures contract

Discuss the characteristics or peculiarities of any type of futures contract (not limited to fixed income) traded on an exchange in the US.

  Think about your daily life and what symbols you notice

Think about your daily life and what symbols you notice. Think about what these symbols can mean to you

  Discuss overarching duty of the health care governing board

Discuss the overarching duties of the health care governing board in mitigating the effects of medical non-compliance, as they apply to the rules of practice set forth in the Well Care Hospital governing board's manifesto.

  Training and education for earthquake preparedness

The committee will need to propose policies on training and education for earthquake preparedness. Both the organization's employees and the public will need education and training for the earthquake preparedness plan to be truly effective.

  Discussing the ana health system reform agenda

One of the highlights of the ANA's Health System Reform Agenda is that the ANA "believes that health care is a basic human right" and the ANA supports a system.

  What is meant by the term chamber music

What is meant by the term "chamber music?" Do you think that a composer like Strozzi would have access to a full orchestra to perform her compositions? (Why or why not?)

  Determine the key activities involved in each domain

Determine the key activities involved in each domain and discuss whether or not you could rank these domains in the order of importance. Justify your position.

  Rancher defaults on the loan

If the farmer/rancher defaults on the loan, a secured creditor with a properly filed security interest is always required to go to court in order to repossess the collateral

  Main aspects of globalization in health care delivery

Improving access to medical care has been a challenge in the U.S. health care system. How has technology affected access to medical care?

  Compare the schools of jurisprudential thought

This writing assignment examines the viewpoints of different schools of jurisprudential thought.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd