Subversion Repositories Games.Chess Giants

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.     Texel - A UCI chess engine.
  3.     Copyright (C) 2012,2014  Peter Ă–sterlund, peterosterlund2@gmail.com
  4.  
  5.     This program is free software: you can redistribute it and/or modify
  6.     it under the terms of the GNU General Public License as published by
  7.     the Free Software Foundation, either version 3 of the License, or
  8.     (at your option) any later version.
  9.  
  10.     This program is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.     GNU General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU General Public License
  16.     along with this program.  If not, see <http://www.gnu.org/licenses/>.
  17. */
  18.  
  19. /*
  20.  * humanPlayer.cpp
  21.  *
  22.  *  Created on: Feb 25, 2012
  23.  *      Author: petero
  24.  */
  25.  
  26. #include "humanPlayer.hpp"
  27. #include "position.hpp"
  28.  
  29. #include <iostream>
  30.  
  31.  
  32. std::string
  33. HumanPlayer::getCommand(const Position& pos, bool drawOffer, const std::vector<Position>& history) {
  34.     const char* color = pos.isWhiteMove() ? "white" : "black";
  35.     std::cout << "Enter move (" << color << "):" << std::flush;
  36.     std::string moveStr;
  37.     getline(std::cin, moveStr);
  38.     if (!std::cin || std::cin.eof())
  39.         return "quit";
  40.     if (moveStr.length() == 0) {
  41.         return lastCmd;
  42.     } else {
  43.         lastCmd = moveStr;
  44.     }
  45.     return moveStr;
  46. }
  47.