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

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

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

Боты Сапёра / БОТ - Сканер минного поля

  • На этом уроке мы применим результаты анализа
    в полевых условиях на запущенном минёре.
    Сформируем карту по скриншоту минёра.
  • Дата отправки отчёта: 21 октября 2016 г.
  • Задание выполнено: за 24 час. 00 мин.
  • Чему научился: Повторил множества, MD5, массивы, матрицы, работу с графикой, файлами...
  • Что было сложным: найти время
  • Комментарии: Начал исследования уже давно, но именно по поиску объектов по одному пикселю с 18 числа 7 утра, на уроке использовался слишком простой алгоритм, я вначале применил рекурсию, чтобы перебрать все комбинации пикселей, процесс не быстрый, потом решил применить анализ всех уникальных плашек на основе множеств и исключить дубликаты, намного шустрее процесс, почти моментальный, но оказалось, что уникальные пикселы имеют все объекты, кроме закрытой и открытой плашки, если не использовать флажки и вопросики, то закрытая плашка имеет уникальные пикселы, а открытая определяется методом исключения, но для работы бота нужна плашка с флажком, поэтому такой метод не подходит. А так как я ранее уже реализовал определение плашек в 1,5 пикселя, вариант с двумя пикселами я конечно тоже реализовал для общего развития, но меня он не очень радует, поэтому я решил реализовать систему автоматического анализа эталонного скриншота на предмет уникальных объектов. Данный метод полностью устраняет ручной перенос полученных координат для дальнейшего использования при работе бота. Получается что система полностью автономна, проверяет вначале наличие уникальных объектов (используются множества) и если их нет, вначале анализирует эталонный файл, формируя список, далее уже занимается анализом поля. При этом 100% определяется любое количество уникальных объектов на поле, если бы их было более 12, универсальная система =)
    з.ы.
    метод +-1 для определения объектов реализовал, но для того, чтобы было, сам метод не используется так как надобности нет и проблем с цветами тоже не наблюдается, но идея интересная, может пригодится когда нибудь.
  • Оценка видео-уроку:
Отчёт от 10558 за Боты Сапёра / БОТ - Сканер минного поля




Оцени работу

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

10494. --
Алексей В.
Алексей В.
ответить
→  Иван Воронин  # Сапёр на C# / БОТ - Сканер минного поля / 2016-10-22 00:10

Отлично, Иван!!!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Воронин  # Сапёр на C# / БОТ - Сканер минного поля / 2016-10-22 12:46

По такой работе можно магистерскую работу писать.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Евгений Волосатов  # Сапёр на C# / БОТ - Сканер минного поля / 2016-10-22 12:50

Спасибо, люблю проводить исследования =)


2146. --
Иван
Иван
ответить
→  Иван Воронин  # Сапёр на C# / БОТ - Сканер минного поля / 2016-10-23 23:09

Здорово как! Вот это подход!


1232. --
Фомичева Наталья
Фомичева Наталья
ответить
→  Иван Воронин  # Сапёр на C# / БОТ - Сканер минного поля / 2016-10-24 07:34

Отлично! Добавить генетические алгоритмы и будет совсем универсальна.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Фомичева Наталья  # Сапёр на C# / БОТ - Сканер минного поля / 2016-10-24 09:16

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



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





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

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

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

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


Научился: Иван Воронин, с чего вы взяли что при передаче BitMap в метод, он делает копию? BitMap - Класс, а у нас стишок есть для этого) Если в куче у нас класс , то структура в стеке. Class-то указатель Struct кладём на стек Хороший стишок придумал)))



Научился: классный урок, функция приближенного сравнения не понадобилась
Трудности: догадаться элементы массива actorsColors поменять местами