Player interface and HumanPlayer class with tests