separated GamePlayer actions from AbstractPlayer