/
Dice.cpp
65 lines (55 loc) · 940 Bytes
/
Dice.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
#include "Dice.h"
Dice::Dice()
{
//srand(time(0));
rolls = 0;
sides = 0;
}
Dice::Dice(int numRolls, int numSides)
{
//srand(time(0));
rolls = numRolls;
sides = numSides;
modifier = 0;
}
Dice::Dice(int numRolls, int numSides, int rollModifier)
{
//srand(time(0));
rolls = numRolls;
sides = numSides;
modifier = rollModifier;
}
Dice::~Dice()
{
}
void Dice::serialize(Serializer write)
{
write.IO<int>(this->rolls);
write.IO<int>(this->sides);
write.IO<int>(this->modifier);
}
void Dice::reconstruct(Serializer read)
{
read.IO<int>(this->rolls);
read.IO<int>(this->sides);
read.IO<int>(this->modifier);
}
int Dice::roll()
{
int total = 0;
for (int i = 0; i < rolls; i++)
{
total += (rand() % sides + 1);
}
return total + modifier;
}
string Dice::print()
{
ostringstream str;
str << this->rolls << "d" << this->sides;
return str.str();
}
void Dice::levelUp(int playerLevel)
{
this->sides += playerLevel;
}