Войти Создать аккаунт

Игра «Морской бой» · Шаг 4 из 5

Добить раненого

Противник попал в корабль — и теперь ему незачем стрелять по всему морю: раненый корабль где-то рядом. Одна раненая палуба — корабль продолжается в одну из четырёх сторон. Две раненые палубы в ряд — направление уже ясно: стрелять надо по концам ряда.

Что сделать

Подскажите, куда стрелять, чтобы добить раненый корабль: по сторонам от одной палубы или по концам ряда раненых.

Что приходит

  • izvestno — что известно о море: словарь «клетка → "мимо", "ранил" или "убил"»

  • n — сторона моря

Что вернуть

Отсортированный список клеток-кандидатов: на море и ещё не обстрелянных; раненых нет — пустой список.

Допишите функцию kuda_bit в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В игре

Противник зовёт kuda_bit перед каждым своим выстрелом: есть кандидаты — бьёт в один из них. Пробел на вашей стороне делает то же для вас. Решите шаг — и противник начнёт добивать раненые корабли.

Без этого шага: противник не добивает раненый корабль, а стреляет куда попало.

Вызов
kuda_bit({(4, 4): "ранил"}, 10)
Вернуть
[(3, 4), (4, 3), (4, 5), (5, 4)]

Готовая игра →

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.