Игра Space Invaders (32/34)

  • 3
  • Недоступна
Игра проиграна не только если корабль игрока уничтожен, но и когда вражеский флот вплотную приблизился к кораблю игрока. Чтобы определить координаты нижней границы вражеского флота, добавим метод getBottomBorder(). После разгрома всех врагов игрок побеждает. Для удобства добавим метод getShipsCount
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (6)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
fog
Уровень 16
19 июня, 10:50
Всего эту задачу решили 614 учеников. С прошлого шага отвалилось 4 человека.
Якунин Евгений
Уровень 18, Россия
4 июня, 18:35
608. Отваливаются челики
Architect's Wife
Уровень 37
3 июня, 06:47
в методе getBottomBorder() сначала нужно сделать проверку не пустой ли список и вернуть 0,0.
fog
Уровень 16
19 июня, 13:36
У меня, в случае отсутствия кораблей противника возвращается минус бесконечность. И валидатор это тоже прекрасно принял. Вероятно, ему вообще всё равно что возвращается в этом случае - лишь бы не исключение...
Михаил Клименко
Уровень 25, Краснодар, Россия
Expert
29 июля 2020, 13:10
Всего эту задачу решили 298 учеников. Осталось два шага :) Во втором пункте нужно сделать дополнительную проверку, пустой ли список ships
Валерий Федотовских
Уровень 40, Москва, Россия
30 ноября 2020, 20:36
Например так:
return ships.stream().map(a -> a.y + a.height).reduce((s1, s2) -> s1 > s2 ? s1 : s2).orElse(0d);