Question

In: Computer Science

Code the game of Rock, Paper, Scissors between a human player and the computer. You can...

Code the game of Rock, Paper, Scissors between a human player and the computer. You can check out the game on Wikipedia if you are not familiar with it. Create a 4 option menu with the human player choices, plus the option of exiting the game. Randomly determine the computer’s choice (although a great deal of AI research has gone in to determining the best computer move).

• Loop the game until the human player exits.

• Count the number of times the computer and the human each won.

When you’re done, display the total number of hands played, the number of times the human won and the number of times the computer won. Declare the highest total of winning hands the game winner.

Solutions

Expert Solution

//C++ program

/*
(1) program gets input from user by displaying options ,with getUserChoice() function.
and Dispaly user choice in text using function displayChoice().

(2) program gets input from computer choice by random number generator function ,with getComputerChoice() function.
and Dispaly computer choice in text using function displayChoice().

(3)now it compare User choice and computer choice according to rule given .uses function determineWinner();

(4)if return value of function determineWinner() is true ,then User is winner and it displays Rules according to which user wins
and Loop Breaks.

(5)if return value of function determineWinner() is false,then Match Tie. And program keeps reapting steps 1-3;

*/
#include<iostream>
#include<stdlib.h>
using namespace std;

int getUserChoice(){
   int choice;
   cout<<"1:Rock \n2:Paper \n3:Scissors \n4:Lizard \n5:Spock\n";
   cout<<"Enter your choice : ";
   cin>>choice;
   return choice;
}


int getComputerChoice(){
   return rand()%5+1;
}


bool determineWinner(int User_choice, int Computer_choice){
   return (User_choice == 3 && Computer_choice == 2) || (User_choice == 2 && Computer_choice == 1) ||
           (User_choice == 1 && Computer_choice == 4) || (User_choice == 4 && Computer_choice == 5) ||
           (User_choice == 5 && Computer_choice == 3) || (User_choice == 3 && Computer_choice == 4) ||
           (User_choice == 4 && Computer_choice == 2) || (User_choice == 2 && Computer_choice == 5) ||
           (User_choice == 5 && Computer_choice == 1) || (User_choice == 1 && Computer_choice == 3);
}


void displayChoice(int choice){
   string option[]={
           "","Rock","Paper","Scissors","Lizard","Spock"
   };
   cout<<option[choice]<<"\n";
  
}

int main(){
   int User_choice , Computer_choice;
   int total_game=0,user_won=0,computer_won=0,tie=0;
   char exit;
  
   string Rule[]={
           "Scissors cut paper","Paper covers rock","Rock crushes lizard","Lizard poisons Spock",
           "Spock smashes (or melts) scissors","Scissors decapitate lizard","Lizard eats paper",
           "Paper disproves Spock","Spock vaporizes rock","Rock breaks scissors"
   };
  
   do{
       total_game++;
       User_choice = getUserChoice();
       cout<<"Your choice : "; displayChoice(User_choice);
       Computer_choice = getComputerChoice();
       cout<<"Computer choice : "; displayChoice(Computer_choice);
       if(determineWinner (User_choice , Computer_choice) ){
           user_won++;
           cout<<"//////You win/////////\nRule : ";
           if(User_choice == 3 && Computer_choice == 2) cout<<Rule[0]<<"\n";
           else if(User_choice == 2 && Computer_choice == 1) cout<<Rule[1]<<"\n";
           else if(User_choice == 1 && Computer_choice == 4) cout<<Rule[2]<<"\n";
           else if(User_choice == 4 && Computer_choice == 5) cout<<Rule[3]<<"\n";
           else if(User_choice == 5 && Computer_choice == 3) cout<<Rule[4]<<"\n";
           else if(User_choice == 3 && Computer_choice == 4) cout<<Rule[5]<<"\n";
           else if(User_choice == 4 && Computer_choice == 2) cout<<Rule[6]<<"\n";
           else if(User_choice == 2 && Computer_choice == 5) cout<<Rule[7]<<"\n";
           else if(User_choice == 5 && Computer_choice == 1) cout<<Rule[8]<<"\n";
           else if(User_choice == 1 && Computer_choice == 3) cout<<Rule[9]<<"\n";
           cout << "\n";
      
       }
       else if(determineWinner (Computer_choice , User_choice) )computer_won++;
       else {
           cout<<"///////Tie////////\n";
           tie++;
       }
      
       cout<<"\nexit (y/n) : ";
       cin>>exit;
   }while(exit!='y');
   cout<<"Total games : "<<total_game;
   cout<<"\nUser won : "<<user_won;
   cout<<"\nComputer won : "<<computer_won;
   cout<<"\ntie : "<<tie<<"\n";
  
   return 0;
}

//sample output


Related Solutions

Please write a scheme code for the rock paper scissors game between a player and the...
Please write a scheme code for the rock paper scissors game between a player and the computer (AI). In scheme programming language please.
Rock-Paper-Scissors Implement Rock-Paper-Scissors such that the user can play the computer in a best-of series! The...
Rock-Paper-Scissors Implement Rock-Paper-Scissors such that the user can play the computer in a best-of series! The user inputs the number of rounds which should be positive and odd. This is a free form assignment but structure your code similar to the test cases provided. USING MATLAB ONLY!!! Program Inputs • How many rounds would you like to play (odd rounds only)?: XXX – XXX should be positive and odd. Restart the game if the input is not positive or odd....
Game Description: The popular rock-paper-scissors game is usually played between two people in which each player...
Game Description: The popular rock-paper-scissors game is usually played between two people in which each player simultaneously chooses either a rock or a paper or scissors (usually with an outstretched hand). The rule of the game is simple: rock crushes scissors, scissors cut paper, and paper wraps rock. If both the players choose the same object, then it ends in a tie. Problem Description: You have to play the rock-paper-scissors game against the computer for 100 times. You receive the...
Two players play a rock-paper-scissors game. The losing player will give $1 to the winning player....
Two players play a rock-paper-scissors game. The losing player will give $1 to the winning player. If it is a draw, no payment is made. The payoff to a player is the amount of money (s)he gets. Represent the situation in a matrix form. Find all the Nash equilibria.
Rock, Paper, Scissors is a two-player game in which each player chooses one of three items....
Rock, Paper, Scissors is a two-player game in which each player chooses one of three items. If both players choose the same item, the game is tied. Otherwise, the rules that determine the winner are: (a) Rock always beats Scissors (Rock crushes Scissors) (b) Scissors always beats Paper (Scissors cut Paper) (c) Paper always beats Rock (Paper covers Rock) Implement function rps() that takes the choice ('R', 'P', or 'S') of player 1 and the choice of player 2, and...
Problem Description: You have to play the rock-paper-scissors game against the computer for 100 times. You...
Problem Description: You have to play the rock-paper-scissors game against the computer for 100 times. You receive the following rewards each time you play the game:  You get $5 if you win  You get $2 if there is a tie  You get $-1 if you lose The computer randomly chooses rock, paper, or scissors in each game. Rather than deciding what to play (rock, paper or scissors) for each individual game, you decide to use the following...
write a python script for rock scissors paper game
write a python script for rock scissors paper game
Consider now the following two-player simultaneous-move game, called the rock-paper-scissors-lizard game. R stands for rock, P...
Consider now the following two-player simultaneous-move game, called the rock-paper-scissors-lizard game. R stands for rock, P for paper, S for scissors, and L for lizard. R beats S but loses against P and L; P beats R but loses against S and L; S beats P and L but loses against R; L beats R and P but loses against S. The payoffs for winning is 1 and that for losing is -1; when both players choose the same strategy...
JAVA : Design and implement an application that plays the Rock-Paper-Scissors game against the computer. When...
JAVA : Design and implement an application that plays the Rock-Paper-Scissors game against the computer. When played between two people, each person picks one of three options (usually shown by a hand gesture) at the same time, and a winner is determined. In the game, Rock beats Scissors, Scissors beats Paper, and Paper beats Rock. The program should randomly choose one of the three options (without revealing it) and then prompt for the user’s selection. At that point, the program...
Create a rock paper scissors game against the computer using bunch of methods. -No two dimensional...
Create a rock paper scissors game against the computer using bunch of methods. -No two dimensional arrays -No java.util.random -No ragged arrays -Methods only, and one dimensional arrays
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT