Алгоритм искусственного интеллекта для игры в Морской бой состоит из двух этапов: 1. нанесение ударов по шаблону для поиска 4-палубного и 2-палубных. 2. добивание раненного корабля и пометка клеток вокруг потопленного корабля. На этом уроке разберём и реализуем первый этап.
Дата отправки отчёта:
3 сентября 2015 г.
Задание выполнено: за
2 час. 15 мин.
Чему научился:
я не стал создавать два лишних массива, а определял следующую точку математически (для 4х-палубных - начинаем с 4й точки на первой строке, далее для каждой строки первая точка сдвигается влево, отдаётся на выстрел каждая четвёртая на очередной строке. когда строки заканчивались, математически определял точки для поиска 2х-палубных аналогично) поэтому я не делал всего что связано с массивом put. в основном переделывал свой алгоритм, чтобы он работал в проекте ShipMission
Что было сложным:
долго отлавливал баги, связанные с заменой циклов while и переделыванием "кучи функций в одном потоке" на несколько функций, пошагово возварщающие нужные точки
Комментарии:
можно было бы не использовать массив put и ограничиться массивом shape, вкотором на очередном шаге ставить нули в нужных местах.
Сделать свой алгоритм - это здорово! Для вас, видимо, это уже не сложно... Надеюсь, что когда-нибудь потом увижу ваш видео-отчет, всегда интересно смотреть, как работает алгоритм.
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Использование статичной матрицы - быстрое и эффективное решение, но не универсальное. Сам вначале хотел так сделать, но потом подумал зачем нам тогда ширина и высота моря? Поэтому программно формирую отдельные списки выстрелов для поиска 4-х палубников, 3-х палубников и т.д. Т.е. выстрелили, удалили из списка координаты и забыли. А так интересно посмотреть ход мыслей другого человека. )