-
Notifications
You must be signed in to change notification settings - Fork 0
/
TreasureTile.hpp
130 lines (112 loc) · 3.74 KB
/
TreasureTile.hpp
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//----------------------------------------------------------------------------------------------------------------------
// TreasureTile.hpp
//
// Class TreasureTile contains methods and objects for storing
// the TreasureTile objects that will be later used when creating
// the board objects that include treasures using the provided random Class
//
// Author: 11804229
// 11814996
// 00713374
//----------------------------------------------------------------------------------------------------------------------
//
#ifndef A2_TREASURETILE_HPP
#define A2_TREASURETILE_HPP
#include "Tile.hpp"
#include "Treasure.hpp"
#include <string>
static const char SPACE_TREASURE_TILE = ' ';
class TreasureTile : public Tile
{
private:
Treasure treasure_;
bool collected_;
size_t number_of_spaces;
std::string helper_string;
std::vector<Player*> helper_vector;
public:
//------------------------------------------------------------------------------------------------------------------
///
/// Constructor of TreasureTile object.
///
///
///
///
//
TreasureTile(TileType type, Rotation rotation, Treasure treasure);
//------------------------------------------------------------------------------------------------------------------
///
/// Copy constructor of TreasureTile object.
///
///
///
///
//
TreasureTile(TreasureTile const&) = delete;
//------------------------------------------------------------------------------------------------------------------
///
/// Destructor of TreasureTile object.
///
///
///
///
//
virtual ~TreasureTile();
//------------------------------------------------------------------------------------------------------------------
///
/// Gets the treasure.
///
/// @return Treasure object of a treasure
//
Treasure getTreasure() const;
//------------------------------------------------------------------------------------------------------------------
///
/// Gets collected.
///
/// @return bool true if it is collected, otherwise false
//
bool getCollected() const;
//------------------------------------------------------------------------------------------------------------------
///
/// Collects a treasure
///
/// @return void
//
void collectTreasure();
//------------------------------------------------------------------------------------------------------------------
///
/// Gets the tile string.
///
/// @return string tile as string
//
virtual std::string getTileString() override;
//------------------------------------------------------------------------------------------------------------------
///
/// Returns the tile string of zero degrees.
///
/// @return string tile string
//
virtual std::string zero() override;
//------------------------------------------------------------------------------------------------------------------
///
/// Returns the tile string of 90 degrees.
///
/// @return string tile string
//
virtual std::string ninety() override;
//------------------------------------------------------------------------------------------------------------------
///
/// Returns the tile string of 180 degrees.
///
/// @return string tile string
//
virtual std::string oneEighty() override;
//------------------------------------------------------------------------------------------------------------------
///
/// Returns the tile string of 270 degrees.
///
/// @return string tile string
//
virtual std::string twoSeventy() override;
};
#endif // A2_TREASURETILE_HPP