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

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

Обвести потопленный

Корабли не касаются друг друга даже углами. Значит, когда корабль потоплен, все клетки вокруг него заведомо пусты, и стрелять туда — только тратить выстрелы. На бумаге их обводят точками.

Что сделать

Найдите клетки вокруг корабля — по сторонам и углами, в пределах моря, — чтобы отметить их как заведомо пустые.

Что приходит

  • korabl — список клеток корабля

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

Что вернуть

Отсортированный список клеток вокруг корабля, без самого корабля и без клеток за краем моря.

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

В игре

Игра зовёт obvodka, когда корабль потоплен, и отмечает эти клетки промахами — и на вашем поле, и в голове противника. Решите шаг — и никто не будет стрелять впустую рядом с утонувшим кораблём.

Без этого шага: вокруг потопленного корабля ничего не отмечается — клетки рядом с ним приходится обстреливать впустую.

Вызов
obvodka([(4, 4)], 10)
Вернуть
[(3, 3), (3, 4), (3, 5), (4, 3), (4, 5), (5, 3), (5, 4), (5, 5)]

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

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

Обсуждение

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

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