Refactor Player enum and add getNumMoves function
Fix merge conflict