# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
4 теста |
|||
Я приглашаю вас на видеокурс по созданию полноценной игровой программы СОКОБАН. Я проведу вас за руку по всем этапам создания законченной интеллектуальной игры: 1. Создание редактора уровней. 2. Придумывание этих самых уровней. 3. Создание собственно игры. 4. Решение олимпиадной задачки для добавления ИИ. 5. Переделка игры в режим "на двоих". 6. Написание класса Phone для связи двух программ по сети. 7. Создание сетевой версии игры Sokoban. Будет интересно! В конце видео - первое задание: Научиться играть! :) Ссылка на игру Сокобан Отчёт отправил: 12230. LINKI Выполнено за 40 мин. [Показать отчёт] Научился: Играть ;D Сложности: 10 уровень ;) Комментарии: Прошёл все уровни (до 10). Самый легкий - 6 - прошёл за 1 мин 24 сек ;) |
|||||
2 |
![]() |
1 тест |
|||
На этом уроке мы подготовим 6 пиктограмм и две картинки для игры, а также придумаем свой собственный уровень, который запишем в текстовый файл. Отчёт отправил: 12230. LINKI Выполнено за 20 мин. [Показать отчёт] Научился: Null; Сложности: Bool VERYHARD = null; Комментарии: GOOD JOB! // Тссс. Я это уже проходил(это самое слово) ;) / Но ещё хочу пройти и сделать возможность модификаций для Sokoban =) |
|||||
3 | Сокобан - Редактор - Загрузка |
|
|||
Мы начинаем создавать редактор уровней для известной логической игры Sokoban. Редактор будет создан за четыре урока. На первом уроке мы создадим класс для загрузки уровня с текстового файла и протестируем его работу. Отчёт отправил: 12230. LINKI Выполнено за 30 мин. [Показать отчёт] Научился: Null; Сложности: Find TIME! Комментарии: VERY VERY VERY GOOD ;) / Я делаю всё по другому ;) |
|||||
4 | Сокобан - Редактор - Интерфейс |
|
|||
На этом уроке мы создадим интерфейс программы и сделаем отображение загруженного уровня на экране. Отчёт отправил: 12230. LINKI Выполнено за 50 мин. [Показать отчёт] Научился: Реализации "кубической" графики с помощью PictureBox'ов ;) Сложности: FIND TIME ;) Комментарии: Отличный урок. Я делал ВСЁ по другому - сделал 4 библиотеки: 1) LevelsLoader Загружает уровни из файлов - возвращает структуру Level; 2) ResourcesLoader - Загружает ресурсы(картинки) из файлов / Сделано для того, чтобы любой пользователь мог заменить на такие - какие он хочет / Если картинки не найдены загружает стандартные из EXE'шника. 3)GameGraphics - Работает с графикой - PictureBox'ами / Можно использовать в других проектах. 4)Base - Библиотека с "ГЛОБАЛЬНЫМИ" переменными, с перечислениями(пример - Cell), и нужными функциями - создан для того, чтобы переместить часто используемые части кода в одну библиотеку, чтобы все библиотеки получали доступ к нему ;) И сама WindowsForm - Там я написал только события нажатия на панели + Событие изменения размера(там 1 строчка кода ;) ) И всё. Там только то, что нужно, никакого хлама, только подключаемые библиотеки(4) и их использование ;) Вот так выглядит отображение уровня: LEVEL = LEVEL_LOADER.LoadLevel(2); GG.LoadMap(LEVEL); Всего 2 строчки. Моя цель вроде достигнута, буду модифицировать так, чтобы можно было бы делать пользовательские моды или же просто - легко добавлять новый контент в игру ;) Ps: Почему сайт падал? https://ping-admin.ru/free_test/result/1505130275qg5y613x5p03398w9876u.html |
|||||
5 | Сокобан - Редактор - Редактирование |
|
|||
На третьем уроке мы сделаем наконец-таки редактирование поля. Также реализуем возможность изменения размера лабиринта. В конце напишем функцию для проверки корректности составленного уровня. Отчёт отправил: 12230. LINKI Выполнено за 50 мин. [Показать отчёт] Научился: Реализации ;) Сложности: FIND TIME ;) Комментарии: Класс. Я сначала сделал сам, а потом урок посмотрел, всё правильно сделал, даже лучше ;) + Оптимизация в 2 раза ;) |
|||||
6 | Сокобан - Редактор - Сохранение |
|
|||
На четвёртом уроке мы закончим создание редактора уровней. Напишем самую главную функцию для сохранения сделанных изменений в файл. Затем добавим кнопки перехода к следующему и предыдущему уровню. Останется только немного облагородить интерфейс программы. Отчёт отправил: 12230. LINKI Выполнено за 3 час. 00 мин. [Показать отчёт] Научился: Реализации сохранения ;) Сложности: Save and FIND TIME! ;) Комментарии: Good. ;) + Я доделал библиотеку RecourceLoader - теперь она работает, как нужно ;) / + Переделал адаптивность на разрешение - теперь лучше стали 'адаптироваться' размеры PicterBox'ов к разрешению ;) / + Тестил изменения размеров уровня - нашёл баг(У всевышнего он тоже есть), если изменить размер уровня на более большие то выдаст ислючение(IndexOF) - Исправил это добавив в тот самый цикл(переделки массива string на более большой) - написав в условие цикла - (Curr + Delta), вместо Curr ;) / При больших значениях(значит дельта больше) - выходило за рамки массива ;) |
|||||
7 | Сокобан - Редактор - Улучшение |
|
|||
Допиливаем и дорабатываем редактор до товарного вида. Реализуем ещё несколько фишек. Отчёт отправил: 12230. LINKI Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Реализации ;) Сложности: FIND TIME ;) Комментарии: VERY GOOD / + Я сделал другую систему статистики(оптимизированную) - на делегате - сделал статистику для всех "блоков" ;) |
|||||
8 | Сокобан - Редактор - Классика уровней |
1 тест |
|||
На этом уроке вам нужно выбрать любых два классических уровня и создать их в нашей программе-редакторе. Ссылка на классические уровни: https://logic-games.spb.ru/sokoban/ Редактор можно скачать здесь: https://www.videosharp.info/data/soft/SokobanEditor.zip Отчёт отправил: 12230. LINKI Выполнено за 10 мин. [Показать отчёт] Научился: Быстрее копировать уровни ;) Сложности: bool HARD = false;//)))))) Комментарии: ;) Отличный урок по 'краже уровней' ;) 1скриншот) 10 уровень в классике 2скриншот) 14 уровень в классике |
|||||
9 | Сокобан - Создаём свои уровни |
1 тест |
|||
Твоя задача - подготовить базу уровней для игры Сокобан.
Отчёт отправил: 12230. LINKI Выполнено за 10 мин. [Показать отчёт] Научился: Практике созданию уровней ;D Сложности: Ничего ;) Комментарии: Почти все уровни создал сам, а другие (1/3 от всех) я сделал "САМ" ;D |
|||||
10 | Сокобан - Игра - Интерфейс |
1 тест |
|||
Мы начинаем создание интеллектуальной игры СОКОБАН. У нас уже есть все необходимые классы и уровни для создания полноценной игры. На этом уроке мы создадим форму и настроим интерфейс окна лабиринта. Отчёт отправил: 12230. LINKI Выполнено за 10 мин. [Показать отчёт] Научился: Null; Сложности: bool HARD = false; Комментарии: Great! Я удивился, что мне просто нужно связать все зарание написанные библиотеки и всё! Осталось только логика игры ;) / Я просто подключил все библиотеки связал и инициализировал - итог - выводятся уровни(полностью) + переключать их можно + статистика работает(сколько ящиков нужно и сколько поставил) + рестарт уровня работает. Вот это значит ООП.... У меня такое приятное ощущение, когда я использую свои библиотеки, а не чужие ;) + Я кстати сделал BackGround для всех картинок - это и есть None ;) + Потом добавлю возможность выбора текстур в настройках ;) |
|||||
11 | Сокобан - Игра - Управление |
3 теста |
|||
Теперь мы создадим класс логики игры Game, используя который, мы реализуем управление человечком курсорными клавишами клавиатуры. А также сделаем переход на следующий уровень. Отчёт отправил: 12230. LINKI Выполнено за 2 час. 00 мин. [Показать отчёт] Научился: Реализации логики игры ;) Сложности: Очень сложно было найти время(я ещё и заболел). Даже боюсь, что за 2 недели не смогу пройти этот курс. Но буду надеется на лучшее ;) Комментарии: Очень классный урок! Мне пришлось чуть-чуть "своё" переделать, чтобы добавить TOP. Очень понравился результат ;) |
|||||
12 | Сокобан - Решалка - Тестер |
1 тест |
|||
На этом уроке мы напишем программу, которая будет проверять правильность алгоритма поиска решения лабиринта. http://www.videosharp.info/console/task/level=1178 Отчёт отправил: 12230. LINKI Выполнено за 2 час. 00 мин. [Показать отчёт] Научился: Реализации :) Сложности: Найти время ;_ Комментарии: Классный урок ;) / Я сделал чуть-чуть по другому и тоже на г**нокодил ;)(чтобы потом делать что было), а также сделал всё красиво и подключил свою любимую библиотеку, которая работает с консольной графикой. Сделал вывод текущей позиции решения и координаты мышки + добавил возможность называть мышку(назвал её EVGENIY, ведь он всё решит ;) ) - Всё видно на скриншотах ;) |
|||||
13 | Сокобан - Решалка - Мышка |
1 тест |
|||
Мы начинаем решать задачу по решению игры Сокобан с одним ящиком. Эта задача олимпиадного уровня на применение алгоритма поиска вширь. Главный герой - мышка Альфа, которая желает затолкать яблочко к себе в норку. Программу мы напишем за два урока. На первом уроке мы создадим вспомогательную функцию MoveAlfa(), которая подскажет мышке как попасть из одной клетки лабиринта в другую кратчайшим путём. Отчёт отправил: 12230. LINKI Выполнено за 1 час. 28 мин. [Показать отчёт] Научился: Алгоритму поиска в ширину ;) Сложности: Найти время. Комментарии: Очень классно! Всё понятно и получилось неплохо. Ящики думаю тем же алгоритмом двигать будем, только с некоторыми условиями и ограничениями в Directions(по условию). Вышло не плохо. +1 Алгоритм в копилочку, до этого знал только A* ;) |
|||||
14 | Сокобан - Решалка - Яблоко |
2 теста |
|||
На втором уроке мы переделываем написанный алгоритм поиска маршрута мышки. Теперь мы разрешаем мышке толкать яблоко, и записываем все изменения их расположений. Отчёт отправил: 12230. LINKI Выполнено за 1 час. 40 мин. [Показать отчёт] Научился: Реализации перетаскивания ящиков(и то не всё понял) ;) Сложности: ДВИГАТЬ ЯЩИКИ! ;D И найти время ;) Комментарии: Очень хороший урок. Но всё-таки объяснений мало(не речивых, а "зримых"). Очень понравился конечный результат! |
|||||
15 | Сокобан - Решалка - Оптимизация |
1 тест |
|||
На этом коротком уроке мы рассмотрим два способа оптимизации нашей программы, в результате которых работать она станет просто молниеносно!!!
Отчёт отправил: 12230. LINKI Выполнено за 20 мин. [Показать отчёт] Научился: Оптимизации! Сложности: Ничего ;) Комментарии: Fantastic! Очень хороший урок! Я ещё и движение мышки оптимизировал также создав 2-у мерный массив ;) / Не ожидал, что будет на столько всё легко ;) |
|||||
16 | Сокобан - Игра - Автоходы |
1 тест |
|||
Поздравляю, программа уже создана: можно играть, можно ею хвастаться. На этом уроке мы добавим в игру автоходы, чтобы можно было управлять нашим человечком с помощью мышки - указать, куда идти, и даже указать, какой ящик куда нужно поставить. Для этого нам потребуются два класса по решению лабиринта. Отчёт отправил: 12230. LINKI Выполнено за 1 час. 28 мин. [Показать отчёт] Научился: Ничему ;) Сложности: НАйти ВрЕмЯ ;) Комментарии: Я не смотря урок, всё сам сделал - просто подключил базовую библиотеку и библеотеку с графикой в "решатель", потом соединил - минут 5 вышло. ;) Потом смотрел урок, наслаждался геймплеем ;) |
|||||
17 | Сокобан - Редактор - На двоих |
1 тест |
|||
Переделываем редактор уровней, чтобы можно было создавать лабиринты для двоих игроков. Создаём базу из 10 новых уровней игры в Сокобан для двоих. Отчёт отправил: 12230. LINKI Выполнено за 1 час. 28 мин. [Показать отчёт] Научился: Ничему ;) Сложности: Найти время! ;) Комментарии: Классно! Я за 5 минут всё написал (я заранее с начала 2-го игрока добавил) Я не добавлял 2 редактор, я просто изменил текущий - то есть добавил проверку аргумента при запуске(Main(string[] args)), если там 2, то запускается режим игры на 2'их, если ничего нет, то запускается одиночный редактор ;) - не люблю плодить память чуть различными копиями ;)/И если что-то захочу изменить, то это не займёт много времени, у меня почти всё ООП'эшно ;) Уровни делал сам ;) Потом смотрел как Евгений развлекается с редактором, отдохнул, чайка с медком попил ;) И придумал концепт игры! В моём Sokoban'е нужно будет "прокачиваться", чтобы открывать секретные уровни, менять оформление сокобана, менять скин своего персонажа, покупать мини-игры за монеты. +Если будет время сделаю - соединение через сервер(через хостинг, конечно же бесплатный ;) ). +Чтобы в БД вносились изменения, а также хочу релизовать мультиплеер через сервер ;) Но тут нужно ещё подучится в PHP и MySQL :) |
|||||
18 | Сокобан - Игра - На двоих |
|
|||
Переделать игру, чтобы в неё можно было играть вдвоём на одной клавиатуре.
Отчёт отправил: 12230. LINKI Выполнено за 15 час. 00 мин. [Показать отчёт] Научился: Ничему ;) Сложности: Найти время ;) Комментарии: Классный урок! За 5 минут сделал сам ;) / Доволен. Мои библиотеки быстро подстраиваются под новый код ;) |
|||||
19 | Сокобан - Телефон - TCP/IP протокол |
1 тест |
|||
На этом видеоуроке мы создадим три класса, которые удобно использовать для передачи данных между двумя компьютерами. Отчёт отправил: 12230. LINKI Выполнено за 2 час. 28 мин. [Показать отчёт] Научился: Повторил работу с TCP/IP ;) Сложности: Найти время ;) Комментарии: Очень классно получилось. / Люблю такие чтуки(сетевые технологии) ;) / Написал более лучший алгоритм(Почему?) - потому, что я сразу сделал отдельно библиотеку(Phone) и в ней не делал таких команд - типо - Console.Write("Hello"), но вы забыли добавить самое (почти) главное - проверку состояния подключения - я сделал это через Enum, в котором различные состояния(Connecting, Connected, ConnectionBreak, Sleep) - Эти состояния изменяются когда ты подключаешься или соединение разрывается, при каждом изменении состояния вызывается делегат(сделано через аксессор SET), а в основной программе(Не Phone) - вызывается метод - void ChangeConnectionState(State State), в котором есть SWITCH-CASE и он определяет, что делать, например если соединение разорвано, игра поставится на паузу и будут ждать другого игрока. Состояние очень важно, оно облегчит процесс добавление адекватного мультиплеера :))) И при разрыве соединения у меня нет спама, у меня появится надпись ;( Connection Breack ;( и (клиент или сервер) снова будет пытаться подключится - выведет сообщение <<<Connecting>>> и не будет ими спамить ;))))))))) Жалко, что я анимации и цвета не добовил в консоль (не подключил свою библиотеку - ConsoleR - времени не хватило) ;) Так например можно былобы за секунды 2-5 используя один метод в моей библиотеке (Waiter) который бы вывел сообщение нужного мне цвета(аргумент), так ещё и количество точек ('.') и скорость анимации указать можно, анимация в стиле - Connecting... - и эти 3(или сколько душе угодно) точки будут двигаться туда - сюда, указаное кол-во времени(Или вечно висеть, пока мы не законектимся) ;) Что уж сказать люблю консольную графику(большие игры делал и довольно красивые, но кривые по коду(я тогда ещё мало чего знал), а сейчас занят делать крупные проекты ;) ) ;))))) Хотел даже в стим игру сделать (Консольную игру - симулятор хакера + головоломки + приближенная реальность) и за месяцев 5-6 сверстал 3-6 % от всей игры - даже в этот момент у моей игры было больше функционала чем когда-либо в хакерском жанре ;))) И это я 5-6 месяцев писал прямо в Program.cs боже мой.... - вот поэтому я её долго так делал ;) / Иногда бывает сяду и делаю новый аналог моей игры(с классами ООП, библиотеки, как положено + больше функционала - НАМНОГО - даже есть провайдеры, твой ПК, носитили, диски и папки), но делать это тяжело, но интересно - прогресс медленно идёт и времени мало ;)))) Кстати та игра не совсем консольная, там и формы есть и свой скриптовый язык Links - я мучался 1 месяц с синхронизацией и придумыванием компиляции и синтаксиса(скриптовый язык в игре? Это просто шикккк - можно автоматизировать действия, не проверять сервера на уязвимости, а написать скрипт, который это делает - в Links есть и условия, но до циклов не дошёл ;) ) ;) / Короче кто хочет в неё поиграть или просто посмотреть, я предаставлю полный исходник этого проекта, чтобы не посылать вам exe файл, а вы в страхе открывали его ;))) / И к тем более это старый код ;) / Игра головоломка + жанр хакинг ;) Надеюсь вам понравится ;)/ Полный исходник игры HACK GAME будет чуть ниже :) Эх настальгия нахлынула по этим 6600 строчкам кода в Program.cs ЭХ..... Её даже проходил топ(3) ответов по тематике "программировние" в MailRu - и ему понравилось ;))))) |
|||||
20 | Сокобан - Игра - На двоих по сети |
1 тест |
|||
На этом уроке мы наконец-таки сделаем сетевую версию программы Sokoban для двоих. Мы будем использовать телефонный класс Phone с прошлого урока. Отчёт отправил: 12230. LINKI Выполнено за 4 час. 00 мин. [Показать отчёт] Научился: Потоко-безопасность ;) Сложности: Найти время. Потоко-безопасность ;))))) Комментарии: Я сначала всё делал всё сам, всё - из-за этого потратил час, чтобы выяснить ошибку, если-бы я знал, что в уроке это говорилось - не мучался-бы. Самое интересное, что я решил эту ошибку сам - причём самое забавное - тем же способом через таймер 0_0. Сделал всё стильнинько - не каких рассинхронов + сделал так, чтобы уровни переключать и перезапускать мог только сервер - защита от анархии ;))) / + Сделал предварительное подключение - в самом меню игры. + Сделал классное меню (Там всё в одном месте - и редактор(который в два режима может работать) и игра, которая работает в 3 режима(локальный мультиплеер(клавиатура), мультиплеер(Phone), Одиночная игра)) Получилось здорово доволен результатам. LINKI. Страдаю перфекционизмом. 15 лет. ;))))))))))))) Ну тут чтобы её обозреть - нужно видео, фотками покажу только 1% от всея игры :) --Я тут заметил. Что Евгений отворачивался от вопросов - "А ходы назад?" ;))))))) |
|||||
21 | Сокобан - Завершение |
|
|||
Игра уже написана, но всегда можно сделать чуть-чуть лучше. На этом уроке мы объединим оба варианта игры в одну программу и загрузим файл с уровнями в ресурсы программы. Теперь в одном ехешнике будет сразу всё! Это финиш!!! Отчёт отправил: 12230. LINKI Выполнено за 37 мин. [Показать отчёт] Научился: Null; Сложности: Null; Комментарии: Просто посмотрел. (Я сразу на одну программу замах делал и поэтому мне и делать ничего не пришлось). Просто лампово посмотрел видео ;)))) / Надеюсь курс - "Морской Бой" уже засчитан? У меня просто времени нет(пока что), сделать Финальное видео ;) / Люблю чтобы качественно. А делать в торопях и без монтажа не могу ;)))) |
|||||
22 | ФИНАЛЬНЫЙ урок. Видео-обзор проекта Сокобан |
|
|||
Задание: Записать видеообзор игры СОКОБАН. Отчёт отправил: 12230. LINKI Выполнено за 24 час. 00 мин. [Показать отчёт] Научился: +К навыкам монтажа Сложности: Найти время ;) Комментарии: Этот монтаж вышел на 17 минут 0_0 (полный обзор). Надеюсь вам понравится ;) Монтаж делал долго(больше 24 часов точно). Да и ещё делал ребрендеринг канала (менял шапку и аватарку). Предупреждение: Хех. Ещё один прикол: Мне повесили копирайт 0_0 за использование авторской музыки ;)))) (Страйк не кинули, но они могут рекламу добавить) Видеообзор: tlYV9temaYc |
|||||
23 | VIP. Бот для игры БАЛДА |
|
|||
Используя текстовый файл из 27400 слов создаём рекурсивный алгоритм подбора слов для популярной игры Балда. Отчёт отправил: 12230. LINKI Выполнено за 3 час. 33 мин. [Показать отчёт] Научился: Реализации алгоритма Сложности: Найти время ;) Комментарии: Прикольно получилось :) У меня можно создавать огромное количество строк. Я ещё сделал адаптивные размеры программы, дизайн, второй TextBox(словарь), DragAndDrop сделал (просто можно перетащить .txt файл в textbox словаря и подгрузится новый словарь ;) ). И вправду классно получилось. Мне понравилось :) Кстати. Я получается спустя столько времени после создания курса "Sokoban", умудрился пройти его полностью первым 0_0 |
|||||
Итого: 23 видеоурока |
13 час. 51 мин. 20 тестов |
12 чел. | |||
Финалисты: LINKI, Новопашин Владимир, Tekashnik, Алексей В., zhikharevav, Evgenii Kudriavtcev, chokayes, Дмитрий, Максим Лапшинов, no name, Max, MaxB . |