Пьяница — карточная игра, в которой побеждает тот игрок, который собирает все карты. В нашей задаче используется модификация игры с двумя игроками. Игрокам раздаётся равное количество карт. Игроки не смотрят в свои карты, а кладут их в стопку рядом с собой. Затем каждый игрок снимает верхнюю карту и показывает её сопернику. Тот игрок, чья карта оказалась большего номинала, берёт обе карты и кладёт их к себе в колоду снизу (так что своя карта идёт первой). Если карты имеют одинаковый номинал, то они выкидываются из игры. В игре возможны три исхода:

  • У обоих игроков не осталось карт
  • Игра не может закончиться
  • Победил один из игроков

src/Drunkard.php

Реализуйте класс Drunkard с функцией run(), которая принимает на вход два списка чисел, которые представляют собой карты для первого и второго игроков.

  • Если выиграл первый игрок, то метод должен вернуть First player. Round: <номер раунда>.
  • Если выиграл второй игрок, то метод должен вернуть Second player. Round: <номер раунда>.
  • Если у игроков не осталось карт, то метод должен вернуть Botva!
  • Если за 100 раундов не удалось выявить победителя то также возвращается Botva!

Реальные примеры смотрите в тестах.

Подсказки

  • Воспользуйтесь классом \Ds\Deque для работы с колодами
Успешных завершений: 82%

Для полного доступа к испытанию нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, даст возможность обращаться за помощью к менторам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов

Последние код-ревью

Автор Дата обновления Версий
daan88 12 авг., 18:14 2
user-cfca751b3784b7c6 06 авг., 19:47 1
fedorsimakov 23 июля, 07:56 2
user-ae8be4f0efb14888 22 июля, 15:49 1
ava239 18 июля, 16:54 2