# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 | Шарики. Вступление |
1 тест |
|||
Правила игры Поле 9 на 9. Шарики шести цветов. За один ход можно переместить один шарик с одного места на другое. Шарик можно перемещать только на свободные клетки, двигаясь вверх/вниз/влево/вправо. Линии из 5+ шариков исчезают, а игрок получает доп. ход. После каждого хода в случайных местах появляются три новых шарика. Цель игры — продержаться как можно дольше, собрать как можно больше линий. Подсчёт очков не регламентирован, есть разные варианты. Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 8 час. 46 мин. [Показать отчёт] Научился: Посмотрел видео, нарисовал блок-схему состояний, сфотографировал её, немного поиграл в игру Lines 98, сходили семьёй к кумовьям, вернулись, нашёл в интернете красивые шарики, нарезал их по размеру. Недостающие спрайты доделаю по мере надобности. |
|||||
2 | Шарики. Анализ игры |
1 тест |
|||
Анализ игры и динамическое создание поля из картинок.
Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 11 час. 15 мин. [Показать отчёт] Научился: На этом уроке мы написали методы для инициализации массива PicturesBox-ов (9 на 9) и отображения необходимой картинки в конкретной ячейке. Так же я нарисовал новые шарики: обычные, маленькие и подпрыгивающие. Вывел несколько на игровое поле. |
|||||
3 | Шарики. Логика игры |
1 тест |
|||
На этом уроке мы реализуем логику программы. Вся логика программы реализуется в отдельном классе. Сделаем, чтобы программа отрабатывала все состояния. Шарики можно будет выбирать, пермещать, будут появляться следущие шарики. Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 16 час. 2 мин. [Показать отчёт] Научился: На этом уроке мы написали половину логической части игры "Шарики". Появляются большие шарики, маленькие. Научили шарики подпрыгивать и перемещаться в пустую клетку. Урок был интересным и познавательным)). |
|||||
4 | Шарики. Поиск пути |
|
|||
Реализация самого сложного алгоритма: поиск кратчайшего пути для перемещения шарика. Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 8 час. 12 мин. [Показать отчёт] Научился: На этом уроке я научился алгоритму "волна" для поиска кратчайшего пути между двумя точками. Очень интересная техника! Возьму на вооружение!)). В конце урока наша программа уже может находить самый короткий путь к точке назначения, рисовать его и перемещать по нём шарик. |
|||||
5 | Шарики. Поиск линий |
|
|||
Реализация последнего алгоритма. Поиск линий из 5+ шариков и анимация их удаления. Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 1 день 2 час. 21 мин. [Показать отчёт] Научился: На этом уроке мы дописали логику игры. Метод FindStripLine() ищет по всему полю линии из 5 шариков одного цвета, а StripLines() создаёт анимацию исчезания линии. Я расширил анимацию, сделал её из 14 кадров - шарики плавно 2 раза прыгают на поверхности и потом исчезают. Для этого сделал промежуточные спрайты между обычным шариком и упавшим. Еще планирую добавить звуки и отображение набранных очков. |
|||||
6 | ФИНАЛЬНЫЙ УРОК |
|
|||
Записать видеообзор созданной игры. Какой курс ты будешь проходить следующим? Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 16 час. 37 мин. [Показать отчёт] Научился: Интересный получился видео-курс! При создании игры, кроме написания логики, меня увлекло графическое оформление (рисование спрайтов шариков и создание анимации), а так же добавление звуковых эффектов. Уже хочется быстрее перенести игру в Unity и протестировать на Android.)) Видеообзор: awXeQPyOO8k |
|||||
7 | VIP. Рефакторинг Библиотеки |
|
|||
На VIP-части курса мы займёмся переносом Шариков на мобильные платформы с помощью технологии Unity. Наша цель - повторно использовать код логики игры. Для этого мы займёмся его рефакторингом и выделением в отдельную независимую библиотеку. Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 6 час. 14 мин. [Показать отчёт] Научился: Научился создавать и компилировать DLL-библиотеку. Создал еще один делегат для проигрывания музыки в основном классе. Еще не знаю как это отразится при портировании в Unity. |
|||||
8 | VIP. Интерфейс пользователя на Unity |
3 теста |
|||
На этом уроке мы расчехлим Unity Personal и создадим в нём интерфейс пользователя для игры в Шарики. Затем подключим созданную библиотеку - и, о чудо! игра сразу заработает! Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 1 день 2 час. 59 мин. [Показать отчёт] Научился: Научился добавлять в Unity библиотеку, созданную в Visual Studio. Чтобы игра заработала нужно было просто создать класс, отображающий панель с 81 кнопкой и несколько методов! Это конечно грандиозно!)) На уроке возникла проблема с добавлением спрайтов из ресурсов. Немного погуглил и нашёл рабочий вариант: Sprite sprite = Resources.Load<Sprite>("Pictures/" + fileName); где Pictures - это любая папка в Assets/Resources. Таким же образом добавил и звуки, только использовал Resources.Load<AudioClip>... Сложности: При добавлении библиотеки в Unity она отобразилась как неизвестный файл. Это меня смутило и я думал, что ничего не сработало. Поэтому я её перекомпилировал, добавив в класс Game, как советуют: using UnityEngine; и в References: UnityEngine.dll. Сейчас мне кажется, что это было лишним. При том, когда мы одновременно добавляем using System; и using UnityEngine; , то при использовании Random возникает конфликт, так как этот класс есть в обоих библиотеках. Чтоб не было ошибки, приходится писать: System.Random. |
|||||
9 | VIP. Запуск игры на iPhone и Android |
|
|||
На этом уроке мы запустим игру на планшете Android и мобильном телефоне iPhone.
Отчёт отправил: 20528. Геннадий Кравцов Выполнено за 3 час. 18 мин. [Показать отчёт] Научился: Интересный был видеокурс. Я потрудился над рисованием шариков, созданием анимации и подключением звуков. И самое главное - это узнал как создать и добавить в Unity библиотеку, написанную на C# в Visual Studio. На выходе получилась рабочая игра, в которой стоит еще реализовать подсчёт очков. |
|||||
Итого: 9 видеоуроков |
5 час. 55 мин. 6 тестов |
15 чел. | |||
Финалисты: chokayes, Neverwinter 2, Иван Воронин, Максим Лапшинов, vip, Олег , no name, Permitin Alexey, Геннадий Кравцов, Дмитрий, Anatoli, MaxB, Tom, Tim, Евгений Куралёв . |