-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRules.cpp
93 lines (69 loc) · 2.12 KB
/
Rules.cpp
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//
// Created by mfbut on 1/20/2018.
//
#include "Rules.h"
#include <fstream>
Monopoly::Rules::Rules(const std::string& rulesFileName) : num_dice_rolled(2), max_dice_value(6) {
std::ifstream rulesFile(rulesFileName);
std::string header, temp;
std::getline(rulesFile, header, ':');
rulesFile >> starting_cash;
std::getline(rulesFile, header, ':');
rulesFile >> turn_limit;
std::getline(rulesFile, header, ':');
rulesFile >> num_players_left_to_end_game;
std::getline(rulesFile, header, ':');
rulesFile >> property_set_multiplier;
std::getline(rulesFile, header, ':');
rulesFile >> num_houses_before_hotel;
std::getline(rulesFile, header, ':');
rulesFile >> temp;
must_build_evenly = temp == "Yes";
std::getline(rulesFile, header, ':');
rulesFile >> temp;
put_money_in_free_parking = temp == "Yes";
std::getline(rulesFile, header, ':');
rulesFile >> temp;
auction_properties = temp == "Yes";
std::getline(rulesFile, header, ':');
rulesFile >> salary_multiplier_for_landing_on_go;
}
bool Monopoly::Rules::is_turn_limit() const {
return turn_limit != -1;
}
int Monopoly::Rules::getStarting_cash() const {
return starting_cash;
}
int Monopoly::Rules::getNum_dice_rolled() const {
return num_dice_rolled;
}
int Monopoly::Rules::getMax_dice_value() const {
return max_dice_value;
}
int Monopoly::Rules::getNum_houses_before_hotel() const {
return num_houses_before_hotel;
}
bool Monopoly::Rules::Must_build_evenly() const {
return must_build_evenly;
}
int Monopoly::Rules::getTurn_limit() const {
return turn_limit;
}
int Monopoly::Rules::getNum_players_left_to_end_game() const {
return num_players_left_to_end_game;
}
int Monopoly::Rules::getProperty_set_multiplier() const {
return property_set_multiplier;
}
bool Monopoly::Rules::isPut_money_in_free_parking() const {
return put_money_in_free_parking;
}
bool Monopoly::Rules::isAuction_properties() const {
return auction_properties;
}
int Monopoly::Rules::getSalary_multiplier_for_landing_on_go() const {
return salary_multiplier_for_landing_on_go;
}
bool Monopoly::Rules::isTurnLimit() const {
return turn_limit != -1;
}