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

Формула программиста
основатель — Волосатов Евгений Витольдович
Графика + Циклы = Мастерство
Вебинар «Создание прикладных программ на C#» начнётся через 1  день 22 час. 43 мин.

Демо игры / Бот для Быстрощёлка

  • На этом уроке мы повеселимся :)
    Напишем бота для игры из прошлого урока.
    Программа будет сама кликать и ставить сногсшибательные результаты!

    Задание:
    Написать бота для прошлой игры и поставить супер-рекорд!
  • Дата отправки отчёта: 7 марта 2015 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Я научился использовать новые для меня компоненты в интерфейсе программы
  • Что было сложным: После прохождения предыдущих уроков, эта программа особых трудностей не вызвала.
  • Комментарии: Урок мне понравился, замечаний никаких нет.
    При отладке программы столкнулся с некоторыми проблемами.
    Первое: Когда я первый раз запустил программу, она почему-то стала сразу кликать.
    Просмотрев код я не обнаружил логических ошибок. но чтобы убрать этот "баг", в функции make_click() я дописал условие if (button_start.Enabled == false), а уже после DoMouseClick(); После этого программа стала при запуске находиться в режиме ожидания.
    Второе: Не выставив значение кликов и времени я нажал кнопку "Начать кликать" и программа включилась в бесконечном цикле. Тогда в функции button_start_Click(object sender, EventArgs e) я прописал условие чтобы кнопка "Начать кликать" не становилась активной, если значения кликов и времени нулевые  if(track_count.Value != 0 && track_time.Value != 0) {
                start_clicker(); }
    На скриншоте я указал изменения в коде красными стрелками.
    Евгений Витольдович, я правильно сделал или нет?
  • Оценка видео-уроку:
Отчёт от 1305 за Демо игры / Бот для Быстрощёлка




Оцени работу

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

10167. Игорь
Игорь
ответить
→  Евгений Волосатов  # Демо игры / Бот для Быстрощёлка / 2016-05-17 15:44

А есть, свойство формы, которое показывает является ли форма активной в данный момент или нет? можно было бы организовать включение кликанья после первого клика вне формы ботаю


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Валерий  # Мини игры / Бот для Быстрощёлка / 2015-03-07 03:58

Молодец, Валера, хорошая работа, отличный анализ!
По поводу "верно ли" - нет, не верно :)
Лучше всего добавить переменную string mode или bool mode,
значение которой указывает всем функциям в каком режиме находится программа.
Активном (кликанье) или в ожидании. При необходимости можно добавить другие режимы,
например, некоторые ребята делали задержку перед началом кликанья, чтобы успеть переместить мышку в нужное место. Эта задержка и будет ещё одним значением "mode" для задержки.
Но раз работает - то можно пока оставить так. :)



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: работа с таймером, трекбаром
Трудности: Все доступно и подробно.
С помощью гугла доработал - после нажатия кнопки "Старт", определяются координаты окна "Быстрощелка", курсор переводится на середину окна "Быстрощелка", начинаются клики. В "Быстрощелке" заранее надо нажать кнопку "Начать игру"
Научился: На этом уроке я узнал о новом элементе TableLayoutpanel и его настройке, элементе TrackBar. Узнал о новом параметре элемента(-ов) Dock, о новом ключевом слове uint, повторил работу с элементом Timer.
Трудности: Ничего сложного не было, кроме как найти время для программирования. Нормально заниматься удаётся только в свободное от работы время :)
Отличный урок! Проблема, о которой я написал в прошлый раз, заключалась в том, что в самой программе Быстрощёлк были ошибки. В случае при нажатии на кнопку Начать игру вызывалась не та функция. То же самое при щелчках на игровое поле. Из-за невнимательности потерял время. Однако странно, что сразу не увидел проблему, ведь проверял код несколько раз. Данный опыт послужит хорошим уроком!