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

Формула программиста
основатель — Волосатов Евгений Витольдович

Морской Бой / Олимпиада - Самый лучший алгоритм

  • На участие в олимпиаде было прислано 10 работ.
    В этом видео мы проводим тестирование всех программ.
    Домашнее задание - составить словесный алгоритм ИИ.
  • Дата отправки отчёта: 5 декабря 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: проанализировал различные алгоритмы
  • Что было сложным: сложностей не было
  • Комментарии: Наиболее интересным, конечно же, считаю алгоритм оранжа. Очень часто игроки ставят корабли ближе к рандому на "повезет", а не думая о теории вероятности. А при таком раскладе алгоритм, основанный на весах клеток наиболее эффективен. Да и сам я при игре всегда старался максимально разбить пустые места, а это по сути и является стрельбой по клеткам с максимальным весом и "сеточников" обычно обыгрывал. И немного насчет последнего общего теста, когда на большом поле были однопалубники - если бы они все не стояли строго по сетке, уверен, победил бы оранж :)
    ПС. и тем не менее я расписал в отчете, что сам бы писал с использованием сеток, т.к. такой алгоритм прост в реализации и в целом неплох.
  • Оценка видео-уроку:
Отчёт от 7760 за Морской Бой / Олимпиада - Самый лучший алгоритм




Оцени работу

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

7760. Alexander
Alexander
ответить
→  Оля  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 02:38

к сожалению наверно не скоро я смогу допилить алгоритм...


24. Оля
Оля
ответить
→  Alexander  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-06 00:03

Александр, хорошо поработал может ты свой алгоритм и воплотишь в игре, думаю будет интересная практика! :)


  • Отчёт оценивали:
    6452Кирилл Шмойлов+1   6080annaka+1   3850Григорий+1   1232Фомичева Наталья+1   7901Влад+1   6391Владимир+1   7645Александр Львович+1   1Евгений Волосатов+1   6925Артём+1   7448Sergey Shumskiy0   6203Николай (nick27m)+1   459Сергей Сергеевич+1   6458Илья+1   3747Сергей+1   2639Морозов Юрий Александрович+1   7276Ильшат+1   4853Alexander Sidorov+1   24Оля+1   7573Павел+1   2146Иван+1   7788Ксения+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Рассмотрели различные версии алгоритма ИИ.
Болел за алгоритм 4004, мой голос за Елену.
Научился: Просмотрела разные алгоритмы и их загрузку через абстрактный класс.
Трудности: Понять как это все работает. И алгоритмы и их загрузка.
Алгоритмы public и orange. Как я поняла, к любому из представленных алгоритмов можно найти более оптимальные расстановки. Есть мысль использовать в программе 2-3 алгоритма, выбирая номер алгоритма рандомно. Алгоритм. Найти все точки, где может быть четырехпалубный корабль. Выделить их в массив. Стрелять рандомно по свободным, пока есть не проверенные. Если корабль подбит, пометить соседние ячейки как пустые. Если ранен, рандомно проверить во всех направлениях, пока не останется одно. Добиваем корабль. Здесь можно сделать проверку какие корабли остались и определить может ли корабль быть размещен горизонтально/вертикально, сколько. И стрелять по наиболее удачной ячейке. Далее проверяем на двухпалубные корабли. Опять выделяем места, где они могут быть размещены и стреляем рандомно, пока не проверим все. Оставшиеся однопалубники ищем рандомно из числа не проверенных ячеек.