while(user_plcr <= GAME_END_POINTS or computer_plcr <= GAME_END_POINTS):
Это будет продолжаться, пока либо истинно.Таким образом, даже если user_plcr > GAME_END_POINTS
, он будет продолжаться до computer_plcr > GAME_END_POINTS
.Вы хотите выйти, когда любой из них является ложным.Другими словами, продолжайте, пока оба верны.
while (user_plcr <= GAME_END_POINTS and computer_plcr <= GAME_END_POINTS):
Кроме того, внутри while
, если пользователь набирает больше GAME_END_POINTS
, компьютер все равно отключается.Поэтому вам нужно проверить счет пользователя, прежде чем разрешить компьютеру развернуться.
while(user_plcr <= GAME_END_POINTS and computer_plcr <= GAME_END_POINTS):
print_current_player(is_user_turn)
user_total = take_turn(is_user_turn,COMPUTER_HOLD)
user_plcr = user_plcr + user_total
if user_plcr <= GAME_END_POINTS:
is_user_turn = get_next_player(is_user_turn)
print_current_player(is_user_turn)
computer_total = take_turn(is_user_turn,COMPUTER_HOLD)
computer_plcr = computer_plcr + computer_total
report_points(user_plcr,computer_plcr)
print("\n")
is_user_turn = get_next_player(is_user_turn)