# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
3 теста |
|||
Дорога длиной в тысячу миль начинается с первого шага. На этом уроке мы поговорим о предстоящем путешествии и сделаем наш первый шаг - создадим консольное приложение. Отчёт отправил: 9913. vip Выполнено за 2 час. 29 мин. [Показать отчёт] Научился: Избавляться от статического метода консольного приложения интересным способом. Сложности: нет проблем |
|||||
2 | Марионетка |
|
|||
На этом слайде мы сделаем управление символом с клавиатуры.
Отчёт отправил: 9913. vip Выполнено за 14 мин. [Показать отчёт] Научился: Реализация управление простым объектом=5! Сложности: все отлично! |
|||||
3 | Представление выделяется |
2 теста |
|||
Show must go on! На этом слайде мы вынесем команды для работы с экранам в отдельный класс View. Отчёт отправил: 9913. vip Выполнено за 35 мин. [Показать отчёт] Научился: Как выделить часть кода в отдельный метод быстро и лаконично. Но и так же выделенные методы запихнуть в класс и все причесать по коду. Витольдович ты лучший! Такого суппер простого и понятного разъяснения я еще нигде никогда не встречал. Сложности: не возникало проблем! Следующее, что хотелось бы отрефакторить, в соответствии с MVC - это обработка нажатых клавиш. |
|||||
4 | Модель игры |
|
|||
На этом слайде мы выделим логику, модель в отдельный класс Game.
Отчёт отправил: 9913. vip Выполнено за 40 мин. [Показать отчёт] Научился: Логика игры ушла в отдельный класс. Создан метод перемещения объекта Сложности: мелкие ошибки по коду - ну это стандартно победимо! |
|||||
5 | Контроллер не спешит |
1 тест |
|||
На этом слайде мы сформулируем задачи контроллера и выделим его в отдельный класс.
Отчёт отправил: 9913. vip Выполнено за 1 час. 58 мин. [Показать отчёт] Научился: Создали класс контроллера и подвели программу под стандартную модель MVC Сложности: Понять как это устроено и почему же это все-таки работает. |
|||||
6 | Цветной телевизор |
1 тест |
|||
На этом слайде мы создадим ещё одно представление и задействуем его в программе.
Отчёт отправил: 9913. vip Выполнено за 3 час. 7 мин. [Показать отчёт] Научился: Применять новое представление для интерфейса отображения. А именно - реализовывать цветную схему. Сложности: немного пока не укладывается как это все взаимосвязано на коде MVC Интуитивно понятно, но по конкретике пока сложновато самому до такого дойти. Пока мало опыта. Переключать представление нужно в начале игры функция start() можно передать параметр для отображения. |
|||||
7 | Видный интерфейс |
2 теста |
|||
На этом слайде мы создадим интерфейс IView и задействуем его в классе Game. Класс Game теперь не зависит от конкретной реализации его представления. Попробуйте сделать то же самое через абстрактный класс. Отчёт отправил: 9913. vip Выполнено за 21 мин. [Показать отчёт] Научился: Было интересно реализовать работу с интерфейсом. Всего-то меняем пару строчек кода, а результат на лицо. Сложности: абстрактный класс это для меня как-то пока туманно |
|||||
8 | Игра в библиотеке |
|
|||
На этом слайде мы выделим логику игру в отдельную библиотеку.
Отчёт отправил: 9913. vip Выполнено за 19 мин. [Показать отчёт] Научился: Подключили библиотеку отрезав от проекта. Замечательно вышло. |
|||||
9 | 2. Рефакторинг. Перечисление субъектов |
|
|||
Приступаем к рефакторингу. На этом слайде мы составим список "главных героев", которые могут быть отображены на экране. Отчёт отправил: 9913. vip Выполнено за 49 дней 22 час. 43 мин. [Показать отчёт] Научился: Создал класс в котором перечислены игровые объекты Сложности: вспомнить код после долгого перерыва |
|||||
10 | Показ героя на экране |
|
|||
На этом слайде мы задействуем перечисление субъектов в интерфейсе представления и во всех его реализациях.
Отчёт отправил: 9913. vip Выполнено за 33 мин. [Показать отчёт] Научился: Внес изменения в метод отображения |
|||||
11 | Координатная структура |
|
|||
На этом слайде мы создадим структуру Coord для хранения координат объекта на карте.
Отчёт отправил: 9913. vip Выполнено за 11 час. 43 мин. [Показать отчёт] Научился: Создал отдельным классом структуру рабочая точка с двумя координатами |
|||||
12 | Карта сокровищ |
|
|||
На этом слайде мы создадим класс Level, в котором будет храниться карта уровня. Благодаря этому классы мы сможем узнать, что в какой клетке поля находится. Отчёт отправил: 9913. vip Выполнено за 2 час. 26 мин. [Показать отчёт] Научился: Создал новый класс. Сделал там методы для объектов живности (проверить живность, поместить живность на поле игры - пусть это будут коровы) Сложности: Есть мыслишки создать еще один класс - инициализация уровня Ну и соответственно в этом классе расставить фишки по своим местам что бы потом с ними можно было бы поиграть согласно правилам которые мы еще не придумали |
|||||
13 | Шаги по карте |
1 тест |
|||
На этом слайде мы задействуем класс Level в классе логики Game
Отчёт отправил: 9913. vip Выполнено за 1 час. 19 мин. [Показать отчёт] Научился: Описал Level в классе game. Отрефакторил код Сложности: нашел у себя ошибку в методе move - исправил Ступил почему контроллер про старт ругается потом разобрался (видимо усталость к вечеру сказывается - лень набросилась на мозг) Странно с переданным уровнем в методе start(level) у меня почему-то программу ни на что не отругалась и продолжила работать как ни в чем не бывало |
|||||
14 | Генерация лабиринта |
1 тест |
|||
На этом слайде мы сгенерируем лабиринт и отобразим его на экране.
Отчёт отправил: 9913. vip Выполнено за 3 час. 38 мин. [Показать отчёт] Научился: Проинициализировал первый уровень Прикольно что номер урока у меня стал совпадать с текущей датой Сложности: побил ошибки в коде по размерности консольного окна |
|||||
15 | Координатный перебор |
1 тест |
|||
На этом слайде мы создадим в структуре Coord метод для перебора всех координат, ограниченных указанным размером
Отчёт отправил: 9913. vip Выполнено за 19 мин. [Показать отчёт] Научился: Круто получилось заузинговать IEnumerable Как ни странно 15 урок 15 числа - магия! Сложности: надо бы пройтись еще разок по итератору для лучшего усвоения сложно этот елд перварить |
|||||
16 | Подходящий размер! |
|
|||
На этом слайде мы добавим проверки размеров нашего уровня. Для этого мы добавим в структуру Coord ещё один метод Coord.InSize(). Отчёт отправил: 9913. vip Выполнено за 23 час. 5 мин. [Показать отчёт] Научился: Прописал в классе координат метод проверки границ поля игры Сложности: нашел ошибку в методе move - придавил ее есть еще какие-то косяки по коду надо бы пройтись повнимательнее посмотреть |
|||||
17 | Правила игры |
1 тест |
|||
На этом слайде мы добавим проверку правил игры, чтобы главный герой не мог забираться на стенки.
Отчёт отправил: 9913. vip Выполнено за 19 час. 21 мин. [Показать отчёт] Научился: Проблему курсора решил так Console.CursorVisible = false; еще пару уроков назад в методе start() класса Game() - раз и навсегда одним махом Сложности: магия чисел продолжается 17-ый урок 17-го числа |
|||||
18 | Дорога из жёлтого кирпича |
1 тест |
|||
На этом слайде мы разукрасим уровень - установим разные цвета для разных субъектов
Отчёт отправил: 9913. vip Выполнено за 8 мин. [Показать отчёт] Научился: Классный такой урок получился чисто Воскресенской прохладительный такой. Как ветер в поле. Суппер! Сложности: Магия числе 18 урок 18 числа месяца |
|||||
19 | Ищи ветра в поле |
1 тест |
|||
На этом слайде мы напишем метод, который найдёт месторасположение субъекта на карте. Воспользуемся этим методом для инициализации первоначальных координат игрока. Отчёт отправил: 9913. vip Выполнено за 1 час. 50 мин. [Показать отчёт] Научился: Не совсем понял зачем нам искать что-то по полю. Ну видимо дальше будет ясно. Создали несуществующую координату (-1,-1) Сложности: не совсем понятен вопрос зачем нам создавать переменные у которых указываем параметры запрета на изменение если мы эти переменные и не собираемся менять... (тот самый случай а вдруг - это вот для чего применимо???) магия чисел 19 число 19 урок продолжение следует |
|||||
20 | Координатный рефакторинг |
1 тест |
|||
На этом слайде мы добавим в структуру Coord операторы == и !=, а также добавим метод проверки нахождения координат на краю поля. Отчёт отправил: 9913. vip Выполнено за 12 час. 52 мин. [Показать отчёт] Научился: Понятие operator было новым в изучении C# #region - так же удивило как и то что спрятано внутри У меня координатная область немного не так задана в связи с выводом информации о правилах игры поэтому пришлось повозиться для корректного отображения Сложности: Магия чисел продолжается 20 урок 20 числа ентого месяца Кстати про тестирование - есть один очень интересный метод программирования когда с начало пишутся тесты а потом программа |
|||||
21 | Собери монетки |
1 тест |
|||
На этом слайде мы добавим в игру монетки, научимся их собирать и при этом добавлять новые. Отчёт отправил: 9913. vip Выполнено за 4 час. 5 мин. [Показать отчёт] Научился: Реализовал предложенные методы и рефакторинг кода Создал переменную в классе game под названием count для подсчета и отображения очкоff. Вот с отображением поля для игры после отрисовки очков конечно проблема - пока не победил - поле исчезает... Сложности: Магия чисел продолжается 21 урок 21 числа |
|||||
22 | 3. Тестирование. Тестовый прогон |
|
|||
Мы приступаем к очередному этапу созданию программы - написание unit-тестов. На этом слайде мы создадим класс тестирования для структуры Coord. Отчёт отправил: 9913. vip Выполнено за 10 час. 9 мин. [Показать отчёт] Научился: Да тестирование это хорошая тема. Есть специальная ветка разработки через тестирование. Магия чисел 22 урок 22.11.2018 Сложности: Не совсем понятна логика как мы создавали алгоритм тесту вернее совсем да же непонятно что именно и как будет тестировать не ну я не совсем уже про то что совсем не понятно я про то что именно в классе coord кто догадался тестировать именно координаты и именно так а там еще много чего есть внутри класса- кто это будет тестировать? |
|||||
23 | Тест обратной стороны Луны |
|
|||
На этом слайде мы напишем тесты для методов InSize() и OnSide().
Отчёт отправил: 9913. vip Выполнено за 1 час. 14 мин. [Показать отчёт] Научился: Создали и запустили еще пару тестов для проверки Сложности: магия чисел продолжается ч-ёрт побъ-е-ри 23 урок 23.11.2018 |
|||||
24 | Случайное тестирование |
|
|||
На этом слайде мы напишем тест для методов Coord.YieldCoords() и Coord.GetRandom()
Отчёт отправил: 9913. vip Выполнено за 1 день 23 час. 9 мин. [Показать отчёт] Научился: Написали еще 2 теста для проверки работы программы Сложности: магия чисел сбилась нужно компенсировать срочно 26.11.2018 а урок еще 24 |
|||||
25 | Лабиринты тестирования |
1 тест |
|||
На этом слайде мы создадим тест для класса Level
Отчёт отправил: 9913. vip Выполнено за 1 мин. [Показать отчёт] Научился: Евгений Витольдович провел ликбез по написанию тестов |
|||||
26 | Поиск монеток на поле Дураков |
|
|||
На этом слайде мы закончим создание тестов для класса Level
Отчёт отправил: 9913. vip Выполнено за 23 час. 55 мин. [Показать отчёт] Научился: Просмотрел создание тестов писать больше не стал не вижу смысла. Как-то не заинтересовало для данной задачи. Скучно |
|||||
27 | Внутренний мир Субъекта |
|
|||
На этом слайде мы изменим модификатор доступа для метода Level.SetSubject()
Отчёт отправил: 9913. vip Выполнено за 10 час. 4 мин. [Показать отчёт] Научился: Изменили SetSubject на internal |
|||||
28 | Прогулка за ручку |
|
|||
На этом слайде мы протестируем самый главнный класс Game в нашей библиотеке.
Отчёт отправил: 9913. vip Выполнено за 37 мин. [Показать отчёт] Научился: Создали Unit test для класса game.cs Сложности: Что-то после написания тестов пропало желание вообще что-либо программировать Вообщем текущий конец данного курса меня окончательно расстроил Начиналось все так хорошо - Онлайн игра. А на выходе - 1 за долларом носится..... будем ждать вот этого и ТД и ТП |
|||||
Итого: 28 видеоуроков |
3 час. 23 мин. 18 тестов |
22 чел. | |||
Финалисты: Trira, Александр, Слава, Дмитрий Че, Иван Воронин, Andrew, Дмитрий, DimanDOS, Chip, Tekashnik, Александр, vip, Алексей В., Максим Лапшинов, Александр Балбашов, Никита, Yefim, Max, Николай Денисов, Дмитрий, MaxB, Alina . |