TUZ_5-01_Определение выигрышной карты
5.1. Определение выигрышной карты
Среди карточных игр есть игра с четырьмя игроками, в которой каждому игроку сдается одна карта и затем они по очереди вскрывают свои карты.
В игре может назначаться или не назначаться козырная масть: «трефы», «пики», «червы» или «бубны».
Достоинства карт определяются в порядке убывания так: «туз» > «король» > «дама» > «валет» > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2 > 1.
Победитель в игре определяется по следующим правилам:
1. Если в игре есть козыри, то выигрывает игрок, имеющий козырь с наибольшим достоинством.
2. Если в игре нет козырей, то выигрывает игрок, имеющий карту с наивысшим достоинством и с мастью,
совпадающей с мастью карты, которая была вскрыта первой.
Например, если игрокам сданы карты
[(тройка, трефы), (король, пики), (дама, трефы), (валет, червы)] и козырями являются трефы,
то выигрывает игрок с картой (дама, трефы) как обладающий козырной картой наибольшего достоинства.
Другой пример: игрокам сданы карты
[(четверка, бубны), (туз, трефы), (четверка, пики), (король, трефы)] и в игре нет козырей.
В таком случае выигрывает игрок с картой (четверка, бубны), потому что у других игроков
карты другой масти и они не могут побить первую карту.
Ваша задача: написать функцию, которая принимает список карт в раздаче и возвращает выигравшую карту.
В табл. 5.1 показаны ожидаемые результаты для некоторых входных данных.
Таблица 5.1. Некоторые ожидаемые результаты для задачи определения выигрышной карты |
Cards, trump |
Ожидаемый результат |
three, clubs
king, spades
queen, clubs
jack, hearts
clubs |
queen, clubs
|
four, diamonds
ace, clubs,
four, spades
king, clubs
None |
four, diamonds |
eight, hearts
three, diamonds
nine, spades
queen, hearts
None |
queen, hearts |