aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/chess_board.cpp35
-rw-r--r--src/chess_piece.cpp10
2 files changed, 24 insertions, 21 deletions
diff --git a/src/chess_board.cpp b/src/chess_board.cpp
index ac3e1ae..4891981 100644
--- a/src/chess_board.cpp
+++ b/src/chess_board.cpp
@@ -4,7 +4,7 @@ chess_ai::chess_board::chess_board() : SIZE(CHESS_BOARD_SIZE) {
init_board_vector();
}
-chess_ai::chess_board::chess_board(board_state state) : SIZE(CHESS_BOARD_SIZE){
+chess_ai::chess_board::chess_board(board_state state) : SIZE(CHESS_BOARD_SIZE) {
unsigned vec_index, sqr_index;
init_board_vector();
@@ -119,12 +119,11 @@ void chess_ai::chess_board::remove_piece(unsigned x, unsigned y) {
*iterate_board(it_sqr, x, y) = chess_piece();
}
-chess_ai::movement_flag chess_ai::chess_board::move_piece(chess_piece piece) {
+chess_ai::move_error chess_ai::chess_board::move_piece(chess_piece piece) {
return move_piece(piece.x, piece.y);
}
-chess_ai::movement_flag chess_ai::chess_board::move_piece(unsigned x,
- unsigned y) {
+chess_ai::move_error chess_ai::chess_board::move_piece(unsigned x, unsigned y) {
square_iterator it;
iterate_board(it, x, y);
@@ -136,19 +135,23 @@ chess_ai::movement_flag chess_ai::chess_board::move_piece(unsigned x,
return move_error_IllegalMove;
}
-chess_ai::movement_flag chess_ai::chess_board::move_piece(
- chess_ai::chess_piece piece, unsigned x, unsigned y) {
+chess_ai::move_error chess_ai::chess_board::move_piece
+(chess_ai::chess_piece piece, unsigned x, unsigned y) {
+
return move_piece(piece.x, piece.y, x, y);
}
-chess_ai::movement_flag chess_ai::chess_board::move_piece(unsigned orig_x,
- unsigned orig_y, unsigned dest_x, unsigned dest_y) {
+chess_ai::move_error chess_ai::chess_board::move_piece
+(unsigned orig_x, unsigned orig_y, unsigned dest_x, unsigned dest_y) {
+
chess_piece taken;
return move_piece(orig_x, orig_y, dest_x, dest_y, taken);
}
-chess_ai::movement_flag chess_ai::chess_board::move_piece(unsigned orig_x,
- unsigned orig_y, unsigned dest_x,
- unsigned dest_y, chess_piece& taken_piece) {
+
+chess_ai::move_error chess_ai::chess_board::move_piece
+(unsigned orig_x, unsigned orig_y, unsigned dest_x, unsigned dest_y,
+ chess_piece& taken_piece) {
+
square_iterator it;
square_iterator new_it;
@@ -169,8 +172,9 @@ chess_ai::movement_flag chess_ai::chess_board::move_piece(unsigned orig_x,
}
}
-chess_ai::square_iterator& chess_ai::chess_board::iterate_board(
- square_iterator& it, unsigned x, unsigned y) {
+chess_ai::square_iterator& chess_ai::chess_board::iterate_board
+(square_iterator& it, unsigned x, unsigned y) {
+
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();
@@ -187,8 +191,9 @@ chess_ai::square_iterator& chess_ai::chess_board::iterate_board(
return it;
}
-chess_ai::movement_flag chess_ai::chess_board::move_pawn(square_iterator it,
- square_iterator new_it, chess_piece& taken_piece) {
+chess_ai::move_error chess_ai::chess_board::move_pawn
+(square_iterator it, square_iterator new_it, chess_piece& taken_piece) {
+
chess_piece piece(it->type, it->colour, new_it->x, new_it->y);
if((new_it->y - it->y == 2 && it->y == 1) ||
diff --git a/src/chess_piece.cpp b/src/chess_piece.cpp
index 6eb07e7..e81b9b7 100644
--- a/src/chess_piece.cpp
+++ b/src/chess_piece.cpp
@@ -2,6 +2,7 @@
chess_ai::chess_piece::chess_piece(piece_type type, piece_colour colour) :
type(type), colour(colour) {
+
if(colour == black) {
y = 0;
} else {
@@ -15,12 +16,9 @@ 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
- ) : type(type), colour(colour), x(x), 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;