aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/chess_board.cpp28
-rw-r--r--src/chess_piece.cpp46
2 files changed, 56 insertions, 18 deletions
diff --git a/src/chess_board.cpp b/src/chess_board.cpp
index 9a6848b..badd585 100644
--- a/src/chess_board.cpp
+++ b/src/chess_board.cpp
@@ -1,14 +1,10 @@
#include "../include/chess_ai.hpp"
-typedef std::vector<std::vector<chess_ai::chess_piece>>::
-iterator vector_iterator;
-typedef std::vector<chess_ai::chess_piece>::iterator square_iterator;
-
-chess_ai::chess_board::chess_board() {
+chess_ai::chess_board::chess_board() : SIZE(CHESS_BOARD_SIZE) {
init_board_vector();
}
-chess_ai::chess_board::chess_board(board_state state) {
+chess_ai::chess_board::chess_board(board_state state) : SIZE(CHESS_BOARD_SIZE){
unsigned vec_index, sqr_index;
init_board_vector();
@@ -155,3 +151,23 @@ void chess_ai::chess_board::remove_piece(unsigned x, unsigned y) {
}
}
}
+
+void chess_ai::chess_board::move_piece(chess_piece piece) {
+
+}
+
+void chess_ai::chess_board::iterate_board(unsigned x, unsigned y,
+ square_iterator& it) {
+ unsigned vec_index, sqr_index;
+ for(vector_iterator it_vec = grid.begin(); it_vec != grid.end(); ++it_vec) {
+ for(square_iterator it_sqr = (*it_vec).begin();
+ it_sqr != (*it_vec).end(); ++it_sqr) {
+ vec_index = it_vec - grid.begin();
+ sqr_index = it_sqr - (*it_vec).begin();
+
+ if(vec_index == y && sqr_index == x) {
+ it = it_sqr;
+ }
+ }
+ }
+}
diff --git a/src/chess_piece.cpp b/src/chess_piece.cpp
index 5e23444..bab3612 100644
--- a/src/chess_piece.cpp
+++ b/src/chess_piece.cpp
@@ -1,9 +1,7 @@
#include "../include/chess_ai.hpp"
-chess_ai::chess_piece::chess_piece(piece_type type, piece_colour colour) {
- this->type = type;
- this->colour = colour;
-
+chess_ai::chess_piece::chess_piece(piece_type type, piece_colour colour) :
+ type(type), colour(colour) {
if(colour == black) {
y = 0;
} else {
@@ -17,14 +15,12 @@ chess_ai::chess_piece::chess_piece(piece_type type, piece_colour colour) {
}
}
-chess_ai::chess_piece::chess_piece(piece_type type, piece_colour colour,
- unsigned x, unsigned y) {
- this->type = type;
- this->colour = colour;
- this->x = x;
- this->y = y;
-
-}
+chess_ai::chess_piece::chess_piece(
+ piece_type type,
+ piece_colour colour,
+ unsigned x,
+ unsigned y
+ ) : type(type), colour(colour), x(x), y(y) {}
void chess_ai::chess_piece::set_type(piece_type type) {
this->type = type;
@@ -42,6 +38,32 @@ void chess_ai::chess_piece::set_y(unsigned y) {
this->y = y;
}
+void chess_ai::chess_piece::set(piece_type type, piece_colour colour,
+ unsigned x, unsigned y) {
+ set_type(type);
+ set_colour(colour);
+ set_x(x);
+ set_y(y);
+}
+
+chess_ai::chess_piece& chess_ai::chess_piece::operator==(const chess_piece&
+ piece) {
+ if(this != &piece) {
+ this->set(piece.type, piece.colour, piece.x, piece.y);
+ }
+ return *this;
+}
+
+chess_ai::chess_piece& chess_ai::chess_piece::operator++() {
+ return *this;
+}
+
+chess_ai::chess_piece chess_ai::chess_piece::operator++(int) {
+ chess_piece tmp(*this);
+ operator++();
+ return tmp;
+}
+
std::string chess_ai::chess_piece::str() {
if(type == empty)
return " ";