Обучение языку c#

Формула программиста

основатель — Волосатов Евгений Витольдович
Open shop Карточки памяти

Карточки памяти

Создание популярной игры для развития памяти с 16 карточками.

Карточки памяти

Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Подготовка формы 00:28:24
1 тест
237 чел. ★ 4.9 Done
  Мы напишем игру «Карточки памяти».
На форме 16 карточек из 8 парных картинок.
Цель игры - попарно открыть все карточки.

Задание:
Подготовить картинки, настроить форму, сделать меню.
Разместить сетку, написать правила игры и сводку об авторе.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 52 мин. [Показать отчёт]
Научился: Повторение - мать учения. Выполнил знакомые операции, лишний раз отложилось что где лежит, и как применяется.  
Сложности: Пришлось побороться с кавычками. У автора кавычки различаются, у меня кавычки внутри MessageBox воспринимались как резервированные системой, отчего возвращалась ошибка. Кавычки пришлось заменить. 
2 Отображение карточек 00:29:01
1 тест
208 чел. ★ 4.9 Done
  На этом уроке мы сначала нарисуем блок-схему алгоритма игры,
а потом сделаем отображение и перемешивание карточек.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 день 2 час. 43 мин. [Показать отчёт]
Научился: Для массивов пиши квадратные скобки, а после for в конце строки не пиши точку с запятой. 
Сложности: Найти свои опечатки и получить работоспособный софт. Больше дня ушло на то, чтобы вернуться к сбойному месту кода и найти лишнюю точку с запятой, поправить круглые скобки на квадратные, необходимые массиву. 1 затык этот: for (int j = 0; j < cards.Length; j++) сюда дорисовал ещё и ; 2 затык здесь был, вместо квадратных скобок круглые впилил:  opens[j] = false; 
3 Алгоритм игры 00:26:50
66 чел. ★ 4.9 Done
  У нас всё готово для программирования.
На этом уроке мы напишем основной алгоритм.
Будем использовать блок-схему состояний с прошлого урока.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 59 мин. [Показать отчёт]
Научился: Дописал комментарии построчно для понимания. 
Сложности: Как и прежде - синтаксис. 
4 Независимый класс 00:19:44
53 чел. ★ 4.9 Done
  На этом уроке мы приступим к рефакторингу для выделения логики игры в отдельный, независимый класс.
Мы определим в новом классе два публичных метода, а также создадим интерфейс IPlayable,
который поможет нам вызывать методы из внешнего класса,  не нарушая независимости.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 2 час. 7 мин. [Показать отчёт]
Научился: Ctrl+точка - переименование метода повсеместно в коде. 
Сложности: Отследить механизм межклассовой взаимосвязи методов. Чайная ложка вылизана. До половника пока не дотянулся. ) 
5 Классовая независимость 00:10:03
51 чел. ★ 5 Done
  На этом уроке мы перенесём все методы и поля,
которые относятся к логике игры, в независимый
и самодостаточный класс LogicMemory.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 51 мин. [Показать отчёт]
Научился: ctrl+X - вырезать. Прежде таким удобнейшим хоткеем не пользовался. Кидайте в меня камни )))) Переименовал методы, и это сработало. Ctrl+R и переименование будет по всему коду. Применили метод "разделяй и властвуй" на языке C#. 
Сложности: Осознать смысл предпринимаемых действий. 
6 Класс в Библиотеке 00:06:18
47 чел. ★ 5 Done
  На этом уроке мы вынесем класс LogicMemory с интерфейсом в отдельный проект для создания библиотеки.
Не забудьте дать публичный доступ классу и интерфейсу, а также добавить Reference на добавленный проект.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 36 мин. [Показать отчёт]
Научился: Создать проект - библиотека классов, перетащи код, методы паблик. Ссылки - добавить ссылку на библиотеку. Добавить using. Девушка, а как пройти в библиотеку? 
Сложности: Делать сие в первый раз. 
7 Персональные картинки 00:02:33
43 чел. ★ 4.8 Done
  Мы начинаем создание карточек памяти для мобильных платформ: Android + iPhone.
В этом нам поможет технология Unity. Скачайте и установите Unity Personal,
а также найдите 9 *квадратных* картинок по вашей любимой тематике.
Убедитесь, что у вас есть файл MemoryLibrary.dll из прошлого урока.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 43 мин. [Показать отчёт]
Научился: Установлен Unity, кони роют копытами землю, запустить его в работу. 
Сложности: Подобрать картинки, гугл не открывается, заблокировали его что ли? Пришлось порыться через яндекс, а у него параметризации поиска картинок по размеру не обнаружил. Плохо искал или его там не прикрутили до сих пор? 
8 Запуск Unity с картинками 00:06:20
1 тест
42 чел. ★ 4.9 Done
  На этом уроке мы познакомимся с интерфейсом Unity.
Разместим в Assets подготовленные картинки и добавим их на сцену.
Запустим, порадуемся результату и морально подготовимся к следующему уроку.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 26 мин. [Показать отчёт]
Научился: Впервые 8 мая 2018 года в 14 часов 40 минут по московскому времени запустил Unity. Китайцы расползлись по размеру. Всё видит движок. Надо будет поправить картинки. 
Сложности: Дождаться продолжения. 
9 Авоська картинок 00:08:08
1 тест
39 чел. ★ 4.9 Done
  На этом уроке мы разместим 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 Горизонтальное и Вертикальное 00:09:11
1 тест
39 чел. ★ 5 Done
  На этом уроке мы разместим панели внутри панели.
Будем использовать горизонтальное и вертикальное выравнивание.
В результате все 16 кнопок будут автоматически менять размеры под экран устройства.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 35 мин. [Показать отчёт]
Научился: Horizontal Layout Panel -> Child Conrol Size Padding - отступы по краям Spacing  - отступы между элементами F2 - rename  
Сложности: Забыл грохнуть текст у кнопки до копирования - удалял у каждой. 
11 Открытие по щелчку 00:15:36
2 теста
39 чел. ★ 4.9 Done
  На этом уроке мы создадим скрипт, в котором будет метод обработки нажатия по картинке.
Во второй части урока мы реализуем отображение выбранной картинки на кнопке.
Отчёт отправил: 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 Неуловимая птичка 00:15:50
38 чел. ★ 4.9 Done
  На этом уроке мы подключим библиотеку к нашему проекту и запустим игру.
Отчёт отправил: 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 ФИНАЛЬНЫЙ УРОК без видео
19 чел. ★ 5 Done
  Запишите видеообзор полученных программ.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 17 мин. [Показать отчёт]
Научился: 15 апреля 2018 начинал курс, 8 мая уже знакомился с Unity. Знакомство вышло неровное, были запинки на версии фреймворка, решение было в удалении лишних using System. Старт курса был на Windows 7 32-bit, невозможность установить свежую  версию Unity подвела к решению начать эксплуатацию 64-битной версии операционной системы. До этого курса в принципе не понимал, зачем мне на старом железе ось под 64 бита. Были сомнения, что на 2 гигабайтах ОЗУ это всё заиграет, но заиграло и работает с мая успешно. Игры, предполагаю летать не будут, но прикладное ПО работает, учиться позволяет. Курс "Карточки памяти" сработал в роли мотиватора к обновлению hard- & software в процессе учебы. 
Видеообзор: 54VfADRKDOc
14 VIP-загрузка на Android 00:08:43
23 чел. ★ 4.9 Open
  На этом уроке формулист VIP расскажет, как запустить игру на Android.
  Итого:   14 видеоуроков 3 час. 06 мин.
7 тестов
14 чел. ★ 4.93  
  Финалисты:   Иван Воронин,   Snepper,   Александр Балбашов,   vip,   Кирилл,   Айдар,   Дмитрий,   Артём Нагорный,   no name,   Permitin Alexey,   ES35,   MaxB,   Tim,   Tom .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: В этом курсе создал игру "Карточки памяти". Получил много практики в работе с интерфейсом программы, научился создавать библиотеку и использовать ее в новом проекте. Результаты работы можно посмотреть по адресу http://tomfoxweb.rf.gd/memorycards/



Научился: Благодарю за урок. Продолжаем развивать ютуб канал "Маленький программист" - https://www.youtube.com/channel/UCWZ7scvu0mbOHmnG9Z6FkEQ. Здесь мои дети выкладываю программы, которые решают самостоятельно.