Создание популярной игры для развития памяти с 16 карточками.
Карточки памяти# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Мы напишем игру «Карточки памяти». На форме 16 карточек из 8 парных картинок. Цель игры - попарно открыть все карточки. Задание: Подготовить картинки, настроить форму, сделать меню. Разместить сетку, написать правила игры и сводку об авторе. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: ничему новому Сложности: ничего Комментарии: Отличный урок, как всегда всё ясно и понятно. Добавил в эту игру всё тех-же героев Dizzy, которых уже видели в игре "Скорость Реакции", подготовил в фотошопе все необходимые текстуры, подготовил форму, переходим ко второй части =) |
|||||
2 | Отображение карточек |
1 тест |
|||
На этом уроке мы сначала нарисуем блок-схему алгоритма игры, а потом сделаем отображение и перемешивание карточек. Отчёт отправил: 10558. Иван Воронин Выполнено за 8 час. 00 мин. [Показать отчёт] Научился: подключать mp3 файлы, повторение старого Сложности: найти кадры ко всем персонажам (для троих пришлось запускать игры Dizzy на эмуляторе, чтобы найти новые кадры для анимации) Комментарии: разработана уникальная иконка для формы и банарника (как обычно в фотошопе) так же был создан в фотошопе игровой фон, стилизованный под ZX Spectrum подготовлены в одинаковом стиле текстуры персонажей и створок для окошек добавлен счётчик времени прохождения игры (начало подсчёта после первого клика) добавлен счётчик количества кликов до окончания игры (в конце отображается статистика времени и кликов) добавлена анимация открывания шторок, за которыми виднеется персонаж добавлены звуки открывания/закрывания шторок добавлены мелодии: до начала игра (первый клик), Правила игры, О игре, Победа и Дискотека перед сбросом и началом новой игровой сессии добавлена анимация персонажей, если удалось найти двойника (радуются этому) из-за добавления анимации шторок, выявился баг, который был устранён шторки открываются асинхронно, т.е. можно не ждать завершения анимации, кликать с любой скоростью по шторкам звуковые файлы решил не добавлять в ресурсы бинарника, создал отдельную папку data и конвертировал их в форма mp3, чтобы меньше занимали места =) название status мне тоже не очень понравилось, согласен с Магистром, поэтому переименовал в phase в пункт меню Игра был добавлен новый пункт Звук, с его помощью можно включать/выключать звуковые эффекты (индикатор Галочка если звук есть) и ещё куча недокументированных правок =) з.ы. нагляднее в видео Видеообзор: https://youtu.be/x_QaXgVfZeM |
|||||
3 | Алгоритм игры |
|
|||
У нас всё готово для программирования. На этом уроке мы напишем основной алгоритм. Будем использовать блок-схему состояний с прошлого урока. Отчёт отправил: 10558. Иван Воронин Выполнено за 29 мин. [Показать отчёт] Научился: Так как реализовал эту игру ещё летом 2016, а по текущему курсу это зафиксировано в прошлом уроке, то прикрепляю видео отчёт о проделанной работе. з.ы. подробное описание доработок в прошлом уроке. Сложности: найти время Видеообзор: x_QaXgVfZeM |
|||||
4 | Независимый класс |
|
|||
На этом уроке мы приступим к рефакторингу для выделения логики игры в отдельный, независимый класс. Мы определим в новом классе два публичных метода, а также создадим интерфейс IPlayable, который поможет нам вызывать методы из внешнего класса, не нарушая независимости. Отчёт отправил: 10558. Иван Воронин Выполнено за 44 мин. [Показать отчёт] Научился: Так как я реализовал игрушку по своему с кучей доработок, то у меня индексы клеток от 0 до 15 и при клике по правой-нижней клетке появляется окно победы и играет музыка =) Всё отлично, идём дальше. Сложности: найти время |
|||||
5 | Классовая независимость |
|
|||
На этом уроке мы перенесём все методы и поля, которые относятся к логике игры, в независимый и самодостаточный класс LogicMemory. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 3 мин. [Показать отчёт] Научился: Перенести логику не составило труда, вначале это сделал, потом досмотрел видео. Оптимизировал создание новой игры, теперь закрывают только те окошки, которые в момент создания новой игры были открыты. Изза того, что у меня реализована анимация открывания/закрывания шторок, то пришлось устранить слишком раннюю замену перемешанных картинок, чтобы в момент закрывания шторок не подглядеть кто где в новой игре =) Поддержка звуковых эффектов осталась не перенесённой. Поддержку анимации перенёс в класс логики. Реализовал необходимые геттеры/сеттеры для получения информации о игровой статистике. Всё отлично, идём дальше. Сложности: найти время |
|||||
6 | Класс в Библиотеке |
|
|||
На этом уроке мы вынесем класс LogicMemory с интерфейсом в отдельный проект для создания библиотеки. Не забудьте дать публичный доступ классу и интерфейсу, а также добавить Reference на добавленный проект. Отчёт отправил: 10558. Иван Воронин Выполнено за 21 мин. [Показать отчёт] Научился: Так как уже подобное реализовывал сам, то и данный урок выполнил самостоятельно, потом посмотрел, как видно из скриншота, библиотека в данном случае автоматически копируется рядом с бинарником игры и именно оттуда и берётся референс, а не с папки проекта самой библиотеки. И второе уточнение, версия библиотеки не обязательно должна быть такой же как и версия приложения/игры, но она должна быть не выше, т.е. я сделал версию библиотеки 3.5, а версию игры оставил 4.5 и всё работает отлично. Это логично, так как проект, который использует новую версию или туже, он понимает свои версии и ниже, а проект к которому подключена более современная библиотека, он не понимает что с ней делать. Сложности: найти время |
|||||
7 | Персональные картинки |
|
|||
Мы начинаем создание карточек памяти для мобильных платформ: Android + iPhone. В этом нам поможет технология Unity. Скачайте и установите Unity Personal, а также найдите 9 *квадратных* картинок по вашей любимой тематике. Убедитесь, что у вас есть файл MemoryLibrary.dll из прошлого урока. Отчёт отправил: 10558. Иван Воронин Выполнено за 12 мин. [Показать отчёт] Научился: Такс, новые 4 урока, отлично, движемся. з.ы. Новые картинки не хочу, хочу Диззи =) Сложности: найти время |
|||||
8 | Запуск Unity с картинками |
1 тест |
|||
На этом уроке мы познакомимся с интерфейсом Unity. Разместим в Assets подготовленные картинки и добавим их на сцену. Запустим, порадуемся результату и морально подготовимся к следующему уроку. Отчёт отправил: 10558. Иван Воронин Выполнено за 13 мин. [Показать отчёт] Научился: Всё отлично, идём дальше. Сложности: найти время |
|||||
9 | Авоська картинок |
1 тест |
|||
На этом уроке мы разместим 16 кнопок в панель, с натройкой Grid Layout. Поэкспериментируйте и напишите, что у вас получилось. Отчёт отправил: 10558. Иван Воронин Выполнено за 31 мин. [Показать отчёт] Научился: Эксперименты штука хорошая. Грид использовать не стал, хотя идея интересная, но решил реализовать поддержку любых разрешений экрана и отображение поля через канвас со спрайтами. Использовал так же кнопки, но для другой задачи, реализую систему анимации через них =) Так же реализовал автоматическую подгонку игрового поля во весь экран без изменения пропорций игрового поля. Сложности: найти время |
|||||
10 | Горизонтальное и Вертикальное |
1 тест |
|||
На этом уроке мы разместим панели внутри панели. Будем использовать горизонтальное и вертикальное выравнивание. В результате все 16 кнопок будут автоматически менять размеры под экран устройства. Отчёт отправил: 10558. Иван Воронин Выполнено за 12 мин. [Показать отчёт] Научился: Так как это всё проделал ещё на прошлом уроке, то просто просмотрел видео. Идея интересная, но так как я реализовал по своему, а именно, чтобы поле и картинки сохраняли свои пропорции, то на свою реализацию у меня ушло несколько минут. Сложности: найти время |
|||||
11 | Открытие по щелчку |
2 теста |
|||
На этом уроке мы создадим скрипт, в котором будет метод обработки нажатия по картинке. Во второй части урока мы реализуем отображение выбранной картинки на кнопке. Отчёт отправил: 10558. Иван Воронин Выполнено за 18 мин. [Показать отчёт] Научился: Реализовал при клике по кнопкам, отображение картинок за шторками и цикличность анимации шторок. Не переносил необходимые картинки на пол за пределами камеры, реализовал это через префабы, удобная штука. Реализовал загрузку всех текстур картинок и кадров анимации шторок во время запуска игры. Всё отлично, идём дальше. Сложности: найти время |
|||||
12 | Неуловимая птичка |
|
|||
На этом уроке мы подключим библиотеку к нашему проекту и запустим игру.
Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 51 мин. [Показать отчёт] Научился: Перенёс свои наработки, адаптировал их под реалии Юньки, всё отлично работает. Музыку, звуки и т.д. фишки пока не стал реализовывать, а то появятся новые уроки и будет нечем заняться. По поводу видео у меня произошло дежавю, так как уже аналогичные телодвижения с подключением dll в проект на Юньке делали в недавнем курсе по "Онлайн шахматам" и я уже высказал своё мнение по этому поводу, поэтому могу лишь добавить, что у меня проблем не возникло как и в прошлый раз, заняло это пару кликов. Жду дальнейшие уроки по украшательствам, чтобы внедрить идеи и реализовать поддержку звуковых эффектов. Сложности: найти время Видеообзор: PUmJlXyw4Tc |
|||||
13 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Запишите видеообзор полученных программ.
Отчёт отправил: 10558. Иван Воронин Выполнено за 41 мин. [Показать отчёт] Научился: Так же случайно заметил, что в данном курсе добавили пункт: "Финальный урок" и из-за этого курс стал не пройденным полностью =) Решил исправить это досадное недоразумение. На видео продемонстрировал три версии: Windows, WebGL и Android. Кто хочет поиграть в данную демо-версию, можете это сделать по данному адресу: http://dizzy-memory.jgp.su/ Отличный курс и портирование на Юньку его только улучшило. Сложности: найти время Видеообзор: FI_-MKxUhKk |
|||||
14 | VIP-загрузка на Android |
|
|||
На этом уроке формулист VIP расскажет, как запустить игру на Android.
Отчёт отправил: 10558. Иван Воронин Выполнено за 21 мин. [Показать отчёт] Научился: Доработал поддержку любых разрешений экрана устройств без нарушения пропорций объектов игры. Реализовал поддержку звуковых эффектов и музыкального сопровождения. Протестировал на всех доступных разрешениях в самой Юньке и на своём планшете, см. видео. Проблем с которыми столкнулись в видео не возникало, кроме поддержки прозрачности в некоторых файлах, но это можно отдельно подправить именно для Android устройств, выбрав необходимый формат перекодирования графики. Сложности: найти время Видеообзор: SNb7DZM0PhA |
|||||
Итого: 14 видеоуроков |
3 час. 06 мин. 7 тестов |
14 чел. | |||
Финалисты: Иван Воронин, Snepper, Александр Балбашов, vip, Кирилл, Айдар, Дмитрий, Артём Нагорный, no name, Permitin Alexey, ES35, MaxB, Tim, Tom . |