Find Jobs
Hire Freelancers

Python Project - Rock, Paper, Scissors

$10-30 USD

Cancelled
Posted over 6 years ago

$10-30 USD

Paid on delivery
*Topics:* Boolean logic, branching statements, loops. You will create a program that plays the game “Rock, Paper, Scissors.” (also known by several other names, see [login to view URL]) *Rules of the Game:* The objective of Rock, Paper, and Scissors is to defeat your opponent by selecting a weapon that defeats their choice under the following rules: 1) Rock smashes (or blunts) Scissors, so Rock wins 2) Scissors cut Paper, so Scissors win 3) Paper covers Rock, so Paper wins If players choose the same weapon, neither win (the game is a draw) and the game is played again. *Program Specifications:* This project requires you to use: input to prompt the user print to print results at least one branching mechanism (if statement) at least one loop (while loop) Boolean logic Your program will allow a human user to play Rock, Paper, Scissors with the computer. Each round of the game will have the following structure: The program will choose a weapon (Rock, Paper, Scissors), but its choice will not be displayed until later so the user doesn’t see it. The program will announce the beginning of the round and ask the user for his/her weapon choice. The two weapons will be compared to determine the winner (or a tie/draw) and the results will be displayed by the program. The next round will begin, and the game will continue until the user chooses to quit. The computer will keep score and print the score when the game ends. The computer should select the weapon most likely to beat the user, based on the user’s previous choice of weapons. For instance, if the user has selected Paper 3 times but Rock and Scissors only 1 time each, the computer should choose Scissors as the weapon most likely to beat Paper, which is the user’s most frequent choice so far. To accomplish this, your program must keep track of how often the user chooses each weapon. Note that you do not need to remember the order in which the weapons were used. Instead, you simply need to keep a count of how many times the user has selected each weapon (Rock, Paper or Scissors). Your program should then use this playing history (the count of how often each weapon has been selected by the user) to determine if the user currently has a preferred weapon; if so, the computer should select the weapon most likely to beat the user’s preferred weapon. During rounds when the user does not have a single preferred weapon, the computer may select any weapon. For instance, if the user has selected Rock and Paper 3 times each and Scissors only 1 time, or if the user has selected each of the weapons an equal number of times, then there is no single weapon that has been used most frequently by the user; in this case the computer may select any of the weapons. At the beginning of the game, the user should be prompted for his/her input. The valid choices for input are: R or r (Rock) P or p (Paper) S or s (Scissors) Q or q (Quit) At the beginning of each round your program should ask the user for an input. If the user inputs something other than r, R, p, P, s, S, q or Q, the program should detect the invalid entry and ask the user to make another choice. Your program should remember the game history (whether the user wins, the computer wins, or the round is tied). At the end of the game (when the user chooses ‘q’ or ‘Q’), your program should display the following: The number of rounds the computer has won The number of rounds the user has won The number of rounds that ended in a tie The number of times the user selected each weapon (Rock, Paper, Scissors) *Credit:* ([login to view URL]~cse231/PracticeOfComputingUsingPython/03_Strings/RockPaperScissors/) This project was developed by Michigan State University Professors William Punch and Richard Enbody and is being used under the Creative Commons Attribution-Share Alike 3.0 United States License from the CS1 Python Programming Project Archive.
Project ID: 15840811

About the project

10 proposals
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
10 freelancers are bidding on average $25 USD for this job
User Avatar
A proposal has not yet been provided
$40 USD in 1 day
4.9 (35 reviews)
5.6
5.6
User Avatar
I am a python expert and i can code it for you. i can start immediately. Relevant Skills and Experience ............................. Proposed Milestones $5 USD - start $15 USD - end ......
$20 USD in 1 day
4.8 (71 reviews)
5.2
5.2
User Avatar
Hi there, I went through the requirements and I would like to do this project if given the opportunity. Let me know if you are interested. Thanks. Relevant Skills and Experience Python Programming Proposed Milestones $25 USD - Project Milestone
$25 USD in 1 day
4.9 (33 reviews)
4.5
4.5
User Avatar
This project seems interesting. I already strated implementing this game in Python.
$25 USD in 1 day
4.9 (36 reviews)
4.1
4.1
User Avatar
HELLO, I HAVE DONE THIS PROJECT IN JAVASCRIPT AND CAN CONVERT TO PYTHON ASAP. PING ME TO DISUCSS MORE Relevant Skills and Experience PYTHON Proposed Milestones $25 USD - WORK
$25 USD in 1 day
5.0 (9 reviews)
3.4
3.4
User Avatar
Hey there, I've read your requirements and I'm ready to start Relevant Skills and Experience I'm good with python Proposed Milestones $25 USD - the project $5 USD - bug fix and changes
$30 USD in 4 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hello! I can do it game on Your rules. Соответствующие навыки и опыт I have in expencive to write games like this. In the rest, look my account. Предлагаемые промежуточные платежи $10 USD - ...
$10 USD in 1 day
0.0 (0 reviews)
0.0
0.0
User Avatar
A proposal has not yet been provided
$15 USD in 1 day
0.0 (0 reviews)
0.0
0.0
User Avatar
A proposal has not yet been provided
$30 USD in 7 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of UNITED STATES
Cambridge, United States
5.0
2
Payment method verified
Member since Nov 6, 2017

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.