Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Морской Бой / Олимпиада - Создание ИИ - Стратегия

  • Олимпиадная задача - создать алгоритм ИИ для игры в Морской бой.
    Подробности на видео.
  • Дата отправки отчёта: 29 мая 2018 г.
  • Задание выполнено: за 1 день 8 час. 50 мин.
  • Чему научился: Отличный формат уроков! Надо раобраться в чужом коде и свой написать. Что может быть реальнее на практике?

    Так как мы можем стрелять только один раз, а цикл стрельбы реализован извне, то необходимо как-то запоминать выстрелы.
    Реализовал через list, если выстрелили по точке, то ее сразу удаляем. Кроме того, есть еще статусы игры. Т.е. мы просто стреляем или находимся в режиме добивания, находимся мы в поиске 4-х палубника или 3-х палубника и т.д. Нужно было еще как-то помечать клетки вокруг убитого корабля, жаль что нельзя было использовать карту попадания класса море, хотел унаследоваться от него, потом понял, что видимо это не по правилам, так что пришлось свою карту делать, засунул в конструктор, чтобы она автоматом проинициализировалась.
  • Что было сложным: В каждом курсе нахожу что-то новое для себя. У каждого есть своя изюминка. )
  • Оценка видео-уроку:
Отчёт от 9752 за Морской Бой / Олимпиада - Создание ИИ - Стратегия




Оцени работу

 
Сохранить страницу:

10558. --
Иван Воронин
Иван Воронин
ответить
→  chokayes  # Морской Бой / Олимпиада - Создание ИИ - Стратегия / 2018-06-01 19:20

В этом и особенность данного проекта, в изюминках каждого курса.


  • Отчёт оценивали:
    791Валерий Жданов+1   17947Dmitry Sinitsin+1   6452Кирилл Шмойлов+1   17443WildOrc+1   10717OloloCode+1   3922Александр+1   9980Timoha+1   17606Виктор+1   4395Денис+1   1Евгений Волосатов+1   459Сергей Сергеевич+1   Посетитель+1   5394Anton+1   Посетитель+1   Посетитель+1   16459Protos+1   16218Дмитрий+1   9858Александр+1   10895Danil42Russia+1   8275Tekashnik+1   18683Roman0   10558Иван Воронин+1   3850Григорий+1   11051Dima+1   10080FireWolf+1   11582Родион+1   3747Сергей+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: придумывать стратегию ИИ и реализовывать ее
Трудности: принять меру своих возможностей ))
хорошее упражнение. попытаться стоит)


Научился: Всему :) По количеству вынесенной для меня пользы это задача оказалась продуктивнее чем все ранее решенные задачи вместе взятые. Безусловно этот факт обусловлен моим малым опытом и небольшим объёмом имеющихся знаний, но количество проблем с которыми я столкнулся, объём новой информации которую пришлось добыть и изучить для их решения, говорит только об исключительной полезности подобных задач.
Трудности: Банально не хватило времени для реализации всех задумок. Не имея опыта решения подобных задач заложил неправильное время на её решение. В результате израсходовал его нерационально. Сначала несколько часов с тетрадью и карандашом подбирал оптимальный вариант стрельбы. Потом переключился в Студию и тут выяснилось, что я не совсем понимаю логику программы (ввиду скудности имеющихся знаний). Вместо того чтобы сразу приступить к реализации задуманного решения пришлось потратить несколько часов (!) на разбор логики программы, и выяснение способов вызова необходимых мне методов из уже имеющихся классов. В какой-то момент решил прекратить участие, т.к. не удавалось до конца разобраться. Закончилась суббота, сегодня на свежую голову с утра пришло озарение. По ходу пьесы пришлось упрощать решение, пошаговая отладка, сроки горят... красота :)
Отличная задача, позволяет новичкам проверить себя в боевых условиях.