/*
  crossword -- a crossword game
  Copyright (C) 2000 Falk Hueffner

  This program 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 2 of the License, or (at your option)
  any later version.
  
  This program 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, write to the Free Software Foundation, Inc., 59 Temple
  Place, Suite 330, Boston, MA 02111-1307 USA

  $Id: Player.hh,v 1.7 2000/11/21 20:07:48 falk Exp $
*/

#ifndef PLAYER_HH
#define PLAYER_HH

#include <string>

#include "Move.hh"
#include "Tile.hh"

class Player {
public:
    Player() { }
    virtual ~Player() { }

    virtual std::string name() const = 0;
    
    virtual void apply(const Move& move) = 0;
    virtual Move getMove() = 0;

    virtual unsigned int numLetters() const;
    virtual void receiveTile(Tile t);
    virtual void loseTile(Tile t);

protected:
    std::string letters;
};

#endif

