# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
4 теста |
|||
Я приглашаю вас на видеокурс по созданию полноценной игровой программы СОКОБАН. Я проведу вас за руку по всем этапам создания законченной интеллектуальной игры: 1. Создание редактора уровней. 2. Придумывание этих самых уровней. 3. Создание собственно игры. 4. Решение олимпиадной задачки для добавления ИИ. 5. Переделка игры в режим "на двоих". 6. Написание класса Phone для связи двух программ по сети. 7. Создание сетевой версии игры Sokoban. Будет интересно! В конце видео - первое задание: Научиться играть! :) Ссылка на игру Сокобан Отчёт отправил: 6391. Владимир Выполнено за 35 мин. [Показать отчёт] Научился: поиграл в забытую игру Сокобан ;) Сложности: пройти 6-й уровень Комментарии: интересно |
|||||
2 |
![]() |
1 тест |
|||
На этом уроке мы подготовим 6 пиктограмм и две картинки для игры, а также придумаем свой собственный уровень, который запишем в текстовый файл. Отчёт отправил: 6391. Владимир Выполнено за 1 час. 15 мин. [Показать отчёт] Научился: рисовать пиктограммы, картинки старта-финиша, лабиринт в текстовом файле. Сложности: отправить отчет Комментарии: 3 раза пытался отправить отчет, думал что у меня сбой, только на вебинаре узнал что был закрыт прием отчетов. Пожалуйста добавьте сообщение о том что отчеты не принимаются. |
|||||
3 | Сокобан - Редактор - Загрузка |
|
|||
Мы начинаем создавать редактор уровней для известной логической игры Sokoban. Редактор будет создан за четыре урока. На первом уроке мы создадим класс для загрузки уровня с текстового файла и протестируем его работу. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Создавать классы сверху вниз, реализовывать методы по необходимости. Научился считывать текстовый файл с данными и заполнять массив. Отлаживать код по шагам. Сложности: было интересно. Комментарии: Очень подробный и понятный урок. |
|||||
4 | Сокобан - Редактор - Интерфейс |
|
|||
На этом уроке мы создадим интерфейс программы и сделаем отображение загруженного уровня на экране. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 15 мин. [Показать отчёт] Научился: Всего и не перечислишь, прежде всего скрупулезно доводить до рабочего состояния программу. Стал лучше понимать взаимосвязи методов. Больше ориентироваться в ресурсах, свойствах и VS. Сложности: были допущены ошибки, которые помогли мне глубже разобрать урок. Комментарии: Я в восторге от того что это все работает! |
|||||
5 | Сокобан - Редактор - Редактирование |
|
|||
На третьем уроке мы сделаем наконец-таки редактирование поля. Также реализуем возможность изменения размера лабиринта. В конце напишем функцию для проверки корректности составленного уровня. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 45 мин. [Показать отчёт] Научился: Лучше разбираться в компонентах Windows Forms. Сложности: у меня в меню Properties элемента DropDownMenu не было ItemClick; Пришлось разбираться. Комментарии: Хороший урок, все больше и больше нравится растущий проект, который уже работает. Неожиданно закончился урок, не знаю какие скриншоты добавлять добавил то, что считаю нужным. |
|||||
6 | Сокобан - Редактор - Сохранение |
|
|||
На четвёртом уроке мы закончим создание редактора уровней. Напишем самую главную функцию для сохранения сделанных изменений в файл. Затем добавим кнопки перехода к следующему и предыдущему уровню. Останется только немного облагородить интерфейс программы. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 40 мин. [Показать отчёт] Научился: Еще больше понимания того как работает программа. Сложности: Все было легко и интересно. Комментарии: Спасибо, очень подробно и интересно, но иногда хотелось бы перед созданием очередного метода, короткий взгляд как бы сверху, чтобы понимать для чего он нужен, в процессе конечно все равно становится понятно, но иногда за деревьями все же лес теряется. |
|||||
7 | Сокобан - Редактор - Улучшение |
|
|||
Допиливаем и дорабатываем редактор до товарного вида. Реализуем ещё несколько фишек. Отчёт отправил: 6391. Владимир Выполнено за 1 час. 50 мин. [Показать отчёт] Научился: освоил работу с новыми компонентами TextLabel и др. связывать компоненты и действия. Сложности: пока ничего сложного Комментарии: Очень хорошо сделанный урок, все понятно. |
|||||
8 | Сокобан - Редактор - Классика уровней |
1 тест |
|||
На этом уроке вам нужно выбрать любых два классических уровня и создать их в нашей программе-редакторе. Ссылка на классические уровни: https://logic-games.spb.ru/sokoban/ Редактор можно скачать здесь: https://www.videosharp.info/data/soft/SokobanEditor.zip |
|||||
9 | Сокобан - Создаём свои уровни |
1 тест |
|||
Твоя задача - подготовить базу уровней для игры Сокобан.
Отчёт отправил: 6391. Владимир Выполнено за 1 час. 33 мин. [Показать отчёт] Научился: Когда смотрел картинки уровней, нашел давно забытую игру Oxyd, сейчас есть ее свободный сиквел Enigma. Научился рисовать уровни, было интересно придумывать свои. Сложности: Ничего. Комментарии: Как все таки здорово делать что-то свое! Придумал уровень "Ода Тетрису" Хочется узнать проходимые уровни или нет. |
|||||
10 | Сокобан - Игра - Интерфейс |
1 тест |
|||
Мы начинаем создание интеллектуальной игры СОКОБАН. У нас уже есть все необходимые классы и уровни для создания полноценной игры. На этом уроке мы создадим форму и настроим интерфейс окна лабиринта. Отчёт отправил: 6391. Владимир Выполнено за 1 час. 45 мин. [Показать отчёт] Научился: Повторил создание форм, добавление ресурсов. Научился вызывать одну форму из другой. Изучаю делегаты. Сложности: Уже ничего, не в первый раз ;) Комментарии: Понравился урок, когда есть заготовки за короткое время создали новый работающий проект. |
|||||
11 | Сокобан - Игра - Управление |
3 теста |
|||
Теперь мы создадим класс логики игры Game, используя который, мы реализуем управление человечком курсорными клавишами клавиатуры. А также сделаем переход на следующий уровень. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 10 мин. [Показать отчёт] Научился: Использовать код из другого проекта (SokobanEditor), изменяя его до нужной функциональности. Использование двух матриц для динамического отображения состояния игры. Обработка нажатий клавиш. Сложности: Ничего Комментарии: Я прошел несколько своих уровней, а некоторые оказались недостижимы ;) Замечательный урок, непередаваемая радость играть в игру сделанную своими руками. Спасибо, это здорово! |
|||||
12 | Сокобан - Решалка - Тестер |
1 тест |
|||
На этом уроке мы напишем программу, которая будет проверять правильность алгоритма поиска решения лабиринта. http://www.videosharp.info/console/task/level=1178 Отчёт отправил: 6391. Владимир Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Протестировал богатые возможности вывода в консоли. Использовать записи решений для анимации. Тестировать программу тестирования. Сложности: Ничего Комментарии: Очень понравилась работа в консоли с цветом и выводом в указанные координаты. Отличный урок! |
|||||
13 | Сокобан - Решалка - Мышка |
1 тест |
|||
Мы начинаем решать задачу по решению игры Сокобан с одним ящиком. Эта задача олимпиадного уровня на применение алгоритма поиска вширь. Главный герой - мышка Альфа, которая желает затолкать яблочко к себе в норку. Программу мы напишем за два урока. На первом уроке мы создадим вспомогательную функцию MoveAlfa(), которая подскажет мышке как попасть из одной клетки лабиринта в другую кратчайшим путём. Отчёт отправил: 6391. Владимир Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: Познакомился с алгоритмом поиска в ширину. Работать с очередями и списками. Сложности: Когда алгоритм понимаешь, тогда ничего сложного нет. Комментарии: Очень хороший урок, очень важный алгоритм искусственного интеллекта, который можно применять в играх. Спасибо! |
|||||
14 | Сокобан - Решалка - Яблоко |
2 теста |
|||
На втором уроке мы переделываем написанный алгоритм поиска маршрута мышки. Теперь мы разрешаем мышке толкать яблоко, и записываем все изменения их расположений. Отчёт отправил: 6391. Владимир Выполнено за 1 час. 40 мин. [Показать отчёт] Научился: Рефакторингу и расширению возможностей программы. Сложности: для тестирования создал лабиринт в SokobanEditor и не сразу понял почему не работало. А там просто разные символы для героя и ящика(яблока). ;) Комментарии: Отличный урок, мышка все умнее ;) Задал такой сложный лабиринт что процессору пришлось напрячь все свои ядра ;) |
|||||
15 | Сокобан - Решалка - Оптимизация |
1 тест |
|||
На этом коротком уроке мы рассмотрим два способа оптимизации нашей программы, в результате которых работать она станет просто молниеносно!!!
Отчёт отправил: 6391. Владимир Выполнено за 1 час. 15 мин. [Показать отчёт] Научился: Оптимизации алгоритмов путем изменения структур данных. Узнал о System.Diagnostics. Сложности: Понять почему вылетал алгоритм с 4-х мерным массивом. (OutOfRange) Оказалось только он не принимает мои лабиринты без стен. Когда добавил стены все получилось. Комментарии: Урок маленький, да удаленький! Я в восторге от результатов оптимизации. Спасибо за эту наглядную демонстрацию! Мышка стала соображать быстрее ;) в 14тысяч раз |
|||||
16 | Сокобан - Игра - Автоходы |
1 тест |
|||
Поздравляю, программа уже создана: можно играть, можно ею хвастаться. На этом уроке мы добавим в игру автоходы, чтобы можно было управлять нашим человечком с помощью мышки - указать, куда идти, и даже указать, какой ящик куда нужно поставить. Для этого нам потребуются два класса по решению лабиринта. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Подключать и применять уже готовые классы к проекту, изменяя их нужным образом. Добавлять таймер и обработчик. Сложности: Найти ошибку из-за которой у меня мышка не хотела ходить по местам для ящиков. Комментарии: Хоть я и повозился с ошибками, но это стоило того. Признаться мне всегда не хватало такой функции в сокобане. Эти утомительные ходы, а теперь красота, она все делает сама! Это восторг! Из-за этого самые нудные уровни будут проходиться весело и непринужденно. |
|||||
17 | Сокобан - Редактор - На двоих |
1 тест |
|||
Переделываем редактор уровней, чтобы можно было создавать лабиринты для двоих игроков. Создаём базу из 10 новых уровней игры в Сокобан для двоих. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Расширять возможности программы. Обрабатывать исключения. Сложности: Уже ничего ;) Комментарии: Замечательный урок. |
|||||
18 | Сокобан - Игра - На двоих |
|
|||
Переделать игру, чтобы в неё можно было играть вдвоём на одной клавиатуре.
Отчёт отправил: 6391. Владимир Выполнено за 40 мин. [Показать отчёт] Научился: Добавлять и модифицировать ресурсы. Сложности: ничего. Комментарии: Поразило что понадобилось так мало изменений для того чтобы сделать игру на двоих. |
|||||
19 | Сокобан - Телефон - TCP/IP протокол |
1 тест |
|||
На этом видеоуроке мы создадим три класса, которые удобно использовать для передачи данных между двумя компьютерами. Отчёт отправил: 6391. Владимир Выполнено за 1 час. 45 мин. [Показать отчёт] Научился: Реализовывать простое клиент-серверное консольное приложение с использованием делегатов и нитей для связи двух компьютеров по TCP/IP. Сложности: Ничего. Комментарии: C# удивительный язык. Так легко можно организовать связь двух компьютеров по TCP/IP. Спасибо, замечательный урок! |
|||||
20 | Сокобан - Игра - На двоих по сети |
1 тест |
|||
На этом уроке мы наконец-таки сделаем сетевую версию программы Sokoban для двоих. Мы будем использовать телефонный класс Phone с прошлого урока. Отчёт отправил: 6391. Владимир Выполнено за 1 час. 50 мин. [Показать отчёт] Научился: Повторил работу с формами. Применять делегаты. Использование классов Phone в реальной программе. Сложности: Было интересно. Комментарии: Убедился что от идеи до готового продукта очень большой и интересный путь, который нужно проходить каждый день хоть по одному шагу. Замечательный курс! Тут есть все для практики программирования на C#. Спасибо! |
|||||
21 | Сокобан - Завершение |
|
|||
Игра уже написана, но всегда можно сделать чуть-чуть лучше. На этом уроке мы объединим оба варианта игры в одну программу и загрузим файл с уровнями в ресурсы программы. Теперь в одном ехешнике будет сразу всё! Это финиш!!! Отчёт отправил: 6391. Владимир Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Объединять все элементы в одном файле. Доводить проект до завершения. Сложности: провозился с ошибкой не отображения ящиков. Как оказалось обозначения не совпадали в одном варианте было "O", а в другом "o". Вывод: нужно проверять то что добавляешь. Комментарии: Я доволен результатом, теперь я знаю как происходит разработка от начальной идеи до реализации рабочей программы. И есть идеи как сделать режим игры для двоих интересным. Спасибо Евгений Витольдович за Ваш труд! |
|||||
22 | ФИНАЛЬНЫЙ урок. Видео-обзор проекта Сокобан |
|
|||
Задание: Записать видеообзор игры СОКОБАН. Отчёт отправил: 6391. Владимир Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Создавать видеообзоры, и Самое главное доводить проекты до конца! Сложности: Всего и не перечислишь. Все организовать для записи. записать видео с первого раза. Комментарии: Я рад что выбрал этот проект и сделал его полностью! Это мой первый проект и я верю что будут еще! Хоть и вышла накладка с видео, но я решил так и оставить. УРА! Пишите код, каждый день, ни дня без кода, и вы всего достигнете! Не знаю как приложить архив. Видеообзор: https://youtu.be/oc-iAxFFlZE |
|||||
23 | VIP. Бот для игры БАЛДА |
|
|||
Используя текстовый файл из 27400 слов создаём рекурсивный алгоритм подбора слов для популярной игры Балда. |
|||||
Итого: 23 видеоурока |
13 час. 51 мин. 20 тестов |
12 чел. | |||
Финалисты: LINKI, Новопашин Владимир, Tekashnik, Алексей В., zhikharevav, Evgenii Kudriavtcev, chokayes, Дмитрий, Максим Лапшинов, no name, Max, MaxB . |