# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание популярной игры сапёр. Эта игра - отличное урпажнение для начинающего программиста. Отчёт отправил: 429. Максим Базуев Выполнено за 22 мин. [Показать отчёт] Научился: Узнал что можно ещё на циферки нажимать Сложности: Ничего |
|||||
2 | ИГРА - Минная картотека |
1 тест |
|||
На этом уроке мы проанализируем блок-схему проекта подготовим форму для проекта, загрузим все картинки. Отчёт отправил: 429. Максим Базуев Выполнено за 4 мин. [Показать отчёт] Научился: Нудное рисование блок-схему. пишу сапёр уже раз 5 Сложности: Рисовать блоксхему |
|||||
3 | ИГРА - Классные мины |
|
|||
На этом уроке мы создадим класс Mines, в котором опишем все необходимые константы и напишем функции Init(), PlaceMines(), PlaceCounter(). Отчёт отправил: 429. Максим Базуев Выполнено за 1 час. 38 мин. [Показать отчёт] Научился: Решил написать игрушку на Unity. Но, чтобы на нём его писать нужно само ядро игры. Переписал на коленке ядро которое мы писали на стриме по Java на C# Использовал некоторые интересные трюки в шарпе Можете взглянуть: https://github.com/bazuka5801/SharpSweeper Сложности: Ничего |
|||||
4 | ИГРА - Матрица картинок |
1 тест |
|||
На этом уроке мы сделаем вывод картинок на экран. Для этого мы напишем функцию PlaceBox(), которая будет создавать катинки и размещать их на панель. Потом мы создадим матрицу картинок. В конце урока мы сделаем автоматическое изменение картинок при ресайзинге формы. Отчёт отправил: 429. Максим Базуев Выполнено за 1 день 20 час. [Показать отчёт] Научился: Работать в paint.net, это хороший инструмент в умелых руках! Сделал подстраивание поля игры под любое разрешение экрана, чтобы поле было максимально большим и все ячейки были квадратными. Также есть удобная настройка элементов игры (боксиков) Сложности: Сделать картинки циферок Видеообзор: NePeYo3GrFY |
|||||
5 | ИГРА - Карта минного поля |
|
|||
На этом уроке мы отобразим минное поле. Для это нам потребуется функция private Bitmap ShowPicture (int number) и private void ShowBox (int x, int y, int number) а также делегаты для их вызова из класса Mines. Отчёт отправил: 429. Максим Базуев Выполнено за 3 час. 58 мин. [Показать отчёт] Научился: Работать как дизайнер) Сложности: Рисовать, рисовать, рисовать... |
|||||
6 | ИГРА - Зелёный флаг |
1 тест |
|||
На этом уроке мы сделаем обработку клика правой кнопкой мышки для установки флага. Для этого нам потребуется сохранять и считывать координаты клетки в поле Tag каждого PictureBox. Отчёт отправил: 429. Максим Базуев Выполнено за 4 час. 29 мин. [Показать отчёт] Научился: Дизайнить))) Сложности: Ничего |
|||||
7 | ИГРА - Алгоритмический подход |
1 тест |
|||
На этом уроке мы напишем основную часть алгоритма обработки левой кнопки мышки. Мы разделим эту задачу на несколько вспомогательных функций, которые вы можете реализовать самтостоятельно. Отчёт отправил: 429. Максим Базуев Выполнено за 36 мин. [Показать отчёт] Научился: Добавил звуки в игру, разобрался с Audio Mixer, удобная штука Сложности: Ничего Видеообзор: lFBZqyzXjbI |
|||||
8 | ИГРА - Бомбовые алгоритмы |
1 тест |
|||
На этом уроке мы допишем остальные функции и поиграем в созданную игру. Вам останется довести программу до ума, сделать сообщение об окончании игры и все остальные элементы игры, по желанию и по фантазии. Отчёт отправил: 429. Максим Базуев Выполнено за 2 час. 11 мин. [Показать отчёт] Научился: Доработал звуки. Добавил уведомление о победе!!! ) Сделал меню настроек игры: Размер поля, и % бомбочек Сложности: Ничего Видеообзор: w2iEpT-OrqE |
|||||
9 | ТРЕТЬФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Поздравляю с завершением курса по созданию игры Сапёр. Однако создание игры на этом ещё не закончено. Твоя задача - придумать, что ещё можно/нужно добавить в игру и реализовать это. Запиши видеообзор своей игры и расскажи, что ты добавил в неё самостоятельно. Отчёт отправил: 429. Максим Базуев Выполнено за 1 мин. [Показать отчёт] Научился: Продублирую прошлый отчёт, тк всё что я хотел уже добавил. Доработал звуки. Добавил уведомление о победе!!! ) Сделал меню настроек игры: Размер поля, и % бомбочек Сложности: Ничего Видеообзор: w2iEpT-OrqE |
|||||
10 | ИИ - Как пройти игру |
1 тест |
|||
Мы начинаем создание Искусственного Интеллекта для игры Сапёр, для чего нам потребуется несколько этапов. 1. Описание и понимание идеи алгоритма. 2. Ручная проработка алгоритма на практике. 3. Создание класса для логики ИИ. 4. Внедрение его в наш проект для тестирования. 5. Создание бота для чужой игры Сапёр. Отчёт отправил: 429. Максим Базуев Выполнено за 5 мин. [Показать отчёт] Научился: Пробегаемся по всем циферкам и строим матрицу бомб, вычисляем пустые клетки и бомбы по циферкам Сложности: Ничего |
|||||
11 | ИИ - Очевидные шаги |
1 тест |
|||
На этом уроке мы отработаем базовый, самый очевидный алгоритм разминирования, который основан на открытии очевидных клеток. Отчёт отправил: 429. Максим Базуев Выполнено за 38 мин. [Показать отчёт] Научился: Думать как бот) Сложности: Выиграть |
|||||
12 | ИИ - Пересечение множеств |
|
|||
На этом уроке у нас будет матчасть, логика ИИ. Мы решим задачу с пересекающимися множествами через систему неравенств. Узнаем, в каком случае может быть единственный ответ, и как его просчитать простой формулой, чтобы разделить два пересекающихся множества на три непересекающихся. Отчёт отправил: 429. Максим Базуев Выполнено за 2 час. 35 мин. [Показать отчёт] Научился: Решать сапёра по новому) Сложности: разобраться с алгоритмом |
|||||
13 | ИИ - Класс группы |
|
|||
На этом уроке мы начнём создание проекта логики бота сапёра. Мы создадим структуру с координатами клеток и опишем поля и методы класса Group, в котором будут храниться логические группы минного поля. Отчёт отправил: 429. Максим Базуев Выполнено за 15 час. 0 мин. [Показать отчёт] Научился: SortedList Сложности: Ничего |
|||||
14 | ИИ - Элементарные алгоритмы |
|
|||
На этом уроке мы реализуем два элементарных алгоритма определения пустых клеток и клеток с минами, а также проверим, как это работает. Отчёт отправил: 429. Максим Базуев Выполнено за 16 мин. [Показать отчёт] Научился: Разбивать сложную задачу по маленьким Сложности: Ничего |
|||||
15 | ИИ - Жучкин алгоритм |
1 тест |
|||
На этом уроке мы внедрим наш элементарный алгоритм в рабочую программу и создадим кнопочку, по нажатию которой будут отмечаться все явные мины и пустые клетки. Минут 15 в уроке ушло на поиск ошибки. Отчёт отправил: 429. Максим Базуев Выполнено за 3 час. 20 мин. [Показать отчёт] Научился: Наконец-то бот работает! Поле 20 на 20 в один клик! Сложности: Искать ошибку вместе с Евгением ) |
|||||
16 | ИИ - Вспомнить всё |
|
|||
На этом уроке мы вспомним и повторим, что было на прошлых уроках. Для чего нужен класс Group и как он используется для поиска мин на карте. В этом уроке мы почти ничего писать не будем, просто освежим всё в памяти. Отчёт отправил: 429. Максим Базуев Выполнено за 44 мин. [Показать отчёт] Научился: Решать алгоритмом сапёр Сложности: Ничего |
|||||
17 | ИИ - Операции со множествами |
5 тестов |
|||
На этом уроке мы напишем основные методы для работы со множествами: сравнение, пересечение и вычитание множеств. Отчёт отправил: 429. Максим Базуев Выполнено за 40 мин. [Показать отчёт] Научился: тесты делать Сложности: Ничего |
|||||
18 | ИИ - Множественное тестирование |
|
|||
На этом уроке мы проведём тестирование созданных методов операций над множествами. Отчёт отправил: 429. Максим Базуев Выполнено за 5 мин. [Показать отчёт] Научился: Интересный подход с тестированием Сложности: Ничего |
|||||
19 | ИИ - Ботовый алгоритм InterMines |
1 тест |
|||
На этом уроке мы наконец-таки напишем код алгоритма, о котором мы так много говорили в предыдущих уроках. Отчёт отправил: 429. Максим Базуев Выполнено за 17 мин. [Показать отчёт] Научился: Реализовали всё-таки эту функцию, я в восторге) теперь можно пилить самого бота Сложности: Ничего |
|||||
20 | ИИ - Открыть всё! |
|
|||
На этом уроке мы перепишем по новому алгоритм открытия всех клеток с использованием класса Group. Ура! Открываемость минного поля значительно возросла! Это успех :) Отчёт отправил: 429. Максим Базуев Выполнено за 1 час. 14 мин. [Показать отчёт] Научился: Уррррааа, бот работает, осталось это всё оптимизировать) Поле 30 на 30 хорошо разбирает Добавил пошаговое отображение работы бота Сложности: Ничего Видеообзор: ooxblNZk4HE |
|||||
21 | ВТОРОЙ ТРЕТЬФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с завершением создания Искуственного Интеллекта для решения Сапёра! Ты молодец, написал искуственный интеллект, и круто прокачал навыки алгоритмического мышления, которое так важно для программиста, молодец! Запиши видеообзор созданного бота и своей программы. Впереди внедрение ИИ Бота для сторонней игры. Отчёт отправил: 429. Максим Базуев Выполнено за 1 мин. [Показать отчёт] Научился: Записывать обзор бота Сложности: Ничего Видеообзор: ooxblNZk4HE |
|||||
22 | БОТ - Отмычка сапёра |
4 теста |
|||
На этом уроке мы начнём создавать настоящего бота, который будет проходить сапёра из Windows XP. Мы найдём указатель на программу, вычислим координаты окна игры, запрограммируем несколько щелчков мышкой по ней. Для работы нам потребуется именно XP версия сапёра, её можно скачать здесь: www.videosharp.info/data/docs/winmine.exe. Отчёт отправил: 429. Максим Базуев Выполнено за 1 час. 26 мин. [Показать отчёт] Научился: Сделал чтобы помечались все клетки флажками Сложности: Разобраться с mouse_event |
|||||
23 | БОТ - Пиксельный металлоискатель |
4 теста |
|||
На этом уроке мы начнём создавать пиксельный металлоискатель. По цвету пикселей на экране мы будем восстанавливать значение открытой карты. Ваша задача - довести его создание до логического завершения. Отчёт отправил: 429. Максим Базуев Выполнено за 1 час. 35 мин. [Показать отчёт] Научился: Интересный урок Сложности: Искать пиксели |
|||||
24 | БОТ - Совместное фото |
|
|||
Считывание пикселя с экрана работает крайне медленно. Вместо этого было решено сделать скриншот всей программы. Чтобы дальнейшую обработку производить напрямую, а не через медленные вызовы WinAPI методов. Цель урока - создание "Совместного фото", на котором будут все возможные варианты клеток в игре. Отчёт отправил: 429. Максим Базуев Выполнено за 32 мин. [Показать отчёт] Научился: Alt+PrintScreen ))) Сложности: Ничего |
|||||
25 | БОТ - Гадание по фото |
|
|||
На этом уроке мы проанализируем созданную фотографию, на предмет определения координат пикселей, по цвету которых можно будет однозначно определить значение в клетке сапёра. Отчёт отправил: 429. Максим Базуев Выполнено за 1 час. 50 мин. [Показать отчёт] Научился: Один комментарий стоил 2 часа Сложности: Два часа потратил на вот этот маленький комментарий (((( |
|||||
26 | БОТ - Сканер минного поля |
|
|||
На этом уроке мы применим результаты анализа в полевых условиях на запущенном минёре. Сформируем карту по скриншоту минёра. Отчёт отправил: 429. Максим Базуев Выполнено за 57 мин. [Показать отчёт] Научился: Иван Воронин, с чего вы взяли что при передаче BitMap в метод, он делает копию? BitMap - Класс, а у нас стишок есть для этого) Если в куче у нас класс , то структура в стеке. Class-то указатель Struct кладём на стек Хороший стишок придумал))) Сложности: Ничего |
|||||
27 | БОТ - Выход на финишную прямую |
1 тест |
|||
На этом уроке мы проверим функциональность частей, которые нам нужно объединить. Доработаем функцию doMouseClick() чтобы она умела открывать клетки и ставить флажки по указанным координатам клеток. Посмотрим, что необходимо переносить из предыдущего проекта. Отчёт отправил: 429. Максим Базуев Выполнено за 51 мин. [Показать отчёт] Научился: Сапёр успешно взломан) Сложности: Ничего |
|||||
28 | БОТ - Неуправляемый Интеллект |
|
|||
На этом уроке мы внесём все необходимые изменения и запустим алгоритм. К сожалению, он зациклился, в результате чего пришлось выходить из системы. Но первый результат обнадёживает - клики Анализатор делал верные. Отчёт отправил: 429. Максим Базуев Выполнено за 4 мин. [Показать отчёт] Научился: Сделал защиту от зацикливания Сложности: Ничего |
|||||
29 | БОТ - Всё открыто! |
|
|||
На этом уроке мы завершим создание бота и откроем все клетки минного поля с помощью нашего алгоритма. Отчёт отправил: 429. Максим Базуев Выполнено за 1 час. 42 мин. [Показать отчёт] Научился: Сделал доп фишки, такие как рестарт и фокус на окно чтобы постоянно нажимать на кнопку старт И добавил счёт!! Сложности: Ничего |
|||||
30 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю! Ты одолел Боты Минёра. Теперь ты заслуженный Минёр. Запиши видеообзор своих программ. Какой видеокурс ты будешь проходить следующим? Отчёт отправил: 429. Максим Базуев Выполнено за 3 мин. [Показать отчёт] Научился: Курс очень интересный, деньги отданы не зря - это точно! Теперь в сапере у меня рекорд во всех уровнях - 1 сек Видеообзор: p5cA71EDTyg |
|||||
31 | VIP - Хакерский подход |
|
|||
На этом уроке мы напишем хакерскую программу для вскрытия Сапёрного поля.
Отчёт отправил: 429. Максим Базуев Выполнено за 1 час. 2 мин. [Показать отчёт] Научился: Читерскому способу Сложности: Ничего |
|||||
32 | VIP - Жизнь у Сапёра |
|
|||
Напишите Игру жизнь. Отобразите её на поле игры "Сапёр". Для переключения клеток используйте клики ПКМ по клеткам. |
|||||
Итого: 32 видеоурока |
10 час. 56 мин. 24 теста |
7 чел. | |||
Финалисты: Иван Воронин, Кирилл Шмойлов, Tekashnik, Yefim, Максим Лапшинов, MaxB, Алексей В. . |