Trying to make a Rock, Paper, Scissors game, help please?

What is wrong with this program, why won't this work? I'm getting back into programming, I don't know how to make this work. Thank you! Note this is only part of a bigger program. Everything works except for this part. Thanks again.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <string>
#include <ctime>
#include <stdlib.h>
using namespace std;

int main ()
{
    srand(time(0));
    std::string rockpaperscissors[3] = {"rock", "paper", "scissors"};
    std::string rps;

if (response == ("yes"))
    {
        cout <<" Okay, say what you're going to do";
        getline (cin, rps);
        cout <<rockpaperscissors[rand() %3];
        if (rockpaperscissors == ("rock"))
        {
            if (rps == ("rock"))
            {
                cout <<" Alright, go again.";
            }
            if (rps == ("paper"))
            {
                cout <<" You win, want to go again?";
            }
            if (rps == ("scissors"))
            {
                cout <<" I win, want to go again?";
            }
        }
        if (rockpaperscissors == ("paper"))
            {
            if (rps == ("rock"))
            {
                cout <<" I win, want to go again?";
            }
            if (rps == ("paper"))
            {
                cout <<" Alright, go again.";
            }
            if (rps == ("scissors"))
            {
                cout <<" You win, want to go again?";
            }
        }
          if (rockpaperscissors == ("scissors"))
            {
            if (rps == ("rock"))
            {
                cout <<" You win, want to go again?";
            }
            if (rps == ("paper"))
            {
                cout <<" I win, want to go again?";
            }
            if (rps == ("scissors"))
            {
                cout <<" Alright, go again";
            }
        }
A few problems:

1) response is not defined.
2) You're missing a } to terminate main
3) You're trying to compare an array to a quoted literal (18,33,48)

Try this instead:
1
2
3
4
5
6
7
 
std::string computeranswer; 

        computeranswer = rockpaperscissors[rand() %3];
        cout << computeranswer << endl;
        if (computeranswer == "rock")
...


BTW, there is no need to put quoted literals in parentheses.
Thank you very much!
Topic archived. No new replies allowed.