aboutsummaryrefslogtreecommitdiffstats
path: root/ee1301/wk2/hw2_directory/strap012_HW2C.cpp
blob: 4d3d9b38a1c1227e793052ca9cc79e36f5c45092 (plain) (blame)
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
/*
20 Feb 2019
Matthew Strapp
5449340
EE1301
Spring 2019
Homework 2C
One-armed Bandit
*/

#include <iostream>
#include <time.h>

using namespace std;
int main () {
    srand (time(NULL)); //This seeds the randomness based on the current time
    bool win=false;
    int d=0, spin1, spin2, spin3, spin4;
  do {
      do {
        win=false;      //Reset win from before, otherwise win will always be true after it is true once
        cout << "How many values do you want on each wheel? ";
        cin >> d;
      } while (d==0);   //Without this failsafe, the program does undefined things at d=0, usually crashing
      
        spin1= rand () % d + 1;
        spin2= rand () % d + 1;
        spin3= rand () % d + 1;
        spin4= rand () % d + 1;
        cout << "The wheels spin to give:  " << spin1 << " " << spin2 << " " << spin3 << " " << spin4 << "  ";
        if (spin1==spin2) { // These nested statements only let the bool "win" be true if all of the spinners match
            if (spin2==spin3) {
                if (spin3==spin4) {
                    win=true;
                }
            }
        }
        if (win) {
            cout << "Eureka!";
        }
        else {
            cout << "You lose.";
            
        }
    cout << endl;
  } while (d!=-1);
  cout << "OK, goodbye." << endl;
  return 0;
}