# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
3 теста |
|||
Дорога длиной в тысячу миль начинается с первого шага. На этом уроке мы поговорим о предстоящем путешествии и сделаем наш первый шаг - создадим консольное приложение. Отчёт отправил: 14981. DimanDOS Выполнено за 3 час. 44 мин. [Показать отчёт] Научился: Идея игры нравится. Решил назвать игру Арвон. Спасти планету (Arvone. Save the planet). Арвон - это имя главного героя игры. А после прохождения курсов ещё планирую добавить пришельцев, которых нужно уничтожать. Сложности: Трудностей не возникало |
|||||
2 | Марионетка |
|
|||
На этом слайде мы сделаем управление символом с клавиатуры.
Отчёт отправил: 14981. DimanDOS Выполнено за 15 мин. [Показать отчёт] Научился: Очень интересная игра получается! Никогда таких не делал. Научился создавать динамический объект в консоли (задавать координаты, считывать клавиши, передвигать текстовый символ) Сложности: Пока что ничего |
|||||
3 | Представление выделяется |
2 теста |
|||
Show must go on! На этом слайде мы вынесем команды для работы с экранам в отдельный класс View. Отчёт отправил: 14981. DimanDOS Выполнено за 11 мин. [Показать отчёт] Научился: Думаю что ещё можно отрефакторить в отдельную функцию передвижение персонажа. Так как функция у нас называется то Start, а не Game или Logic. Там должны задаваться только начальные параметры, а вся логика игры должна быть отдельно. Кстати, ещё такой вопрос: для создания уже мобильной игры, будет использоваться технология Unity? Сложности: Трудностей не возникает |
|||||
4 | Модель игры |
|
|||
На этом слайде мы выделим логику, модель в отдельный класс Game.
Отчёт отправил: 14981. DimanDOS Выполнено за 1 день 38 мин. [Показать отчёт] Научился: Заметил в заданиях ошибку - написано создать класс Model, а в уроке класс Game. Сложности: Пока что ничего |
|||||
5 | Контроллер не спешит |
1 тест |
|||
На этом слайде мы сформулируем задачи контроллера и выделим его в отдельный класс.
Отчёт отправил: 14981. DimanDOS Выполнено за 22 час. 33 мин. [Показать отчёт] Научился: Мне кажется сильно много уроков было уделено рефакторингу, ведь это всё можно было совместить в один урок. Кстати, сделать так чтобы наш игрок ехал пока не будет нажата другая клавиша, типа как в змейке, можно сделать с помощью while, пока не будет нажата другая клавиша. Но лучше сделать чтобы персонаж катился пока клавиша зажата, к примеру в юнити это можно реализовать просто с помощью метода Input.GetKey(KeyCode.A) Сложности: Трудностей не возникало |
|||||
6 | Цветной телевизор |
1 тест |
|||
На этом слайде мы создадим ещё одно представление и задействуем его в программе.
Отчёт отправил: 14981. DimanDOS Выполнено за 9 мин. [Показать отчёт] Научился: Да, в цвете всё намного круче! Сложности: Трудностей не возникало |
|||||
7 | Видный интерфейс |
2 теста |
|||
На этом слайде мы создадим интерфейс IView и задействуем его в классе Game. Класс Game теперь не зависит от конкретной реализации его представления. Попробуйте сделать то же самое через абстрактный класс. Отчёт отправил: 14981. DimanDOS Выполнено за 14 мин. [Показать отчёт] Научился: Научился работать с интерфейсами Сложности: Трудностей как всегда не возникало |
|||||
8 | Игра в библиотеке |
|
|||
На этом слайде мы выделим логику игру в отдельную библиотеку.
Отчёт отправил: 14981. DimanDOS Выполнено за 10 мин. [Показать отчёт] Научился: Очень жду продолжения курса! Надеюсь, оно в ближайшее время появится! :) Сложности: Ждать пока появиться продолжение курса! |
|||||
9 | 2. Рефакторинг. Перечисление субъектов |
|
|||
Приступаем к рефакторингу. На этом слайде мы составим список "главных героев", которые могут быть отображены на экране. Отчёт отправил: 14981. DimanDOS Выполнено за 12 час. 55 мин. [Показать отчёт] Научился: Ура!!! Наконец-то появилось продолжение курса!!! Сложности: Пока всё идёт супер! |
|||||
10 | Показ героя на экране |
|
|||
На этом слайде мы задействуем перечисление субъектов в интерфейсе представления и во всех его реализациях.
Отчёт отправил: 14981. DimanDOS Выполнено за 9 мин. [Показать отчёт] Научился: Класс! Да, второй вариант в 1000 раз удобнее. Можно было бы первые и не показывать :) Сложности: Как обычно ничего! |
|||||
11 | Координатная структура |
|
|||
На этом слайде мы создадим структуру Coord для хранения координат объекта на карте.
Отчёт отправил: 14981. DimanDOS Выполнено за 2 дня 7 час. 56 мин. [Показать отчёт] Научился: Отличный урок!!! Но уже поскорей бы хочется чего-то добавить :) Сложности: Был один момент... При рефакторинге в классе Game допустил ошибку: в строке view.Show(moveCoord, Subject.user1); написал вместо moveCoord - userCoord. А всё копипаста проделки... |
|||||
12 | Карта сокровищ |
|
|||
На этом слайде мы создадим класс Level, в котором будет храниться карта уровня. Благодаря этому классы мы сможем узнать, что в какой клетке поля находится. Отчёт отправил: 14981. DimanDOS Выполнено за 11 дней 18 час. 57 мин. [Показать отчёт] Научился: Отлично! Немного изменил цвета. То, что уроки короткие думаю очень хорошо. Так намного легче проходить курсы. Но всё же уроки часто бывают сильно короткие - по 5 минут. Думаю, норма должна быть 15-20 минут. По моему 5-10 слишком мало, 25-30 - много. А так очень удобно! Сложности: Так всё короткое, ошибок просто нет! |
|||||
13 | Шаги по карте |
1 тест |
|||
На этом слайде мы задействуем класс Level в классе логики Game
Отчёт отправил: 14981. DimanDOS Выполнено за 5 дней 1 час. 0 мин. [Показать отчёт] Научился: Отлично! Уроки выполнять очень удобно! Сложности: Ничегошеньки :) |
|||||
14 | Генерация лабиринта |
1 тест |
|||
На этом слайде мы сгенерируем лабиринт и отобразим его на экране.
Отчёт отправил: 14981. DimanDOS Выполнено за 4 час. 30 мин. [Показать отчёт] Научился: Спасибо за такой прекрасный урок! Сложности: Трудностей не возникало |
|||||
15 | Координатный перебор |
1 тест |
|||
На этом слайде мы создадим в структуре Coord метод для перебора всех координат, ограниченных указанным размером
Отчёт отправил: 14981. DimanDOS Выполнено за 1 день 2 час. 54 мин. [Показать отчёт] Научился: Отличный урок! Сложности: Понять все эти yield'ы... :) |
|||||
16 | Подходящий размер! |
|
|||
На этом слайде мы добавим проверки размеров нашего уровня. Для этого мы добавим в структуру Coord ещё один метод Coord.InSize(). Отчёт отправил: 14981. DimanDOS Выполнено за 4 дня 6 час. 44 мин. [Показать отчёт] Научился: Класс! Уже игра становиться интереснее :) Сложности: - |
|||||
17 | Правила игры |
1 тест |
|||
На этом слайде мы добавим проверку правил игры, чтобы главный герой не мог забираться на стенки.
Отчёт отправил: 14981. DimanDOS Выполнено за 1 день 20 час. 14 мин. [Показать отчёт] Научился: Урок просто Сложности: Трудностей конечно же не возникало! |
|||||
18 | Дорога из жёлтого кирпича |
1 тест |
|||
На этом слайде мы разукрасим уровень - установим разные цвета для разных субъектов
Отчёт отправил: 14981. DimanDOS Выполнено за 3 час. 40 мин. [Показать отчёт] Научился: Прекрасный урок! Сложности: Ничегошеньки! |
|||||
19 | Ищи ветра в поле |
1 тест |
|||
На этом слайде мы напишем метод, который найдёт месторасположение субъекта на карте. Воспользуемся этим методом для инициализации первоначальных координат игрока. Отчёт отправил: 14981. DimanDOS Выполнено за 12 час. 15 мин. [Показать отчёт] Научился: Узнал чуть больше об исключениях и научился их вызывать. Урок отличный, на все 5 звёзд! Сложности: Да так то и ничего :) |
|||||
20 | Координатный рефакторинг |
1 тест |
|||
На этом слайде мы добавим в структуру Coord операторы == и !=, а также добавим метод проверки нахождения координат на краю поля. Отчёт отправил: 14981. DimanDOS Выполнено за 3 час. 43 мин. [Показать отчёт] Научился: Познакомился с region и созданием своих операторов. "Бегу" дальше :) Сложности: No problems :) |
|||||
21 | Собери монетки |
1 тест |
|||
На этом слайде мы добавим в игру монетки, научимся их собирать и при этом добавлять новые. Отчёт отправил: 14981. DimanDOS Выполнено за 4 час. 29 мин. [Показать отчёт] Научился: Получше вник во всё создание объектов :) Урок как всегда выдался на славу :) Сложности: Трудностей не возникало |
|||||
22 | 3. Тестирование. Тестовый прогон |
|
|||
Мы приступаем к очередному этапу созданию программы - написание unit-тестов. На этом слайде мы создадим класс тестирования для структуры Coord. Отчёт отправил: 14981. DimanDOS Выполнено за 12 час. 10 мин. [Показать отчёт] Научился: Познакомился с тестами. Очень интересная тема :) Сложности: Вникнуть в понятие тестов |
|||||
23 | Тест обратной стороны Луны |
|
|||
На этом слайде мы напишем тесты для методов InSize() и OnSide().
Отчёт отправил: 14981. DimanDOS Выполнено за 1 день 46 мин. [Показать отчёт] Научился: Очень долго разбирался с проблемой: на OnSideTest выходит сбой..... Решал-решал, переписывал код, а всё без толку :( Надеюсь кто-то поможет.... Весь код в скринах Сложности: Решить проблему |
|||||
24 | Случайное тестирование |
|
|||
На этом слайде мы напишем тест для методов Coord.YieldCoords() и Coord.GetRandom()
Отчёт отправил: 14981. DimanDOS Выполнено за 3 час. 21 мин. [Показать отчёт] Научился: Класс! Тестирование очень интересная тема! Сложности: Трудностей не возникало |
|||||
25 | Лабиринты тестирования |
1 тест |
|||
На этом слайде мы создадим тест для класса Level
Отчёт отправил: 14981. DimanDOS Выполнено за 1 час. 35 мин. [Показать отчёт] Научился: ##### # 1$ # ##### Спасибо за урок! Сложности: Ничего |
|||||
26 | Поиск монеток на поле Дураков |
|
|||
На этом слайде мы закончим создание тестов для класса Level
Отчёт отправил: 14981. DimanDOS Выполнено за 2 час. 52 мин. [Показать отчёт] Научился: Отличный урок! Спасибо! Тесты - это ВЕЩЬ! Сложности: No problems :) |
|||||
27 | Внутренний мир Субъекта |
|
|||
На этом слайде мы изменим модификатор доступа для метода Level.SetSubject()
Отчёт отправил: 14981. DimanDOS Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: Познакомился с internal. Познавательный урок! Сложности: Решил остановить видео и подумать самому, что там нужно написать. В итоге было сложно, но я сам догадался что там должен быть internal. Один раз с ним уже работал при создании своей программы, сейчас закрепил |
|||||
28 | Прогулка за ручку |
|
|||
На этом слайде мы протестируем самый главнный класс Game в нашей библиотеке.
Отчёт отправил: 14981. DimanDOS Выполнено за 6 час. 8 мин. [Показать отчёт] Научился: Тесты очень помогли, нашёл небольшую ошибку в Game. Очень жду продолжения курса! :) Сложности: Найти ошибку. |
|||||
Итого: 28 видеоуроков |
3 час. 23 мин. 18 тестов |
22 чел. | |||
Финалисты: Trira, Александр, Слава, Дмитрий Че, Иван Воронин, Andrew, Дмитрий, DimanDOS, Chip, Tekashnik, Александр, vip, Алексей В., Максим Лапшинов, Александр Балбашов, Никита, Yefim, Max, Николай Денисов, Дмитрий, MaxB, Alina . |