# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 | Шарики. Вступление |
1 тест |
|||
Правила игры Поле 9 на 9. Шарики шести цветов. За один ход можно переместить один шарик с одного места на другое. Шарик можно перемещать только на свободные клетки, двигаясь вверх/вниз/влево/вправо. Линии из 5+ шариков исчезают, а игрок получает доп. ход. После каждого хода в случайных местах появляются три новых шарика. Цель игры — продержаться как можно дольше, собрать как можно больше линий. Подсчёт очков не регламентирован, есть разные варианты. Отчёт отправил: 4972. looker Выполнено за 20 мин. [Показать отчёт] Научился: Составлять алгоритм к программе. Сложности: Ничего. Комментарии: Я пока подготовил картинки шарика только 1-го цвета, зато самых разных размеров. Хочу в следующем уроке уже четко понять какой размер картинки нужен, и тогда сразу все остальные подготовлю. Скрин папки шариков приложу. |
|||||
2 | Шарики. Анализ игры |
1 тест |
|||
Анализ игры и динамическое создание поля из картинок.
Отчёт отправил: 4972. looker Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Абсолютно новому ничему. Закрепил навык размещения pictureBox'ов на panel'e. Данный способ мне кажется самым "полезным". Сложности: Не запутаться во вложенных switch'ах. Комментарии: С картинками у меня проблемы. Но я качаю Photoshop, сделаю в нем клевейшие шарики! Всё будет замечательно!:)) Ещё, кстати, я сделал, чтобы размер формы подстраивался под размер поля игры. Очень удобно получилось. 1 строчку написал - и теперь тебе всё равно на любые изменения с полем игры - всегда будет красиво и аккуратно. |
|||||
3 | Шарики. Логика игры |
1 тест |
|||
На этом уроке мы реализуем логику программы. Вся логика программы реализуется в отдельном классе. Сделаем, чтобы программа отрабатывала все состояния. Шарики можно будет выбирать, пермещать, будут появляться следущие шарики. Отчёт отправил: 4972. looker Выполнено за 3 час. 30 мин. [Показать отчёт] Научился: Использовать делегат - мне понравилось. Сложности: До конца понять принцип работы с делегатами - с этим у меня до сих пор проблемы - по памяти врядли смогу правильно их использовать. Но эта сложность не урока как такового, а моего понимания. Комментарии: Всё ок. |
|||||
4 | Шарики. Поиск пути |
|
|||
Реализация самого сложного алгоритма: поиск кратчайшего пути для перемещения шарика. Отчёт отправил: 4972. looker Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Новому ничему. Сложности: Быть предельно внимательным. Комментарии: Всё ок. |
|||||
5 | Шарики. Поиск линий |
|
|||
Реализация последнего алгоритма. Поиск линий из 5+ шариков и анимация их удаления. Отчёт отправил: 4972. looker Выполнено за 24 час. 00 мин. [Показать отчёт] Научился: Находить и исправлять недоделки в приложении. Проявлять фантазию))). Познакомился с сериализацией и десериализацией - ничего сложного и очень понравилось. Также могу сказать, что я понял одно из применений делегатов на практике. Сложности: Самым сложным оказалось окончательно реализовать идею сохранения результатов игры. Подробности ниже:). Комментарии: Что сделал/изменил в программе: 1. Исправил/доделал функцию сокращения линий шариков - ранее, при сокращении нескольких линий одновременно за 1 ход (т.е. одним шариком за 1 ход сокращается несколько линий), количество шариков, подлегаемых сокращению, подсчитывалось неправильно. Допустим, сокращается две линии - 5 шариков и 6 шариков - ранее, в массив удаляемых шариков записалось бы 11 шариков, что является неправильным. Или при сокращении линий из 5-ти и 5-ти шариков, в массив записалось бы 10 шариков. Правильно нужно было бы записать в первом случае в массив 10 шариков (11-1 шариков), а во втором случае 9 шариков. Так получается за счет того, что 1 шарик является общим для обоих линий, и он заносился в массив шариков дважды - с каждой линией по разу. Что самое интересное - на ход игры этот факт никак не влиял. Но мне для анимации прогресса игры в виде счета сокращенных линий (общее количество сокращенных шариков) это было критично. Поэтому пришлось переделать эту функциональность. 2. Добавил анимацию прогресса игры в виде счета сокращенных линий (общее количество сокращенных шариков) и отображения имени игрока. 3. Добавил "диалог" между программой и игроком при завершении игры с вопросами о сохранении игры и о создании новой игры. 4. Добавил возможность сохранения результата игры, статистику результатов сохраненных игр в виде таблицы рекордов, просмотр таблицы рекордов. Таблица рекордов автоматически сортируется при добавлении новой записи. Данная функциональность реализована в виде отдельного класса, специально для удобного интегрирования в другие приложения, требующие подобной функциональности. При реализации данной функциональности изначально хотел работать с пространством имен System.IO. В принципе все работало, но я захотел чтобы у меня был 1 файл, exe-шник и всё (чтобы нельзя было подделать таблицу рекордов через редактирование самого файла), но уперся в проблему, когда приложение во время выполнения пытается изменить само себя (ведь текстовый файл находится в ресурсах приложения). Долго бился с этим. В итоге вспомнил про сериализацию - в моем случае это является аналогом System.IO - также в итоге таблица рекордов сохраняется во внешний файл. НО - в итоге это вылилось в намного меньший объем кода, чем при использовании System.IO, и во внешний файл таблица рекордов записывается в виде потока байтов, что в самом файле выглядит в виде набора шестнадцатеричных чисел. Т.е. особо такой файл не подделаешь. Так, что я очень доволен своей работой!:))) |
|||||
6 | ФИНАЛЬНЫЙ УРОК |
|
|||
Записать видеообзор созданной игры. Какой курс ты будешь проходить следующим? |
|||||
7 | VIP. Рефакторинг Библиотеки |
|
|||
На VIP-части курса мы займёмся переносом Шариков на мобильные платформы с помощью технологии Unity. Наша цель - повторно использовать код логики игры. Для этого мы займёмся его рефакторингом и выделением в отдельную независимую библиотеку. |
|||||
8 | VIP. Интерфейс пользователя на Unity |
3 теста |
|||
На этом уроке мы расчехлим Unity Personal и создадим в нём интерфейс пользователя для игры в Шарики. Затем подключим созданную библиотеку - и, о чудо! игра сразу заработает! |
|||||
9 | VIP. Запуск игры на iPhone и Android |
|
|||
На этом уроке мы запустим игру на планшете Android и мобильном телефоне iPhone. | |||||
Итого: 9 видеоуроков |
5 час. 55 мин. 6 тестов |
15 чел. | |||
Финалисты: chokayes, Neverwinter 2, Иван Воронин, Максим Лапшинов, vip, Олег , no name, Permitin Alexey, Геннадий Кравцов, Дмитрий, Anatoli, MaxB, Tom, Tim, Евгений Куралёв . |