Пьяница — карточная игра, в которой побеждает тот игрок, который собирает все карты. В нашей задаче используется модификация игры с двумя игроками. Игрокам раздаётся равное количество карт. Игроки не смотрят в свои карты, а кладут их в стопку рядом с собой. Затем каждый игрок снимает верхнюю карту и показывает её сопернику. Тот игрок, чья карта оказалась большего номинала, берёт обе карты и кладёт их к себе в колоду снизу (так что своя карта идёт первой). Если карты имеют одинаковый номинал, то они выкидываются из игры. В игре возможны три исхода:
- У обоих игроков не осталось карт
- Игра не может закончиться
- Победил один из игроков
src/Drunkard.php
Реализуйте класс Drunkard
с функцией run()
, которая принимает на вход два списка чисел, которые представляют собой карты для первого и второго игроков.
- Если выиграл первый игрок, то метод должен вернуть
First player. Round: <номер раунда>
. - Если выиграл второй игрок, то метод должен вернуть
Second player. Round: <номер раунда>
. - Если у игроков не осталось карт, то метод должен вернуть
Botva!
- Если за 100 раундов не удалось выявить победителя то также возвращается
Botva!
Реальные примеры смотрите в тестах.
Подсказки
- Воспользуйтесь классом \Ds\Deque для работы с колодами
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.