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

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

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

  • Олимпиадная задача - создать алгоритм ИИ для игры в Морской бой.
    Подробности на видео.
  • Дата отправки отчёта: 2 апреля 2015 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Разбираться со всем.
  • Что было сложным: Составить алгоритм ИИ,но так и не удалось придумать качественной решение,кроме рандома) Надеюсь в следующих уроках увижу чтото полезное)
  • Комментарии: Я в восторге от вашего сайта )) Многому учусь,спасибо вам!)
  • Оценка видео-уроку:
Отчёт от 4126 за Морской Бой / Олимпиада - Создание ИИ - Стратегия




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Ярина  # Морской Бой / Олимпиада - Морской бой - ИИ / 2015-04-02 08:51

Молодец, Ярина. Продолжай в том же духе!


  • Отчёт оценивали:
    Посетитель+1   4126Ярина+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Что алгоритм простой на бумаге может быть совсем не простым в реализации.
Трудности: Реализовать придуманный алгоритм
Замечаний нет.
Трудности: Очень долго не мог найти время на прохождение урока ;)
Очень классно! Я сделал 4 алгоритма! Один класс, и функция которыя определяет текущий режим (какой алгоритм будет работать). Вообщем сделал 4 режима и нашёл крупненькую уязвимость в коде ;))) 1) StupidRandom - Просто псевдо рандомные выстрелы в море ~90 ходов 2) SmartRandom - Умные выстрелы (если попал, то добивает и обделяет корабль, чтобы около него не стрелять) ~50 3) Hacker(=20 ходов) - Он знает где корабли и чётко по ним стреляет - это я сделал не поиском сингнатур в памяти(как Orange), а обычной уязвимостью - суть в том, что если к нам пришёл объект - Море sea, то почему бы его не переопределить, как Редактор sea? Я просто сделал функцию, которая получает корабли хитрым способом, по номерам и кладёт их в массив - вот это важную роль играет - ((Редактор)sea).КартаКораблей(Точка) - возвращает int(номер корабля). Хитрооо... Прикольно получилось и сделал быстро :) 4) StupidHacker - "притупленный" хакер - стреляет точно, но иногда "притупляется" - 1 к 3. В среднем ~40 ходов. Мне очень понравился результат. Больше всего времени потратил - на второй алгоритм ;) Больше всего мне понравился 3 ;)))))))))))))))) (На скриншоте 2 алгоритм)