X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmove.cpp;h=e7b9257dc6d66c4175f059e9264c46c77987a5b1;hp=492d93905348c44dc2a87bf6f0c41c16eaf91528;hb=27619830d428693b4871ce58770705b30ba84c99;hpb=1146fc8d09204945f01ce5ebe8dd24150c617631 diff --git a/src/move.cpp b/src/move.cpp index 492d9390..e7b9257d 100644 --- a/src/move.cpp +++ b/src/move.cpp @@ -1,18 +1,18 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008 Marco Costalba + Copyright (C) 2008-2009 Marco Costalba Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + Stockfish is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see . */ @@ -27,7 +27,6 @@ #include "move.h" #include "piece.h" #include "position.h" -#include "ucioption.h" //// @@ -72,13 +71,13 @@ Move move_from_string(const Position& pos, const std::string& str) { } } - if (piece == king_of_color(us)) + if (piece == piece_of_color_and_type(us, KING)) { // Is this a castling move? A king move is assumed to be a castling // move if the destination square is occupied by a friendly rook, or // if the distance between the source and destination squares is more // than 1. - if (pos.piece_on(to) == rook_of_color(us)) + if (pos.piece_on(to) == piece_of_color_and_type(us, ROOK)) return make_castle_move(from, to); else if (square_distance(from, to) > 1) @@ -87,13 +86,13 @@ Move move_from_string(const Position& pos, const std::string& str) { // internal "king captures rook" representation. SquareDelta delta = (to > from ? DELTA_E : DELTA_W); Square s = from + delta; - while (relative_rank(us, s) == RANK_1 && pos.piece_on(s) != rook_of_color(us)) + while (relative_rank(us, s) == RANK_1 && pos.piece_on(s) != piece_of_color_and_type(us, ROOK)) s += delta; return (relative_rank(us, s) == RANK_1 ? make_castle_move(from, s) : MOVE_NONE); } } - else if (piece == pawn_of_color(us)) + else if (piece == piece_of_color_and_type(us, PAWN)) { // En passant move? We assume that a pawn move is an en passant move // without further testing if the destination square is epSquare. @@ -139,7 +138,7 @@ const std::string move_to_string(Move move) { /// Overload the << operator, to make it easier to print moves. -std::ostream &operator << (std::ostream &os, Move m) { +std::ostream &operator << (std::ostream& os, Move m) { return os << move_to_string(m); }