/*
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
#include "san.h"
#include "ucioption.h"
+using std::string;
+
////
//// Variables
////
-extern SearchStack EmptySearchStack;
-
int Position::castleRightsMask[64];
Key Position::zobrist[2][8][64];
copy(pos);
}
-Position::Position(const std::string& fen) {
+Position::Position(const string& fen) {
from_fen(fen);
}
/// string. This function is not very robust - make sure that input FENs are
/// correct (this is assumed to be the responsibility of the GUI).
-void Position::from_fen(const std::string& fen) {
+void Position::from_fen(const string& fen) {
- static const std::string pieceLetters = "KQRBNPkqrbnp";
+ static const string pieceLetters = "KQRBNPkqrbnp";
static const Piece pieces[] = { WK, WQ, WR, WB, WN, WP, BK, BQ, BR, BB, BN, BP };
clear();
continue;
}
size_t idx = pieceLetters.find(fen[i]);
- if (idx == std::string::npos)
+ if (idx == string::npos)
{
std::cout << "Error in FEN at character " << i << std::endl;
return;
/// Position::to_fen() converts the position object to a FEN string. This is
/// probably only useful for debugging.
-const std::string Position::to_fen() const {
+const string Position::to_fen() const {
- static const std::string pieceLetters = " PNBRQK pnbrqk";
- std::string fen;
+ static const string pieceLetters = " PNBRQK pnbrqk";
+ string fen;
int skip;
for (Rank rank = RANK_8; rank >= RANK_1; rank--)
void Position::print(Move m) const {
- static const std::string pieceLetters = " PNBRQK PNBRQK .";
+ static const string pieceLetters = " PNBRQK PNBRQK .";
// Check for reentrancy, as example when called from inside
// MovePicker that is used also here in move_to_san()
std::cout << std::endl;
if (m != MOVE_NONE)
{
- std::string col = (color_of_piece_on(move_from(m)) == BLACK ? ".." : "");
+ string col = (color_of_piece_on(move_from(m)) == BLACK ? ".." : "");
std::cout << "Move is: " << col << move_to_san(*this, m) << std::endl;
}
for (Rank rank = RANK_8; rank >= RANK_1; rank--)