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

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

Мимо, ранил, убил

На выстрел в морском бою отвечают одним из трёх слов. «Мимо» — в клетке пусто. «Ранил» — попали в корабль, но у него ещё остались целые палубы. «Убил» — этим выстрелом подбита последняя целая палуба корабля, и он тонет.

Что сделать

Ответьте на выстрел одним словом — «мимо», «ранил» или «убил».

Что приходит

  • korabli — флот: список кораблей, корабль — список клеток

  • popadaniya — множество клеток, куда уже попали раньше

  • kletka — куда стреляют сейчас

Что вернуть

"мимо", если в клетке нет корабля; "убил", если остальные палубы этого корабля уже подбиты; иначе "ранил".

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

В игре

Игра зовёт vystrel на каждый выстрел — ваш и противника. Решите шаг — и корабли начнут тонуть, а партия — кончаться победой.

Без этого шага: попадание видно, но корабли не тонут — только «ранил».

Вызов
vystrel([[(0, 0), (0, 1)], [(3, 3)]], set(), (0, 1))
Вернуть
'ранил'

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

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

Обсуждение

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

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