Я столкнулся с проблемой, связанной с моей игрой «камень-ножницы-бумага».Чтобы закончить игру, он должен иметь оба критерия:
- Один игрок должен набрать не менее 5 очков
- Разница в баллах двух игроков должна быть не менее двух
Я сделал часть, в которой один из баллов должен быть не менее 5. Кроме того, попытался поместить условие разницы в строку «Пока», но безрезультатно.Это приводит к окончанию игры, если один из игроков достигает 5, или один игрок достиг разницы более двух.Критерии говорят, что ОБА должны быть удовлетворены, а не только один или другой.Кодирование ножниц из каменной бумаги уже было дано властью.
import play_rock_paper_scissors as play_rps
NUM_POINTS_TO_WIN = 5
num_rounds_played = 0
points_a = 0
points_b = 0
while (points_a < NUM_POINTS_TO_WIN and points_b < NUM_POINTS_TO_WIN) or \
abs(points_a - points_b)<2:
winner = play_rps.play()
print('Outcome of round', num_rounds_played,':',winner)
num_rounds_played += 1
if winner == 'a':
points_a += 1
elif winner == 'b':
points_b += 1
print('Number of rounds played =',num_rounds_played)
print('A has won',points_a,'rounds')
print('B has won',points_b,'rounds')
Я ожидал, что результаты будут примерно такими:
[1] A: 2 B: 5
[2] A: 5 B: 3
[3] A: 0 B: 5
Но фактический результат:
[1] A: 6 B: 8
[2] A: 2 B: 4
[3] A: 9 B: 11
, который не удовлетворяет критерию «не может превышать 5».