void Piece::moveTo(Square *square) { setBoardPos(square->getBoardPos()); square->setPiece(this); }
void ChessPiece::move(const int newBoardPos) { if (pos().boardPos() == newBoardPos) return; ChessTypes::MoveStates moveStates(moveAvailableStates(newBoardPos)); ChessMovePtr chessMove( new ChessMove(color(), type(), pos(), ChessPos(newBoardPos), moveStates)); setBoardPos(newBoardPos); emit moved(chessMove); }