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

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

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

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


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




Оцени работу

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

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   6452Lik_Kirill+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#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: пиксельному металлоискателю
Трудности: искать нужные ячейки
хороший урок, узнал много нового. стоящий курс!
Научился: Научился с помощью функций WinAPI определять цвет пикселя в сапера.
Трудности: Самым сложным для меня было найти цвет семерки и восьмерки - до сих пор не нашел.
Нашел цвет следующих объектов: 1 - 255,0,0,255 2 - 255, 0, 128, 0 3 - 255, 0 ,0 , 255 4 - 255, 0,0,128 5 - 255, 128,0,0 6 - 255, 0,128,128 пустая - 255,192,192,192 flag - 255,255,0,0