axyd icon

taf12apr16

axyd | PRO | 04/12/16 11:43:28 PM UTC | 0 ⭐ | 796 👁️ | Never ⏰ | []
C++ |

2.39 KB

|

None

|

0 👍

/

0 👎

#include <iostream>
#include <ctime>
#include <cstdlib>
#include <string>
using namespace std;
 
//This program is a game of rock, paper, scissors.
 
void pcAI(int, string &); //Function Prototype
void Converter(int, string &);
void winner(string, string, string&);
 
int main(){
    char yup = 'y';
    while (yup == 'y' || yup == 'Y'){ //run until user does not want to continue
        cout << "\nLet's Play A Game of Rock, Paper, Scissors! \n\nPick your Weapon:\n";
        cout << "\t(1) Rock.\n\t(2) Paper.\n\t(3) Scissors.\n";
 
        int usrInput, pcx = 0;
        string menuStr, pcIn; //used to fetch name of choice
        cin >> usrInput;
 
        Converter(usrInput, menuStr); //send user choice and get equivalent string back
        pcAI(pcx, pcIn); //(garbage, string) from PC
 
        if (menuStr != pcIn){
            cout << "\t\tYou: <" << menuStr << "> vs Computer: <" << pcIn << ">.\n";
            string winStr;
            winner(menuStr, pcIn, winStr); //Find the winner
            cout << winStr << endl;
        }
        else //catch the same values
            cout << "\t<" << menuStr << "> vs <" << pcIn << "> are the same, redraw.\n";
 
        cout << "\n\n\t\t\tAnother game (y|Y) ? ";
        cin >> yup; //y=continue, anything else exit loop
        cin.ignore();
    }       
    cout << "\nThanks for playing! " << endl;
    cin.ignore();
    return 0;
}
 
void pcAI(int toMenu, string &out)
{
    srand((int)time(0)); //Generates a number from 1-3. 
    toMenu = (rand() % 3 + 1);
    Converter(toMenu, out); //Send number to Converter and fetch/output string
}
 
void Converter(int in, string &out) //Convert number to name
{
    switch (in){ //####FYI####  Switch can also accept integers
    case 1:
        out = "Rock";
        break;
    case 2:
        out = "Paper";
        break;
    case 3:
        out = "Scissors";
        break;
    }
}
 
void winner(string player, string pc, string &out){ //Decide winner
    if (player == "Rock" && pc == "Scissors")
        out = "\t\tThe rock smashes the scissors. PLAYER won, Congrats!";
    else if (player == "Scissors" && pc == "Paper")
        out = "\t\tScissors cuts paper. PLAYER won, Congrats!";
    else if (player == "Paper" && pc == "Rock")
        out = "\t\tPaper wraps rock. PLAYER won, Congrats!";
    else if (pc == "Rock" && player == "Scissors")
        out = "\t\tThe rock smashes the scissors. COMPUTER won.";
    else if (pc == "Scissors" && player == "Paper")
        out = "\t\tScissors cuts paper. COMPUTER won.";
    else if (pc == "Paper" && player == "Rock")
        out = "\t\tPaper wraps rock. COMPUTER won.";
}

Comments