# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Описание игры Небоскребы, для которой мы будем создавать систему автоматического управления сайтом, или проще - веббота на языке C#. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился выкладывать товар , доставлять на лифте людей, строить этажи Сложности: Ничего. Комментарии: Игра нудятская - постоянно кликать нужно- поэтому много времени не стал ей уделять. |
|||||
2 | Планирование функций |
|
|||
Напишем список функций, проанализируем какой необходим алгоритм для будущего Робота Нарисуем блок-схему. Вопрос: Какие ещё функции нужно добавить в список? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 17 мин. [Показать отчёт] Научился: Научился планировать функции для webbot Сложности: Ничего такого сложного - просто перепроверял в игре, что не упустил главное. Комментарии: Заметил, что не было функций создания новых этажей - но я тоже бы это выделил в отдельную функцию как и лабиринты - это не слишком рутинная операция. P.S. Можно снять ограничение на скриншоты в 2 мегабайта, а то у меня 2,07 мгб и из-за этого пришлось дополнительно обрабатывать файлы |
|||||
3 | Подготовка формы |
|
|||
Создадим первую форму и начнем её заполнять необходимыми элементами. Задание: Написать метод изменения страницы браузера из адресной строки Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 11 мин. [Показать отчёт] Научился: Научился пользоваться объектом Webbrowser Сложности: Сделать 6 задание - не буду подсказывать новичкам - но я не тем событием воспользовался для адресной строки. Комментарии: Где можно достать иконку, которую автор курса использовал в этом уроке? |
|||||
4 | Проверяем авторизацию |
|
|||
Добавим проверку авторизации. Допишем, если авторизации нет, то переходить на страницу авторизации Задание: Добавить кнопку Авторизация. Написать метод проверки авторизации Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 07 мин. [Показать отчёт] Научился: Научился проверять авторизован я в игре или нет. Сложности: Да особо ничего. Комментарии: Мне кажутся эти кнопки проверки авторизации и авторизации излишними - это как костыли, чем-то задним чувствую от них прийдется избавиться. |
|||||
5 | Авторизация |
|
|||
1. Создаем метод проверки авторизации возвращающий логическое значение (True / False) 2. Пишем авторизацию с заполнением полей Задание: Приложить скрин со скрытым паролем. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 47 мин. [Показать отчёт] Научился: Научился авторизовываться на сайте игры Сложности: Я слишком часто заходил и выходил с программы и сейчас вынужден создать новый логин и пароль, чтобы двигаться дальше Комментарии: Очень интересно попробывать первые функции работы с браузером |
|||||
6 | Робот приступает к действиям |
|
|||
1. Разбираем действия "Собрать выручку" 2. Переходим на Собирание выручки 3. Получаем первую ссылку на сбор выручки 4. Кликаем по ссылке(переходим по ней) 5. Тоже самое проделываем с "Выложить товар" Задание: Написать список ссылок, для перехода на другие функции Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 13 мин. [Показать отчёт] Научился: Научился собирать выручку в игре и выкладывать товар Сложности: Да ничего особенного - вроде все понятно. Комментарии: Как то не комильфо на кнопочку кликать. Нужно некую задержку сделать в цикле, чтобы с задержкой выкладывать товар и собирать выручку и чтобы в одном цикле, а не выходить return. Может я излишне придираюсь и бегу вперед паровоза - скажу одно - очень понятно сделано и я в восторге. Недостающие функции: http://nebo.mobi/floors/0/3 - Закупить товар http://nebo.mobi/lift - задания на лифт http://nebo.mobi/quests - мои задания http://nebo.mobi/humans - работа с жителями |
|||||
7 | Робот ходит за покупками |
|
|||
1. Разбираем закупку 2. Пишем метод перехода на Закупить 3. Дописываем условие для "Закупить товар" 4. Объединяем три метода в один Задание: При смене метода изменять название кнопки Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 57 мин. [Показать отчёт] Научился: Научился закупать товар и произвел небольшой рефакторинг кода. Сложности: Да особо ничего. Комментарии: Бот обретает новый функционал |
|||||
8 | Лифтёра вызывали? |
|
|||
1. Пишем метод поднятия на лифте 2. Пишем метод выполнения заданий Вопрос: что нужно добавить и где, чтобы выполнялись не более 7 заданий? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 11 мин. [Показать отчёт] Научился: Научился поднимать лифт и выполнять задания с помощью единой функции. Сложности: Все было просто - хотел придраться, но не могу - все толково объяснено. Комментарии: Что-то вот думаю - зачем все эти лишние кнопочки, которые дублируют кнопку сделать. С моей точки зрения они лишние. Насчет последнего задания мне кажется нужно создать некую переменную - которая будет с браузера считывать сколько заданий выполнено за день (там эта цифра есть) - а дальше смотрим - когда приходит на выполнение данная переменная mode и количество выполеннных заданий больше 7, то ставим в цикле continue. |
|||||
9 | Сегодня выполняем |
|
|||
1. Ставим проверку на то, сколько заданий выполнено 2. Пишем метод определения выполненных заданий Вопрос: как сделать перечисление методов, чтобы избавиться от строки? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 4 час. 14 мин. [Показать отчёт] Научился: Научился устанавливать предел выполенных заданий с помощью функции NeedQuests. Сложности: Ничего. Комментарии: Избавиться от строковой переменной можно с помощью переменной enum в которой мы указываем состояния робота. |
|||||
10 | Работа - работа, перейди на Федота, а с Федота... |
|
|||
1. Пишем отдельный метод Rabota 2. Добавляем таймер 3. Проверяем работу Робота Вопрос: как определить что страница уже загрузилась? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 54 мин. [Показать отчёт] Научился: Научился автоматизировать робот и работать с компонентом timer. Сложности: Урок сделан толково - ничего не было сложным. Комментарии: Чтобы определить , что страница загрузилась, нужно искать закрытие тега </html> |
|||||
11 | Лабиринт Минотавра |
|
|||
На уроке мы напишем метод открывания случайной двери Вопрос: какие нужны проверки для корректной работы метода? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: Создал отдельный метод для открывания дверей и зарабатывания бонусов Сложности: Да ничего особенного. Комментарии: У меня уже все ключи кончились. И главное вот что обидно - робот отработал и открыл 10 дверей, но вот выигрыш я не забрал - хотя бы такая проверка точно нужна. |
|||||
12 | Лабиринт Минотавра и нить Ариадны |
|
|||
Напишем метод определение текущей двери и метод определения текущего количества ключей. Задание: добавить два текстовых поля и вывести информацию с количеством ключей и номеру текущей двери в соответствующие текстовые поля. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 57 мин. [Показать отчёт] Научился: Научился определять номер текущей двери и нужны ли ключи. Сложности: Да вот думаю, что же было самым сложным. Я бы не называл это самым сложным - просто пришлось немного подумать- когда искал количество ключей. Комментарии: С моей точки зрения нужно более комплексную функцию писать для оставшихся ключей. Во всяком случае у меня нет волшебной записи "Что ключей не хватает". Хотя из скрина видно, что дверь 2, а ключей осталось 4. 4+2=6 - это меньше 10. |
|||||
13 | Уборка помещений |
|
|||
1. Пишем метод подсчета ключей 2. Создаем новый класс BrowserClass 3. Переносим все методы внутрь Вопрос: где должна располагаться переменная перечисления mode? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 59 мин. [Показать отчёт] Научился: Научился приводить код в порядок и убирать однотипные функции в отдельный класс. Сложности: Не нашел такого. Комментарии: Ура! Навели порядок в коде. С моей точки зрения переменная mode должна быть в форме. Ведь именно в форме она меняет значение. |
|||||
14 | Цикличность бытия |
|
|||
1. Пишем метод NextStep() 2. Пишем метод проверки, нужен ли цикл Вопрос: в какое время нужно программно останавливать работу таймера? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 11 мин. [Показать отчёт] Научился: Научился гонять задания робота по циклу Сложности: Просто как 5 копеек. Комментарии: Я бы остановил цикл скажем после 2-3 минут холостых ожиданий- потом через полчасика снова включил. P.S. Робот воспитывается. Пока требуется участие человека - я бы его назвал автоматом Калашникова или если быть политкорректным автомат Шмойлова. Скоро вырастет настоящим мужчиной. |
|||||
15 | Сколько времени? |
|
|||
1. Добавляем настройки запуска робота 2. Добавляем информацию о времени запуска Вопрос: Как и в какое место нужно установить обновление страницы в браузере, чтобы получить свежие данные по необходимости повтора цикла? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: Научился создавать рандомный таймер и выводить его показатели в элемент Label на форму. Сложности: Нет такого. Кстати вот что заметил, даже если Кирилл делает какое-то действие и по его мнению не все пользователи поймут - он еще раз разжует этот момент - с моей точки зрения это ценно. Комментарии: Я бы вообще прочитал бы данные на главной страницы, где есть задания - там есть закупки, выкладки , сбор выручки и прочее. У них можно заметить есть количество часов, минут или минут и секунд. Так вот по минимальному значению из этих я бы запускал таймер - чтобы не гонять его лишний раз вхолостую. В какое место - на форме в событие таймера. |
|||||
16 | Настройки меняют настроение |
|
|||
Добавить настройки по выполнению методов, на их основе перепишем метод получения следующего шага Вопрос: напишите варианты хранения настроек программы (минимум один вариант) Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 26 мин. [Показать отчёт] Научился: Научился создавать настройки работы цикла. Сложности: Вроде все просто. Комментарии: Можно по разному хранить настройки - можно в текстовом файле , типа ini в виде <настройка> : <значение> , а можно серилизовать настройки в xml или бинарный файл и потом читать посредством десериализации. |
|||||
17 | С настройками всё в порядке! |
|
|||
Изучаем настройки VisualStudio, заполним значения и попробуем сохранять и получать данные из настроек. А так же наконец-то добавим Авторизацию в наш цикл и сделаем чтобы всё это крутилось и работало! Задание: сделать так, чтобы работало прохождение Лабиринта. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 31 мин. [Показать отчёт] Научился: Научился по вижуалстудивски сохранять настройки приложения. Сложности: Был не внимательный при авторизации - оказывается в оба поля изначально подставлял логин - выяснилось уже когда начал использовать настройки. Комментарии: Я вот не пойму как реализовать метод лабиринта - по идее он же отдельный метод. Нужно некую галочку в настройки вывести, чтобы его там "дёргать". |
|||||
18 | Жители. Выбираем гостиницу |
|
|||
Ищем Гостиницу и попробуем в нее заходить. Задание: провести анализ жителей Гостиницы. Определить какие жители нужны, а каких необходимо выгонять Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 08 мин. [Показать отчёт] Научился: Научился работать с жителями. Принимать-уволнять, заселять и выселять. Сложности: Не надо было жителей выселять из гостиницы - теперь приходится искать на бирже труда работников за баксы. Комментарии: Я заметил такую вещи. Когда работает лифт ,то в это время какие-то работники принимаются на работу. Вообщем я уволил всех людей с кислым и мрачными рожами - ибо в моем городе должны работать счастливые люди. Ну как выяснилось не всегда удается счастливых людей устроить на все места часто бывают нужны люди с кислым лицом (среднее) - мрачных я погнал поганой метлой. |
|||||
19 | Жители. Кто следующий? |
|
|||
Рассмотрим жителей, начнем разбирать жителей из Гостиницы и методом перебора будем выбирать тех жителей, с которыми мы будем работать Задание: написать метод выселения жителя Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 30 мин. [Показать отчёт] Научился: Научился оставлять полезных людей в своей гостинице Сложности: Нет - все достаточно было разжевно - грех придираться в отношении сложности. Комментарии: Вчера в ручном режиме разбирался с жителями. В результате всех с кислыми и постными лицами уволил безо всякой жалости. Оставил людей, с плюсами и с девятками , либо счастливых на своем рабочем месте. Функцию выселения людей из гостиницы написал. |
|||||
20 | Жители. Кто хочет сегодня поработать? |
|
|||
Напишем три метода: "выселения жителя", "Найти работу", "Устроить на работу". Задание: красиво и удобно разместить на форме элементы Отчёт отправил: 7119. Новопашин Владимир Выполнено за 47 мин. [Показать отчёт] Научился: Научился устраивать человека на работу. Сложности: Все было просто. Комментарии: Элементы разместил. Кстати эта программа очень полезная. У меня сейчас есть проблема - я иной раз через городские группы в контакты , где более 10000 пользователей продаю всякие не нужные вещи - проще говоря барахло, иной раз просто так отдаю. Выглядит так - я захожу в эту группу и создаю пост , либо есть кнопочка предложить новость. Дальше создаю сообщение - туда вставляю текст и прикрепляю фотки (на фотки люди охотнее реагируют). Так вот таких групп у меня больше 10 и меня достало каждый раз делать одно и тоже. Кроме того - мне надо несколько раз в сутки подавать объявление. Так что я нашел решение своему горю. Кстати видимо и для авиты тоже сработает. |
|||||
21 | Жители. Кто не работает - то не ест! |
|
|||
Пишем метод Увольнения сотрудника Проверяем всю логику программы, подводим итоги. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 07 мин. [Показать отчёт] Научился: Научился уволнять не эффективных сотрудников и принимать более эффективных. Сложности: Не к чему придраться. Комментарии: У меня еще возникла одна идея - есть ресурс puzzle-english.com - мне очень нравится, но удобнее заниматься со скаченными на мой компьютер видео. Вот еще один робот сделаю, после робота объявлений. |
|||||
22 | ФИНАЛЬНЫЙ УРОК |
|
|||
Задание. Записать видеообзор любой своей программы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 00 мин. [Показать отчёт] Научился: Научился записывать видео для youtuba - супер - первые раз делаю. Сумбурно получилось. https://youtu.be/UrORzp0Rmoo - вот ссылка на отзыв. Сложности: У меня микрфон барахралил - все время тихо говорил. Вот самое сложное было найти через группы в контакте микрофон у незнакомых людей за вкусняшку. Комментарии: Это было круто. Спасибо авторам за курс. Видеообзор: https://youtu.be/UrORzp0Rmoo |
|||||
23 | VIP. Формирование цикла |
|
|||
Формируем супер-цикл Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 28 мин. [Показать отчёт] Научился: Научился создавать самостоятельные циклы для работы программы. Сложности: Выделить время в конце вечера на этот урок. Комментарии: У меня в этой игре возникла насущная потребность чистки "лишних" людей. Выглядит это так - во время работы лифта ко мне иногда подселяются в гостиницу или устраиваются на работу юниты для которых нужна чистка (без (+) и ниже 9). Нужно будет мне на мою формочку такую кнопку вывести. Еще я не понял, как сохранять настройки в системе? |
|||||
Итого: 23 видеоурока |
9 час. 25 мин. |
10 чел. | |||
Финалисты: Новопашин Владимир, Tekashnik, Alcatraz, Дмитрий 199, Максим Лапшинов, Ludmila, Антон, Роман, Константин, Слава . |