#pragma once
#include "board.h"
#include "move.h"
#include <string>

class Player
{
public:
   Player(Color color) : color{ color } {}

   virtual ~Player() = default;

   virtual std::string getName() const = 0;
   virtual Move nextMove(const Board&) = 0;

protected:
   Color getColor() const { return color; }

private:
   Color color;
};
