Skip to content

Commit 6f0c668

Browse files
committed
Visitor (under construction, does not compile, pending changes to master to resolve GamePiece issues)
1 parent 4a564ec commit 6f0c668

File tree

4 files changed

+97
-0
lines changed

4 files changed

+97
-0
lines changed

include/GameVisitor.h

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#ifndef GAME_VISITOR_H
2+
#define GAME_VISITOR_H
3+
4+
class GameBoard;
5+
class ResourceTile;
6+
class Settlement;
7+
class Road;
8+
class City;
9+
class Player;
10+
11+
class GameVisitor {
12+
private:
13+
//Block copy constructor and assignment operator
14+
GameVisitor(GameVisitor&) {}
15+
GameVisitor& operator=(GameVisitor&) { return *this; }
16+
public:
17+
GameVisitor();
18+
virtual ~GameVisitor();
19+
20+
virtual void visit(GameBoard&) = 0;
21+
virtual void visit(Road&) = 0;
22+
virtual void visit(Settlement&) = 0;
23+
virtual void visit(City&) = 0;
24+
virtual void visit(Player&) = 0;
25+
};
26+
27+
#endif

include/XMLVisitor.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#ifndef XML_VISITOR_H
2+
#define XML_VISITOR_H
3+
4+
#include "GameVisitor.h"
5+
6+
#include "tinyxml2.h"
7+
8+
class XMLVisitor : public GameVisitor {
9+
private:
10+
tinyxml2::XMLDocument xmldoc;
11+
public:
12+
XMLVisitor();
13+
virtual ~XMLVisitor();
14+
15+
virtual void visit(GameBoard&);
16+
virtual void visit(Road&);
17+
virtual void visit(Settlement&);
18+
virtual void visit(City&);
19+
virtual void visit(Player&);
20+
};
21+
22+
#endif

src/GameVisitor.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "GameVisitor.H'
2+
3+
GameVisitor::GameVisitor() {
4+
5+
}
6+
7+
GameVisitor::~GameVisitor() {'
8+
9+
}
10+

src/XMLVisitor.cpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#include "XMLVisitor.h"
2+
3+
#include "GameBoard.h"
4+
#include "GamePiece.h"
5+
#include "City.h"
6+
#include "Settlement.h"
7+
#include "Road.h"
8+
9+
using tinyxml2::XMLElement;
10+
11+
XMLVisitor::XMLVisitor() {
12+
13+
}
14+
15+
XMLVisitor::~XMLVisitor() {
16+
17+
}
18+
19+
void XMLVisitor::visit(GameBoard& board) {
20+
21+
}
22+
23+
void XMLVisitor::visit(Road& road) {
24+
25+
}
26+
27+
void XMLVisitor::visit(Settlement& settlement) {
28+
29+
}
30+
31+
void XMLVisitor::visit(City& city) {
32+
33+
}
34+
35+
void XMLVisitor::visit(Player& player) {
36+
37+
}
38+

0 commit comments

Comments
 (0)