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
|
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <climits>
#include "rps.h"
#include "rps_logger.h"
RPS::OBJECT char_to_obj(char input_char) {
switch (input_char) {
case 'r':
return RPS::ROCK;
case 'p':
return RPS::PAPER;
case 's':
return RPS::SCISSORS;
default:
return RPS::NONE;
}
}
int main() {
char buf[NAME_MAX];
char input_buf[NAME_MAX];
char input_char;
RPS::RPSLogger * game_logger = new RPS::RPSLogger();
RPS::RPSLog game_log;
RPS::OBJECT out_come;
while (!feof(stdin)) {
// Player one.
printf("Enter p1 value rps: ");
memset(input_buf, 0, NAME_MAX);
fgets(input_buf, NAME_MAX, stdin);
input_char = input_buf[0];
game_log.p1_choice = char_to_obj(input_char);
// Player two.
printf("Enter p2 value rps: ");
memset(input_buf, 0, NAME_MAX);
fgets(input_buf, NAME_MAX, stdin);
input_char = input_buf[0];
game_log.p2_choice = char_to_obj(input_char);
// Get out come.
out_come = RPS::who_won(game_log);
RPS::obj_to_string(out_come, buf, NAME_MAX);
game_logger->add_log(game_log);
printf("Out come: %s, p1 wins: %d, p2 wins: %d, duals: %d\n", buf, game_logger->get_p1_wins(), game_logger->get_p2_wins(), game_logger->get_duals());
}
return 0;
}
|