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

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

Боты Сапёра / БОТ - Пиксельный металлоискатель

  • На этом уроке мы начнём создавать пиксельный металлоискатель.
    По цвету пикселей на экране мы будем восстанавливать значение открытой карты.
    Ваша задача - довести его создание до логического завершения.
  • Дата отправки отчёта: 29 сентября 2016 г.
  • Задание выполнено: за 7 час. 00 мин.
  • Чему научился: Повторение пройденного
  • Что было сложным: найти время
  • Комментарии: Создал в фотошопе иконку для форм и бинарника.
    Добавил метод определения цвета пикселя на экране.
    Метод определения наличия запущенного процесса игры Сапёр вынесен в отдельную функцию (так как надо не только для начала работы, но и для проверки наличия процесса окна игры Сапёр в циклах бота).
    Добавлен метод определения объектов на игровом поле игры Сапёр.
    Добавлен progressBar для визуализации процесса выполнения циклов.
    Внедрена игра Жизнь для демонстрации на игровом поле Сапёра.
    Добавлена кнопка запуска с данными о скорости циклов и времени между ними для игры Жизнь.
    Добавлены trackBars для настройки скорости и времени между циклами игры Жизнь.
    При изменении скорость и времени циклов, информация о текущих значениях отображается на кнопке запуска игры Жизнь.
    Теперь бот заглядывает в меню игры для проверки: установлена возможность ставить Вопросики или нет.
    Если нужно нарисовать картинку, то бот проверяет возможность устанавливать Вопросики, если данная возможность отключена, он её включает.
    Если запущена игра Жизнь, бот проверяет возможность установки Вопросиков, если возможность активна, то он её отключает.
    Если в процессе  анализа и подготовки игрового поля Сапёр, для запуска игры Жизнь, бот находит Вопросики, он их убирает.
    Теперь размеры рисунка относительны размеров игрового поля Сапёр, чтобы ромбик вписывался и был всегда по центру.
    Добавлены textBoxes для сбора данных об игровых объектах на поле Сапёра.
    Добавлена анимация заполнения textBoxes.
    Игра жизнь использует динамическое программирование (не зря выпит литр кофе в своё время).
    з.ы.
    Что меня с подвигло на сие деяние? Пунктик с тремя звёздочками в задании к этому уроку =) Я, понимая, что это тривиальная задача, не мог не решить её, оставалось за малым, найти время, в течении дня несколько раз отвлекался по делам, но всё же успел доделать к концу дня.
  • Видеозапись: https://youtu.be/ODYr6nRgIt4
  • Оценка видео-уроку:
Отчёт от 10558 за Боты Сапёра / БОТ - Пиксельный металлоискатель


Отчёт от 10558 за Боты Сапёра / БОТ - Пиксельный металлоискатель




Оцени работу

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

10558. Иван Воронин
Иван Воронин
ответить
→  Константин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 20:48

интересно, почитаю на досуге =) спасибо


7238. Константин
Константин
ответить
→  Иван Воронин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 18:53

Нашел в своих заметках - https://habrahabr.ru/post/265201/


10558. Иван Воронин
Иван Воронин
ответить

7238. Константин
Константин
ответить
→  Иван Воронин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 18:45

У меня нет слов - супер. Ссылку на статью не напомнишь ?


8959. Максим Саратов
Максим Саратов
ответить

10558. Иван Воронин
Иван Воронин
ответить
→  Сергей Соколов  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 11:18

Спасибо, самому урок понравился и задача внедрения игры Жизнь пришлась в тему =)


10558. Иван Воронин
Иван Воронин
ответить
→  Алексей В.  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 11:16

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


10558. Иван Воронин
Иван Воронин
ответить
→  Евгений Волосатов  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 11:00

на внедрение игры Жизнь ушло 30 минут, остальное время косметика и бегатня


10670. Сергей Соколов
Сергей Соколов
ответить
→  Иван Воронин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 10:35

Круто получилось!!!


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Воронин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 09:14

Однако, на "тривиальную" задачу ушло много часов!


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Воронин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 09:11

Иван, результат просто завораживающий.
Отличная музыка, прекрасный кодинг,
проработаны все этапы управления
программой Minesweeper.
Молодец! Я в шоке.
Культурном.


10494. Алексей В.
Алексей В.
ответить
→  Иван Воронин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-30 02:19

Отлично Иван, когда только успеваешь?


10558. Иван Воронин
Иван Воронин
ответить
→  Владимир Петреченко  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-29 22:57

Это же прекрасно =) рад это слышать


11017. Владимир Петреченко
Владимир Петреченко
ответить
→  Иван Воронин  # Сапёр на C# / VIP. Пиксельный металлоискатель / 2016-09-29 22:57

Ваш отчет мотивирует двигаться дальше в программировании.


  • Отчёт оценивали:
    10390Amerigo+1   10558Иван Воронин+1   11017Владимир Петреченко+1   459Сергей Сергеевич+1   8520Сергей Колупаев+1   3506Алексей|BrisK|Кривицкий+1   10494Алексей В.+1   Посетитель+1   6452Кирилл Шмойлов+1   5649Максим Лапшинов+1   4004Елена+1   7119Новопашин Владимир+1   1Евгений Волосатов+1   4395Денис+1   10670Сергей Соколов+1   10673Алексей Хонин+1   8959Максим Саратов+1   4467Alcatraz+1   4699Сергей Витальевич+1   6644valerys Nikola+1   Посетитель+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Считывать цвета пикселей с экрана монитора
Трудности: Найт небольшую ошибку
Как то не быстро он считывает цвета, если это делать часто, то программа будет откровенно тупить
Научился: "Попадать" по клетккам
Трудности: не отчитаться за урок вчера, а сэкономить на сегодня :)
Остался последний рывок