Создание популярной игры для развития памяти с 16 карточками.
Карточки памяти# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Мы напишем игру «Карточки памяти». На форме 16 карточек из 8 парных картинок. Цель игры - попарно открыть все карточки. Задание: Подготовить картинки, настроить форму, сделать меню. Разместить сетку, написать правила игры и сводку об авторе. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 52 мин. [Показать отчёт] Научился: Повторение - мать учения. Выполнил знакомые операции, лишний раз отложилось что где лежит, и как применяется. Сложности: Пришлось побороться с кавычками. У автора кавычки различаются, у меня кавычки внутри MessageBox воспринимались как резервированные системой, отчего возвращалась ошибка. Кавычки пришлось заменить. |
|||||
2 | Отображение карточек |
1 тест |
|||
На этом уроке мы сначала нарисуем блок-схему алгоритма игры, а потом сделаем отображение и перемешивание карточек. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 день 2 час. 43 мин. [Показать отчёт] Научился: Для массивов пиши квадратные скобки, а после for в конце строки не пиши точку с запятой. Сложности: Найти свои опечатки и получить работоспособный софт. Больше дня ушло на то, чтобы вернуться к сбойному месту кода и найти лишнюю точку с запятой, поправить круглые скобки на квадратные, необходимые массиву. 1 затык этот: for (int j = 0; j < cards.Length; j++) сюда дорисовал ещё и ; 2 затык здесь был, вместо квадратных скобок круглые впилил: opens[j] = false; |
|||||
3 | Алгоритм игры |
|
|||
У нас всё готово для программирования. На этом уроке мы напишем основной алгоритм. Будем использовать блок-схему состояний с прошлого урока. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 59 мин. [Показать отчёт] Научился: Дописал комментарии построчно для понимания. Сложности: Как и прежде - синтаксис. |
|||||
4 | Независимый класс |
|
|||
На этом уроке мы приступим к рефакторингу для выделения логики игры в отдельный, независимый класс. Мы определим в новом классе два публичных метода, а также создадим интерфейс IPlayable, который поможет нам вызывать методы из внешнего класса, не нарушая независимости. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 2 час. 7 мин. [Показать отчёт] Научился: Ctrl+точка - переименование метода повсеместно в коде. Сложности: Отследить механизм межклассовой взаимосвязи методов. Чайная ложка вылизана. До половника пока не дотянулся. ) |
|||||
5 | Классовая независимость |
|
|||
На этом уроке мы перенесём все методы и поля, которые относятся к логике игры, в независимый и самодостаточный класс LogicMemory. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 51 мин. [Показать отчёт] Научился: ctrl+X - вырезать. Прежде таким удобнейшим хоткеем не пользовался. Кидайте в меня камни )))) Переименовал методы, и это сработало. Ctrl+R и переименование будет по всему коду. Применили метод "разделяй и властвуй" на языке C#. Сложности: Осознать смысл предпринимаемых действий. |
|||||
6 | Класс в Библиотеке |
|
|||
На этом уроке мы вынесем класс LogicMemory с интерфейсом в отдельный проект для создания библиотеки. Не забудьте дать публичный доступ классу и интерфейсу, а также добавить Reference на добавленный проект. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 36 мин. [Показать отчёт] Научился: Создать проект - библиотека классов, перетащи код, методы паблик. Ссылки - добавить ссылку на библиотеку. Добавить using. Девушка, а как пройти в библиотеку? Сложности: Делать сие в первый раз. |
|||||
7 | Персональные картинки |
|
|||
Мы начинаем создание карточек памяти для мобильных платформ: Android + iPhone. В этом нам поможет технология Unity. Скачайте и установите Unity Personal, а также найдите 9 *квадратных* картинок по вашей любимой тематике. Убедитесь, что у вас есть файл MemoryLibrary.dll из прошлого урока. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 43 мин. [Показать отчёт] Научился: Установлен Unity, кони роют копытами землю, запустить его в работу. Сложности: Подобрать картинки, гугл не открывается, заблокировали его что ли? Пришлось порыться через яндекс, а у него параметризации поиска картинок по размеру не обнаружил. Плохо искал или его там не прикрутили до сих пор? |
|||||
8 | Запуск Unity с картинками |
1 тест |
|||
На этом уроке мы познакомимся с интерфейсом Unity. Разместим в Assets подготовленные картинки и добавим их на сцену. Запустим, порадуемся результату и морально подготовимся к следующему уроку. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 26 мин. [Показать отчёт] Научился: Впервые 8 мая 2018 года в 14 часов 40 минут по московскому времени запустил Unity. Китайцы расползлись по размеру. Всё видит движок. Надо будет поправить картинки. Сложности: Дождаться продолжения. |
|||||
9 | Авоська картинок |
1 тест |
|||
На этом уроке мы разместим 16 кнопок в панель, с натройкой Grid Layout. Поэкспериментируйте и напишите, что у вас получилось. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 34 мин. [Показать отчёт] Научился: Render Mode -> Screen Space - Camera Main Camera -> Render Camera Source Image -> UISprite -> drag-n-drop Picture here. Add Component -> Layout -> Grid Layout Group Constraint -> Fixed Column Count -> 4 CTRL+S (d0 n0t f0rget) the more often the better Сложности: Держать коня в упряжи. |
|||||
10 | Горизонтальное и Вертикальное |
1 тест |
|||
На этом уроке мы разместим панели внутри панели. Будем использовать горизонтальное и вертикальное выравнивание. В результате все 16 кнопок будут автоматически менять размеры под экран устройства. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 35 мин. [Показать отчёт] Научился: Horizontal Layout Panel -> Child Conrol Size Padding - отступы по краям Spacing - отступы между элементами F2 - rename Сложности: Забыл грохнуть текст у кнопки до копирования - удалял у каждой. |
|||||
11 | Открытие по щелчку |
2 теста |
|||
На этом уроке мы создадим скрипт, в котором будет метод обработки нажатия по картинке. Во второй части урока мы реализуем отображение выбранной картинки на кнопке. Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 55 мин. [Показать отчёт] Научился: Assets - Scripts - drag-n-drop -> Add Component - добавление скрипта драг-н-дропом. button - onClick - drag-n-drop MainCamera to NONE(Object) -> No Function/Program - > OnClick |
|||||
12 | Неуловимая птичка |
|
|||
На этом уроке мы подключим библиотеку к нашему проекту и запустим игру.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 21 мин. [Показать отчёт] Научился: Assets - Scripts - ImportNewAsset - MemoryLibrary.dll При пересборке библиотеки с версиями ниже 4, возвращается ошибка с первой иллюстрации Успешно пересобрать удается лишь с версией 4, ребилд без ошибок, при подкладывании новособранной библиотеки версии 4, Unity возвращает ошибку со второй иллюстрации (справа внизу на экране). Как это поженить, кроме инсталляции версии Unity 2017, а там прицепиком и 32-битная винда не устроит, пока не ясно. Сложности: Вместо NETFramework,Version=v4.6.1 соорудить библиотеку версии 3,5. Вопрос возник в процессе написания отчета. Если вся проблема в создании библиотеки версии 3.5, может кто-то поделится уже созданной MemoryLibrary.dll созданной с версией .NET Framework 3.5? |
|||||
13 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Запишите видеообзор полученных программ.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 17 мин. [Показать отчёт] Научился: 15 апреля 2018 начинал курс, 8 мая уже знакомился с Unity. Знакомство вышло неровное, были запинки на версии фреймворка, решение было в удалении лишних using System. Старт курса был на Windows 7 32-bit, невозможность установить свежую версию Unity подвела к решению начать эксплуатацию 64-битной версии операционной системы. До этого курса в принципе не понимал, зачем мне на старом железе ось под 64 бита. Были сомнения, что на 2 гигабайтах ОЗУ это всё заиграет, но заиграло и работает с мая успешно. Игры, предполагаю летать не будут, но прикладное ПО работает, учиться позволяет. Курс "Карточки памяти" сработал в роли мотиватора к обновлению hard- & software в процессе учебы. Видеообзор: 54VfADRKDOc |
|||||
14 | VIP-загрузка на Android |
|
|||
На этом уроке формулист VIP расскажет, как запустить игру на Android. | |||||
Итого: 14 видеоуроков |
3 час. 06 мин. 7 тестов |
14 чел. | |||
Финалисты: Иван Воронин, Snepper, Александр Балбашов, vip, Кирилл, Айдар, Дмитрий, Артём Нагорный, no name, Permitin Alexey, ES35, MaxB, Tim, Tom . |