Skip to content

Commit b21ab37

Browse files
committed
Added skeleton structure
1 parent ee82075 commit b21ab37

File tree

12 files changed

+193
-1
lines changed

12 files changed

+193
-1
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ EXECUTABLE := warsofcatan
77
ALLFILES := $(wildcard $(SRC_HOME)/*) $(wildcard $(INCL_HOME)/*)
88
export CXX := g++
99
export LD := g++
10-
export CXXFLAGS := -g -I$(INCL_HOME) -std=gnu++0x
10+
export CXXFLAGS := -g -I$(INCL_HOME) -std=gnu++11
1111
export LDFLAGS := -lSDL2 -lGL -lGLU
1212

1313
.PHONY: all

include/GameBoard.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#ifndef GAME_BOARD_H
2+
#define GAME_BOARD_H
3+
4+
#include <map>
5+
#include <vector>
6+
#include <memory>
7+
#include <utility>
8+
9+
#include "Util.h"
10+
#include "GamePiece.h"
11+
12+
class GameBoard {
13+
private:
14+
std::map<Coordinate, std::unique_ptr<GamePiece>> pieces;
15+
std::vector<std::unique_ptr<const Road>> roads;
16+
public:
17+
GameBoard();
18+
GameBoard(GameBoard&) = delete;
19+
~GameBoard();
20+
GameBoard& operator=(GameBoard&) = delete;
21+
};
22+
23+
#endif

include/GamePiece.h

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#ifndef GAME_PIECE_H
2+
#define GAME_PIECE_H
3+
4+
#include "Util.h"
5+
#include "Player.h"
6+
7+
class GameBoard;
8+
9+
class GamePiece {
10+
private:
11+
GameBoard& board;
12+
public:
13+
GamePiece(GameBoard& board);
14+
GamePiece(GamePiece&) = delete;
15+
virtual ~GamePiece();
16+
virtual GamePiece& operator=(GamePiece&) = delete;
17+
};
18+
19+
class ResourceTile : public GamePiece {
20+
private:
21+
22+
public:
23+
ResourceTile(GameBoard& board);
24+
ResourceTile(ResourceTile&) = delete;
25+
virtual ~ResourceTile();
26+
virtual ResourceTile& operator=(ResourceTile&) = delete;
27+
};
28+
29+
class Settlement : public GamePiece {
30+
private:
31+
Player& owner;
32+
public:
33+
Settlement(GameBoard& board, Player& owner);
34+
Settlement(Settlement&) = delete;
35+
virtual ~Settlement();
36+
virtual Settlement& operator=(Settlement&) = delete;
37+
};
38+
39+
class Road {
40+
private:
41+
GameBoard& board;
42+
Player& owner;
43+
Coordinate start;
44+
Coordinate end;
45+
public:
46+
Road(GameBoard& board, Player& owner, Coordinate start, Coordinate end);
47+
Road(Road&);
48+
~Road();
49+
Road& operator=(Road&) = delete;
50+
};
51+
52+
#endif

include/Player.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#ifndef PLAYER_H
2+
#define PLAYER_H
3+
4+
class Player {
5+
private:
6+
7+
public:
8+
Player();
9+
Player(Player&) = delete;
10+
~Player();
11+
Player& operator=(Player&) = delete;
12+
};
13+
14+
#endif

include/Renderer.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#ifndef RENDERER_H
2+
#define RENDERER_H
3+
4+
#include "GameBoard.h"
5+
#include "Player.h"
6+
7+
void renderBoard(GameBoard& board, Player& perspective);
8+
9+
#endif

include/UserInput.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#ifndef USER_INPUT_H
2+
#define USER_INPUT_H
3+
4+
#include <SDL2/SDL.h>
5+
6+
#include "GameBoard.h"
7+
#include "Player.h"
8+
9+
void acceptInput(GameBoard& board, Player& turn, SDL_Event& event);
10+
11+
#endif

include/Util.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#ifndef UTIL_H
2+
#define UTIL_H
3+
4+
#include <utility>
5+
6+
typedef std::pair<int, int> Coordinate;
7+
8+
#endif

src/GameBoard.cpp

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

src/GamePiece.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#include "GamePiece.h"
2+
3+
#include "GameBoard.h"
4+
5+
GamePiece::GamePiece(GameBoard& board) : board(board) {
6+
7+
}
8+
9+
GamePiece::~GamePiece() {
10+
11+
}
12+
13+
ResourceTile::ResourceTile(GameBoard& board) : GamePiece(board) {
14+
15+
}
16+
17+
ResourceTile::~ResourceTile() {
18+
19+
}
20+
21+
Settlement::Settlement(GameBoard& board, Player& owner) : GamePiece(board), owner(owner) {
22+
23+
}
24+
25+
Settlement::~Settlement() {
26+
27+
}
28+
29+
Road::Road(GameBoard& board, Player& owner, Coordinate start, Coordinate end) : board(board), owner(owner), start(start), end(end) {
30+
31+
}
32+
33+
Road::Road(Road& other) : board(other.board), owner(other.owner), start(other.start), end(other.end) {
34+
35+
}
36+
37+
Road::~Road() {
38+
39+
}

src/Player.cpp

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

0 commit comments

Comments
 (0)