JavaScript: Морской бой

Обновлено: 16 сент., 23:20
901
Студент
71%
Завершения

Перед вами популярная игра "Морской бой".

solution.js

Реализуйте и экспортируйте функцию calcShipsCount(), которая принимает на вход поле боя в виде квадратного двумерного массива из нулей и единиц. Ноль — пустая ячейка, единица — часть корабля. Функция должна вернуть количество кораблей на поле боя.

Так как корабли не должны соприкасаться друг с другом, реализуйте и экспортируйте функцию isValidField(), которая проверяет расстановку кораблей на корректность.

calcShipsCount([]); // 0
calcShipsCount([
  [0, 1, 0, 0, 0, 0],
  [0, 1, 0, 1, 1, 1],
  [0, 0, 0, 0, 0, 0],
  [0, 1, 1, 1, 0, 1],
  [0, 0, 0, 0, 0, 1],
  [1, 1, 0, 1, 0, 0],
]); // 6
isValidField([
  [0, 1, 0, 0],
  [1, 0, 0, 1],
  [0, 0, 0, 0],
  [0, 1, 1, 1],
]); // false

Для полного доступа к испытанию нужен базовый план

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

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Отзывы

Аватар пользователя Тимофей Яковишин
Тимофей Яковишин 06 июля 2023

Хочется стереть себе память и больше никогда не проходить подобные задания. Пойду отдохну Порешаю хард задачи на лииткоде


Аватар пользователя Александр Попов
Александр Попов 03 февраля 2023

Поскольку это было моё последнее испытание по массивам, решил немного усложнить себе задачу и написал функцию, которая по умолчанию выводит количество кораблей на поле. А при указании количества палуб(второй необязательный параметр) выводит количество кораблей с таким числом палуб. https://ru.hexlet.io/code_reviews/892669?submission_id=1152725 Вроде как, всё работает. А значит, и время на изучение JS массивов было потрачено не зря. Спасибо за интересные задачи!


Аватар пользователя Павел Юденко
Павел Юденко 07 июня 2022

Добрый день. Отличное испытание! Как оказалось, про существование преобразования типов я забыл :\ Как забыл и про левую ассоциативность условной конструкции...в общем круто! Именно так знания и закрепляются, спасибо!