# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание популярной игры сапёр. Эта игра - отличное урпажнение для начинающего программиста. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: провторение старого Сложности: ничего Комментарии: отличная игра, замечательный курс, позитивное видео, идём дальше... |
|||||
2 | ИГРА - Минная картотека |
1 тест |
|||
На этом уроке мы проанализируем блок-схему проекта подготовим форму для проекта, загрузим все картинки. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: повторил старое Сложности: найти время Комментарии: всё супер, идём дальше |
|||||
3 | ИГРА - Классные мины |
|
|||
На этом уроке мы создадим класс Mines, в котором опишем все необходимые константы и напишем функции Init(), PlaceMines(), PlaceCounter(). Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт] Научился: повторение пройденного Сложности: ничего Комментарии: Отлично, идём дальше |
|||||
4 | ИГРА - Матрица картинок |
1 тест |
|||
На этом уроке мы сделаем вывод картинок на экран. Для этого мы напишем функцию PlaceBox(), которая будет создавать катинки и размещать их на панель. Потом мы создадим матрицу картинок. В конце урока мы сделаем автоматическое изменение картинок при ресайзинге формы. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: динамически размещать панель, а на ней объекты так же Сложности: ничего Комментарии: панель и боксики на панели добавляются динамически добавил метод ресайза при максимайзе формы, при возврате из максимайза обратно ресайз при изменении размера формы происходит в конце ресайза (т.е. тянешь форму, ничего не происходит, отпустил мышь, ресайзунлось) |
|||||
5 | ИГРА - Карта минного поля |
|
|||
На этом уроке мы отобразим минное поле. Для это нам потребуется функция private Bitmap ShowPicture (int number) и private void ShowBox (int x, int y, int number) а также делегаты для их вызова из класса Mines. Отчёт отправил: 10558. Иван Воронин Выполнено за 40 мин. [Показать отчёт] Научился: повторение пройденного Сложности: найти время Комментарии: для отображения данных из map[,] использовал .BackgroundImage, а для top[,] использовал .Image, для этого добавил в ShowBox() доп параметр (соответственно в делегат тоже) и разделил ShowPicture() на ShowMap() и ShowTop() з.ы. ну и все сопутствующие изменения в коде для работоспособности данного метода формирования картинки поля =) всё супер, идём дальше =) |
|||||
6 | ИГРА - Зелёный флаг |
1 тест |
|||
На этом уроке мы сделаем обработку клика правой кнопкой мышки для установки флага. Для этого нам потребуется сохранять и считывать координаты клетки в поле Tag каждого PictureBox. Отчёт отправил: 10558. Иван Воронин Выполнено за 40 мин. [Показать отчёт] Научился: повторение старого Сложности: найти время Комментарии: при клике правой клавишей мыши добавил возможность ставить вопросик если там мина, то открывается взорвавшаяся (на красном фоне) |
|||||
7 | ИГРА - Алгоритмический подход |
1 тест |
|||
На этом уроке мы напишем основную часть алгоритма обработки левой кнопки мышки. Мы разделим эту задачу на несколько вспомогательных функций, которые вы можете реализовать самтостоятельно. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: повторение старого Сложности: найти время Комментарии: добавил метод отображения всех мин, если подорвался на одной |
|||||
8 | ИГРА - Бомбовые алгоритмы |
1 тест |
|||
На этом уроке мы допишем остальные функции и поиграем в созданную игру. Вам останется довести программу до ума, сделать сообщение об окончании игры и все остальные элементы игры, по желанию и по фантазии. Отчёт отправил: 10558. Иван Воронин Выполнено за 4 час. 00 мин. [Показать отчёт] Научился: повторение старого Сложности: ничего Комментарии: заменил gameOver на gamePhase, так как 3 игровых фазы и bool было маловато неверно проставленные флажки превращаются в ложные мины (перечёркнутые) при подрыве на настоящей в тайтле приложения после начала игры отображается статистика: сколько осталось открыть безопасных клеток до победы и сколько осталось флажков, если флажки кончились, вместо них ставятся только вопросики (если флажки ещё есть, можно перебирать вопросик или флажок) добавил сообщение о победе/проигрыше, после чего игра начинается с нуля рефакторинг кода (повторяющиеся действия вынес в общий метод/функцию) |
|||||
9 | ТРЕТЬФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Поздравляю с завершением курса по созданию игры Сапёр. Однако создание игры на этом ещё не закончено. Твоя задача - придумать, что ещё можно/нужно добавить в игру и реализовать это. Запиши видеообзор своей игры и расскажи, что ты добавил в неё самостоятельно. Отчёт отправил: 10558. Иван Воронин Выполнено за 24 час. 00 мин. [Показать отчёт] Научился: закрепил полученные ранее знания Сложности: перестать добавлять фишки (идеи ещё есть) ну и найти время на всё это =) Комментарии: Список нововведений относительно базовой версии из курса “Сапёр на C#”: Как обычно создал уникальную иконку для бинарника и форм. Нарисовал текстуры в цветовой палитре ZX Spectrum. Добавлена возможность выбора сложности игры. При выборе сложности, динамически изменяется размер поля. Отображается галочка напротив выбранной сложности. Добавлены ограничения по количеству мин относительно размеров поля. Ограничение клеток по высоте и ширине, для удобства восприятия. Добавлена форма настроек “Особой...” игры. Количество мин трёхзначное. Ограничение по минимальной высоте и ширине поля в зависимости от размера поля. Добавлена форма отображения “Чемпионов” и соответствующий пункт меню. Добавлен счётчик игрового времени независимый для каждой сложности. “Чемпионы” хранятся в отдельном файле. Добавлена система сохранения текущей игры в соответствующий файл. Если при выборе сложности найдено сохранение для неё, то загружается карта поля и можно продолжить игру, если же файл не найден, повреждён или параметры отличаются от выбранных, файл удаляется, а игровое поле генерируется с нуля. Добавлена возможность сохранять текущие параметры игры. При закрытии и открытии игра запускается с последними выбранными параметрами и загружает сохранение игры если оно найдено и корректно. В начале игры или при загрузке сохранения игра становится на паузу до первого клика, в тайтле отображается текущее время, потраченное на данную карту. Как только игра закончена (победили/проиграли), то сохранение текущей игры удаляется. Добавлена форма ввода “Имени рекордсмена” для сохранения в списке “Чемпионов”. Добавлена поддержка формата mp3. Добавлены 4 мелодии формата ZX Spectrum с оригинальных дискет для окна «О игре». При открытии окна «О игре», треки чередуются по очереди (музыка играет по кругу пока не закрыть окно, при этом сама игра становится на паузу, таким образом можно подумать над очередным ходом под ностальгические мелодии). Добавлены звуки: тиканье таймера и взрыв бомбы. В папке “data” файлы расположены по типу: “save” и “sound”. Если побит рекорд, открывается окно ввода “Имени рекордсмена”, после чего открывается список “Чемпионов”. Оптимизирован размер сохранений игры (теперь они весят в 4 раза меньше). Добавлено отображение версии и билда игры в окне «О игре». Видеообзор: https://youtu.be/gzJXIH3nWLU |
|||||
10 | ИИ - Как пройти игру |
1 тест |
|||
Мы начинаем создание Искусственного Интеллекта для игры Сапёр, для чего нам потребуется несколько этапов. 1. Описание и понимание идеи алгоритма. 2. Ручная проработка алгоритма на практике. 3. Создание класса для логики ИИ. 4. Внедрение его в наш проект для тестирования. 5. Создание бота для чужой игры Сапёр. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: повторение пройденного материала Сложности: найти время Комментарии: по поводу внутри игрового алгоритма: пробегать по всему полю в поиске цифр, если нашли клетку с цифрой, то считаем сколько вокруг неё флажков и не открытых клеток, потом отнимаем от этой цифры количество флажков и если это равно 0, то кликаем по цифре, если же не равно 0, смотрим сравниваем полученное число с количеством не открытых клеток, если оно совпало, то ставим флажки на неоткрытых клетках вокруг цифры и так до тех пор, пока не кончатся клетки для обработки подобным образом. по поводу считывания данных с чужого сапёра, вариантов несколько, самый простой это анализ клеток поля по цвету который присутствует в них. обычно в сапёрах цифры разноцветные, если же такой способ сложен, можно использовать матрицы пикселов для сравнения типо топологии клеток, подобный способ проблем обычно не имеет, есть ещё один способ, написать хук код, чтобы внедрится в код приложения и получить доступ к массиву данных а там уже дело техники =) |
|||||
11 | ИИ - Очевидные шаги |
1 тест |
|||
На этом уроке мы отработаем базовый, самый очевидный алгоритм разминирования, который основан на открытии очевидных клеток. Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: закрепление пройденного материала Сложности: ничего Комментарии: вроде больше нет 100%, проверил несколько раз =) з.ы. в углу единичка, это я по углам кликал, пока не наткнулся на угол, в котором открылось больше клеток и подходил очевидный алгоритм |
|||||
12 | ИИ - Пересечение множеств |
|
|||
На этом уроке у нас будет матчасть, логика ИИ. Мы решим задачу с пересекающимися множествами через систему неравенств. Узнаем, в каком случае может быть единственный ответ, и как его просчитать простой формулой, чтобы разделить два пересекающихся множества на три непересекающихся. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: поиску мин путём пересекающихся множеств Сложности: найти время Комментарии: на втором скриншоте прошёл Любителя, из прошлого урока, данным методом =) |
|||||
13 | ИИ - Класс группы |
|
|||
На этом уроке мы начнём создание проекта логики бота сапёра. Мы создадим структуру с координатами клеток и опишем поля и методы класса Group, в котором будут храниться логические группы минного поля. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: закрепление пройденного материала Сложности: ничего Комментарии: назвал табуляторы ячейками, а вместо SortedSet использовал HashSet, идём дальше |
|||||
14 | ИИ - Элементарные алгоритмы |
|
|||
На этом уроке мы реализуем два элементарных алгоритма определения пустых клеток и клеток с минами, а также проверим, как это работает. Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт] Научился: закрепил пройденный материал Сложности: ничего Комментарии: отличное начало реализации помощника для игры "Сапёр" =) идём дальше |
|||||
15 | ИИ - Жучкин алгоритм |
1 тест |
|||
На этом уроке мы внедрим наш элементарный алгоритм в рабочую программу и создадим кнопочку, по нажатию которой будут отмечаться все явные мины и пустые клетки. Минут 15 в уроке ушло на поиск ошибки. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: повторил пройденный материал Сложности: ничего Комментарии: При переключении между режимами игры, пауза не ставится, если была найдено и успешно загружено сохранение. При активации паузы через окно "О игре" игры переносится в режим "Особые...", в этом режиме уже не попасть в таблицу Чемпионов. Добавлена логика игры для реализации "Подсказки" - аналогия Бота, который открывает и помечает поле если уверен на 100% Активация "Подсказки" осуществляется через пункт меню: "Справка - Подсказка", либо нажатием на горячую клавишу: F9 Видеообзор: https://youtu.be/pgH9ZwDKS64 |
|||||
16 | ИИ - Вспомнить всё |
|
|||
На этом уроке мы вспомним и повторим, что было на прошлых уроках. Для чего нужен класс Group и как он используется для поиска мин на карте. В этом уроке мы почти ничего писать не будем, просто освежим всё в памяти. Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт] Научился: повторение пройденного Сложности: найти время Комментарии: Очень интересный курс, спасибо за продолжение =) |
|||||
17 | ИИ - Операции со множествами |
5 тестов |
|||
На этом уроке мы напишем основные методы для работы со множествами: сравнение, пересечение и вычитание множеств. Отчёт отправил: 10558. Иван Воронин Выполнено за 45 мин. [Показать отчёт] Научился: повторение пройденного Сложности: ничего Комментарии: отличная идея реализовать данный алгоритм вручную для наглядности, а реализовать при помощи методов HashSet можно будет потом, как домашнее задание =) |
|||||
18 | ИИ - Множественное тестирование |
|
|||
На этом уроке мы проведём тестирование созданных методов операций над множествами. Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт] Научился: повторение пройденного Сложности: ничего Комментарии: Данное тестирование выявило ошибки при копипасте, при спешке такое бывает =) |
|||||
19 | ИИ - Ботовый алгоритм InterMines |
1 тест |
|||
На этом уроке мы наконец-таки напишем код алгоритма, о котором мы так много говорили в предыдущих уроках. Отчёт отправил: 10558. Иван Воронин Выполнено за 40 мин. [Показать отчёт] Научился: повторение пройденного Сложности: ничего Комментарии: отличный урок, так же добавил проверку в виде всплывающего окошка, где для наглядности отобразил итоговое содержимое групп A, B и C. |
|||||
20 | ИИ - Открыть всё! |
|
|||
На этом уроке мы перепишем по новому алгоритм открытия всех клеток с использованием класса Group. Ура! Открываемость минного поля значительно возросла! Это успех :) Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 40 мин. [Показать отчёт] Научился: повторение пройденного Сложности: ничего Комментарии: Добавил проверку первого клика перед сохранением игры (чтобы не сохранялись пустые поля). Обновлено условие проверки "побит рекорд или нет". Обновлена система генерации окна поздравления с Рекордом в текущей сложности. В тайтле помимо названия игры и текущего времени игры, теперь отображается текущая сложность. Старый алгоритм сохранил в функции: StartBot1() и деативировал. Новый алгоритм бота добавлен в функции: StartBot2() и активирован. Проверка победы/проигрыша добавлена после завершения работы бота (ранее проверка была в процессе его работы). |
|||||
21 | ВТОРОЙ ТРЕТЬФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с завершением создания Искуственного Интеллекта для решения Сапёра! Ты молодец, написал искуственный интеллект, и круто прокачал навыки алгоритмического мышления, которое так важно для программиста, молодец! Запиши видеообзор созданного бота и своей программы. Впереди внедрение ИИ Бота для сторонней игры. Отчёт отправил: 10558. Иван Воронин Выполнено за 3 час. 00 мин. [Показать отчёт] Научился: замедлять процесс работы циклов при этом чтобы видна была текущая стадия каждой итерации =) Сложности: ничего Комментарии: При открытии окна "О игре" теперь чередуются 3 трека (“about3.mp3” переименовал в “bot.mp3”, а “about4.mp3” соответственно в “about3.mp3”). “bot.mp3” добавлен как мелодия(индикатор) работы бота. Теперь во время работы бота видно, как он открывает поле и ставит/снимает флажки. з.ы. самый прикольный момент это установка/снятие флажков, как будто бот не уверен в этом, имитация ИИ, не стал убирать у него эту “не уверенность”, выглядит как фишка =) Видеообзор: https://youtu.be/FAFi9MG_SrQ |
|||||
22 | БОТ - Отмычка сапёра |
4 теста |
|||
На этом уроке мы начнём создавать настоящего бота, который будет проходить сапёра из Windows XP. Мы найдём указатель на программу, вычислим координаты окна игры, запрограммируем несколько щелчков мышкой по ней. Для работы нам потребуется именно XP версия сапёра, её можно скачать здесь: www.videosharp.info/data/docs/winmine.exe. Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 15 мин. [Показать отчёт] Научился: рисовать флажками и вопросиками пиксель-арт на поле Сапёра =) Сложности: найти время Комментарии: Отличный урок, намного интереснее писать кликер на C#, чем на ActionScript, хотя на нём много чего удобно делать =) |
|||||
23 | БОТ - Пиксельный металлоискатель |
4 теста |
|||
На этом уроке мы начнём создавать пиксельный металлоискатель. По цвету пикселей на экране мы будем восстанавливать значение открытой карты. Ваша задача - довести его создание до логического завершения. Отчёт отправил: 10558. Иван Воронин Выполнено за 7 час. 00 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Создал в фотошопе иконку для форм и бинарника. Добавил метод определения цвета пикселя на экране. Метод определения наличия запущенного процесса игры Сапёр вынесен в отдельную функцию (так как надо не только для начала работы, но и для проверки наличия процесса окна игры Сапёр в циклах бота). Добавлен метод определения объектов на игровом поле игры Сапёр. Добавлен progressBar для визуализации процесса выполнения циклов. Внедрена игра Жизнь для демонстрации на игровом поле Сапёра. Добавлена кнопка запуска с данными о скорости циклов и времени между ними для игры Жизнь. Добавлены trackBars для настройки скорости и времени между циклами игры Жизнь. При изменении скорость и времени циклов, информация о текущих значениях отображается на кнопке запуска игры Жизнь. Теперь бот заглядывает в меню игры для проверки: установлена возможность ставить Вопросики или нет. Если нужно нарисовать картинку, то бот проверяет возможность устанавливать Вопросики, если данная возможность отключена, он её включает. Если запущена игра Жизнь, бот проверяет возможность установки Вопросиков, если возможность активна, то он её отключает. Если в процессе анализа и подготовки игрового поля Сапёр, для запуска игры Жизнь, бот находит Вопросики, он их убирает. Теперь размеры рисунка относительны размеров игрового поля Сапёр, чтобы ромбик вписывался и был всегда по центру. Добавлены textBoxes для сбора данных об игровых объектах на поле Сапёра. Добавлена анимация заполнения textBoxes. Игра жизнь использует динамическое программирование (не зря выпит литр кофе в своё время). з.ы. Что меня с подвигло на сие деяние? Пунктик с тремя звёздочками в задании к этому уроку =) Я, понимая, что это тривиальная задача, не мог не решить её, оставалось за малым, найти время, в течении дня несколько раз отвлекался по делам, но всё же успел доделать к концу дня. Видеообзор: https://youtu.be/ODYr6nRgIt4 |
|||||
24 | БОТ - Совместное фото |
|
|||
Считывание пикселя с экрана работает крайне медленно. Вместо этого было решено сделать скриншот всей программы. Чтобы дальнейшую обработку производить напрямую, а не через медленные вызовы WinAPI методов. Цель урока - создание "Совместного фото", на котором будут все возможные варианты клеток в игре. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: делать скриншот выделенной области на экране Сложности: найти время Комментарии: Новичок: 00:00:00.0103542 - Создание и сохранение скриншота окна процесса. 00:00:00.0343467 - Создание скриншота рабочего стола. 00:00:00.4376924 - Анализ игрового поля по скриншоту. 00:00:03.0741300 - Анализ игрового поля используя функцию GetPixel() библиотеки gdi32.dll. Любитель: 00:00:00.0138548 - Создание и сохранение скриншота окна процесса. 00:00:00.0316497 - Создание скриншота рабочего стола. 00:00:01.5693508 - Анализ игрового поля по скриншоту. 00:00:10.0371520 - Анализ игрового поля используя функцию GetPixel() библиотеки gdi32.dll. Профессионал: 00:00:00.0149438 - Создание и сохранение скриншота окна процесса. 00:00:00.0336072 - Создание скриншота рабочего стола. 00:00:02.9528080 - Анализ игрового поля по скриншоту. 00:00:19.7216873 - Анализ игрового поля используя функцию GetPixel() библиотеки gdi32.dll. |
|||||
25 | БОТ - Гадание по фото |
|
|||
На этом уроке мы проанализируем созданную фотографию, на предмет определения координат пикселей, по цвету которых можно будет однозначно определить значение в клетке сапёра. Отчёт отправил: 10558. Иван Воронин Выполнено за 12 час. 00 мин. [Показать отчёт] Научился: анализировать графические файлы Сложности: найти время и остановиться оптимизировать Комментарии: Отличный урок, вебинар ещё круче, как видно из скриншотов, с правой стороны проанализировано поле из графического файла (справа от окна приложения отобразил его для наглядности), а в правом окне приложения отобразились все комбинации координат (пока без вопросика, если идея по доработке алгоритма сравнения, пока чтобы не тратить время, сделал базовый). з.ы. Добавил функционал автоматического поиска уникальных объектов на поле (в графическом файле). |
|||||
26 | БОТ - Сканер минного поля |
|
|||
На этом уроке мы применим результаты анализа в полевых условиях на запущенном минёре. Сформируем карту по скриншоту минёра. Отчёт отправил: 10558. Иван Воронин Выполнено за 24 час. 00 мин. [Показать отчёт] Научился: Повторил множества, MD5, массивы, матрицы, работу с графикой, файлами... Сложности: найти время Комментарии: Начал исследования уже давно, но именно по поиску объектов по одному пикселю с 18 числа 7 утра, на уроке использовался слишком простой алгоритм, я вначале применил рекурсию, чтобы перебрать все комбинации пикселей, процесс не быстрый, потом решил применить анализ всех уникальных плашек на основе множеств и исключить дубликаты, намного шустрее процесс, почти моментальный, но оказалось, что уникальные пикселы имеют все объекты, кроме закрытой и открытой плашки, если не использовать флажки и вопросики, то закрытая плашка имеет уникальные пикселы, а открытая определяется методом исключения, но для работы бота нужна плашка с флажком, поэтому такой метод не подходит. А так как я ранее уже реализовал определение плашек в 1,5 пикселя, вариант с двумя пикселами я конечно тоже реализовал для общего развития, но меня он не очень радует, поэтому я решил реализовать систему автоматического анализа эталонного скриншота на предмет уникальных объектов. Данный метод полностью устраняет ручной перенос полученных координат для дальнейшего использования при работе бота. Получается что система полностью автономна, проверяет вначале наличие уникальных объектов (используются множества) и если их нет, вначале анализирует эталонный файл, формируя список, далее уже занимается анализом поля. При этом 100% определяется любое количество уникальных объектов на поле, если бы их было более 12, универсальная система =) з.ы. метод +-1 для определения объектов реализовал, но для того, чтобы было, сам метод не используется так как надобности нет и проблем с цветами тоже не наблюдается, но идея интересная, может пригодится когда нибудь. |
|||||
27 | БОТ - Выход на финишную прямую |
1 тест |
|||
На этом уроке мы проверим функциональность частей, которые нам нужно объединить. Доработаем функцию doMouseClick() чтобы она умела открывать клетки и ставить флажки по указанным координатам клеток. Посмотрим, что необходимо переносить из предыдущего проекта. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Закрепление полученного ранее Сложности: найти время Комментарии: Перенёс необходимые файлы в проект из игры сапёра, подготовился к след уроку =) з.ы. как видно из скриншота, теперь отображается последний используемый скриншот, необходимый как точка отсчёта для действий. В данном случае отображает то, что было до последних телодвижений БОТа. |
|||||
28 | БОТ - Неуправляемый Интеллект |
|
|||
На этом уроке мы внесём все необходимые изменения и запустим алгоритм. К сожалению, он зациклился, в результате чего пришлось выходить из системы. Но первый результат обнадёживает - клики Анализатор делал верные. Отчёт отправил: 10558. Иван Воронин Выполнено за 40 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Адаптировал алгоритм бота, проблема зацикливания бота была решена очень давно, поэтому с ней не столкнулся. При запуске любой задачи окно игры сапёра становится вначале активным, если оно свёрнуто, разворачивается и только потом идёт работа с ним. |
|||||
29 | БОТ - Всё открыто! |
|
|||
На этом уроке мы завершим создание бота и откроем все клетки минного поля с помощью нашего алгоритма. Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Добавил проигрывание мелодии во время работы бота =) Остальные фишки работают априори, так как реализованы ранее (анимация движения курсора и т.д.) всё покажу в видео-обзоре =) |
|||||
30 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю! Ты одолел Боты Минёра. Теперь ты заслуженный Минёр. Запиши видеообзор своих программ. Какой видеокурс ты будешь проходить следующим? Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Ничему новому Сложности: найти время Комментарии: Добавил интерактивную легенду найденных уникальных объектов игрового поля при парсинге эталонного скриншота. остальные нововведения, которые добавлялись в процессе разработок на каждом уроке см. видео =) з.ы. плюс недокументированные изменения и оптимизации. Видеообзор: https://youtu.be/e7GKl7HkZYM |
|||||
31 | VIP - Хакерский подход |
|
|||
На этом уроке мы напишем хакерскую программу для вскрытия Сапёрного поля.
Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 00 мин. [Показать отчёт] Научился: Работать с процессом напрямую через память Сложности: найти время Комментарии: Замечательное завершение не менее замечательного курса, спасибо огромное. Видеообзор: https://youtu.be/iGEqLHpzo4c |
|||||
32 | VIP - Жизнь у Сапёра |
|
|||
Напишите Игру жизнь. Отобразите её на поле игры "Сапёр". Для переключения клеток используйте клики ПКМ по клеткам. Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 00 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Потраченное время в основном ушло на создание, подготовку и обработку видео в редакторе, так как что игру Жизнь, что Жизнь на поле Сапёра реализовал ранее. Видеообзор: https://youtu.be/Ut6wtKaxltQ |
|||||
Итого: 32 видеоурока |
10 час. 56 мин. 24 теста |
7 чел. | |||
Финалисты: Иван Воронин, Кирилл Шмойлов, Tekashnik, Yefim, Максим Лапшинов, MaxB, Алексей В. . |