refactor Board#check_mate?