Дата | Видеоурок | Результат | |
---|---|---|---|
Демо игры VIP. Устный счёт | + 15 | ||
Первый раз попробовал try catch - полезная вещь, позволяет защититься от "неадекватного" юзера. Написал чуть по своему, использовал свойства кнопок tag, чтобы не писать лишний код и тд. Неверные ответы выделял красным цветом. все доступно |
|||
Демо игры ФИНАЛЬНЫЙ УРОК | + 15 | ||
быстро лепить микроотзывы с макрофотографиями |
|||
Демо игры Камень ножницы бумага | + 15 | ||
Широко пользовался отладчиком, чтобы выловить мелки ошибки. Еще потренил приведение типов, свободно ориентируюсь в свойствах формы и элементов. Нормально работаю с событиями, в тч умею корректно удалить лишние. Уверенно пользуюсь таймером. Поработал с новым элементом формы - панель. все доступно |
|||
Демо игры Бот для Быстрощёлка | + 15 | ||
Из программы управлял таймером, тактика сначала полностью смотреть урок потом самостоятельно делать хорошо стимулирует мышление, бодро шлепаю формы |
|||
Демо игры Игра Быстрощёлк | + 15 | ||
Теперь делаю по другому, смотрю полностью видео, потом не глядя делаю задание, в трудных местах если гугл сходу не помог, подсматриваю в видео. Пощупал класс DateTime, TimeSpan.. форматированный вывод. Бодро леплю формы, понимаю что делать с событиями, как использовать свойства. #.# у меня выводил в формате .7 , пришлось сделать так: label_result.Text = clicks_second.ToString ("0.00") + " clicks per second"; |
|||
Демо игры Лабиринт 2D - игра | + 15 | ||
дополнительно прокачал навыки работы с формами, поискал неочевидные ошибки, очень понравился способ обратиться именно к тому объекту который вызвал событие + приведение к нужному типу (чтобы получить доступ к свойству Visible). Таймер на форме - удобен и прост в применении кнопки финиш - на 1-м и 2-м уровне находились на одном и том же месте - и при открытии 2-го уровня мышь доли секунды находилась на финише из-за чего срабатывал выход ДО всего другого, потратил некоторое время, пока дошел в чем дело |
|||
Демо игры Лабиринт 2D - меню | + 15 | ||
нашел иконки в сети, поставил аудиоРекордер на свой мак и генерю .wav файлы, научился пробрасывать звук через rdp (иначе невозможно было проверить, что все работает корректно), вспомнил как работать со свойствами и событиями элементов формы. |
|||
Демо игры C# чего начать программировать | + 15 | ||
Хочу достаточно свободно программировать на си шарпе, так чтобы не упираться в слабое знание на каждом шагу (роботов для трейдинга) |
|||
Теория ООП Интерфейс. Площадка для игры. | + 16 | ||
достаточно общо понял, как создать "поле" для размещения на нем объектов (вовлечена куча классов, структура и тд). полистал описание на сайте майкрософта примененных классов. Класс Арена создает нам фактически поле (Graphics) для последующего размещения/рисования на нем много смутнознакомых (оч давно проходил первую часть ООП) классов все ок |
|||
Теория ООП Интерфейс. Создаём кружок. | + 16 | ||
пишу быстрее самого урока, а потом проверяю все ли ОК все ок таймер надо, список игроков наполнить, визуализацию какую-никакую на форме надо (в виде кружков цветных) |
|||
Теория ООП Интерфейс. Алгоритм игры. | + 16 | ||
развитие темы предыдущего урока, пишем на более высоком уровне абстракции. все доступно сжать 2-3 урока в один чуть более длинный. для запуска игры, нужно собственно создать и добавить игроков, задать таймером ритм игры, определиться с критерием "догнал" в игре. |
|||
Теория ООП Интерфейс. Правила игры. | + 16 | ||
разработка на более высоком уровне абстракции, мы пишем код под неизвестные заранее объекты с заданными (в интерфейсе) свойствами/функционалом. маленький хак, писать сначала все что хотим и чуть позже с помощь intellysense расписывать реализацию. все ясно и понятно пока все ок |
|||
Нано-игры Арканоид - Уровень и ракетка | + 16 | ||
оригинальное применение кнопок и лейблов, побольше узнал про свойства и события форм, кнопок, лейблов небольшому удобному "хаку" как быстро найти вызов "лишнего" события, которое мы удалили руками ракетка "залипала" у краев - вылечил добавлением условия что выход из метода если "ракетка у левого края и пытаемся двигать еще левее, если правее - ок", для правого края зеркально. Проблемы что ракетка не доходит до краев у меня нет, сделал чтобы чуть чуть заходила за край для верности (чтобы шарик не "проваливался" в будущем) все ОК |
|||
Теория ООП Интерфейс. Зачем он нужен. | + 20 | ||
Интерфейс - это набор и сигнатура (если я правильно применяю термин) методов (то есть, что возвращают, если возвращают вообще хоть что-нибудь, какие-нибудь там параметры методов и тд), без собственно описания этих методов, оформленных вместе так, что их можно унаследовать. Видимо конкретная реализация этих методов возможна у наследников. пока все доступно все ок |
|||
Теория ООП ПОЛУФИНАЛЬНЫЙ УРОК. | + 20 | ||
Сергей, курс ООП понравился, могу теперь наследовать, инкапсулировать и полиморфизировать. все ок все ок |
|||
Теория ООП Перемещение Снеговиков | + 20 | ||
Прокачал дополнительно полиморфизм. все норм все норм |
|||
Теория ООП Перемещение других фигур | + 20 | ||
Ввел поправку для начальных координат всего зоопарка фигур Position, написал метод Demo(), получившуюся произвольную композицию фигур двигаю по нажатию кнопки все норм все ок |
|||
Теория ООП Перемещение круга | + 33 | ||
свободно разруливаю в получившейся программе (пишу слегка по своему, соотв все проблемы приходится решать самому, в лоб из видео не спишешь, но структура повторена, полиморфизм, наследование и инкапсуляция применены). Отдельный кружок нарисовал, кнопку сделал, кружок перемещается. все ок все ок |
|||
Теория ООП Спрайт для Снеговика | + 20 | ||
Полиморфизм во всей красе, перегружаю методы, сделали удобный класс Sprite куда начали инкапсулировать многое относящееся к снеговикам, потихоньку разгружая класс формы. Поковырялся, пока не сообразил, что сначала надо установить Graph объекту Shape а только потом его добавить в коллекцию, а не наоборот. Не очень ясно, зачем нам при создании нового спрайта SnowMan2 = new Sprite(); задавать graph SnowMan2.SetGraph(graph); ведь фактически мы отдельно задаем один и тот же graph для каждого shape отдельно (в методе AddShape и этого должно быть вполне достаточно для рисования (однако при попытке пропустить SnowMan2.SetGraph(graph)) программа перестает компилироваться |
|||
Теория ООП Мощь полиморфизма | + 20 | ||
потренил полиморфизм, освоил конструкции virtual overraid, посмотрел abstract, оценил удобство вызова метода без вникания в суть того, как конкретно для каждого типа он работает все норм все норм |
|||
Теория ООП Переезд graph в базовый класс | + 20 | ||
Инкапсулировал метод Draw в классы фигур, убрал общие для классов фигур поля в родительский класс Shape, научился рисовать Pen из родительского класса или переопределять его для цветных классов. Проникся удобством полиморфизма, когда можно просто в цикл засунуть всю инициализацию (и очевидно любую другую обработку) не заморачиваясь с конкретными типами. Все норм все доступно |
|||
Теория ООП Переезд метода Draw | + 20 | ||
Инкапсулировать метод в класс и потом пользоваться им. Улаживать конфликты, когда класс потомок содержит метод, а класс родитель нет, при этом оперируем с классом родителем. Чисто без заглядывания в видео сам реализовать не смог, но в итоге разобрался полностью с вопросом. Все здорово, хочется продолжать. |
|||
Теория ООП Приведение с мотором | + 20 | ||
Дальнейшему структурированию проекта все норм Отдельная точка Position нам нужна, для создания дополнительного уровня абстракции (чтобы в дальнейшем оперировать уже только ею) |
|||
Теория ООП Фигуральный базовый класс | + 20 | ||
Открыл для себя, что можно создать массив с элементами соотв базовому классу, а по факту поместить туда наследников, что конечно гиперУдобно. все доступно в метод Draw(Shape shape) предлагаю поместить проверку какого наследника по факту передали и вызывать соотв Draw |
|||
Теория ООП Богатое наследство | + 21 | ||
Научился наследовать классы (и соотв правильно оформлять конструкторы класса наследника инициализирующие конструктор родительского класса) Проблем не было Так как 2 урока назад написал снеговика с нуля (а пользовать контроль версий я поленился), то у меня не было готовых классов родителей. В итоге я сделал новые родительские классы, и вынес туда все кроме цветного карандаша, далее унаследовал их и добавил карандаш. |
|||
Теория ООП Второй Снеговик | + 20 | ||
все элементарно, прикольные массовые замены в notepad++ все ок Надо все касающееся снеговика (а не только пиксели) поместить в структуру, и задать некоторые зависимости (например руки начинаются только от тела), а остальные точки задать как ф-цию от какой-то одной точки (2-х если хотим не только двигать статичную картинку, 3-х если полное 3d) |
|||
Теория ООП Рисуем Снеговика | + 20 | ||
Быстро накидал снеговика в Paint, забил координаты точек, все бодро с нуля закодировал, сразу с цветами. что и как называется (а также перегрузки) в классе graphics посмотрел в определении класса. Были и проблемы. часа полтора, не меньше, ухлопал на то чтобы все это начало отображаться на форме, так как упустил, что надо свойству pictureBox.Image - присвоить наш bitmap с картинками. Пересмотрел все, в итоге Snagit наделал скриншотов и стал уже построчно сравнивать (и свойства pictureBox тоже) и нашел где проблема. Все супер |
|||
Демо игры Картинка с секретом | + 20 | ||
Размещать кнопки на форме, изменять свойства объектов формы из методов обрабатывающих события, создавать вручную иконки и размещать из в проект. из-за устаревшей версии браузера наковырялся пока установил редактор иконок, с кодом проблем не было Все очень подробно и доступно, пример интересен даже тем, кто не первый раз в жизни видит формы. |
|||
Демо софт Вступительное слово | + 1 | ||
накатывать Visual Studio на свою виртуальную машину на парковке (завел отдельную от роботов, только под учебу и всякие эксперименты) Накатить языковой пакет (так и не сделал пока, о чем жалею, и на досуге (когда мозг откажет решать задачки из консоли поковыряю еще)). Не смог нормально разместить фотку в анкете (все время она ложится на бок) |
|||
Теория ООП Цветные карандаши | + 20 | ||
Искать ошибки, более самостоятельной работе, пошире использовать цвета, и вообще посвободнее себя чувствовать со всеми пройденными ранее темами Раньше смотрел видео и делал задание параллельно, теперь сначала видео, потом все выключаю и самостоятельно делаю задание. Все норм |
|||
Теория ООП Расстояние между пикселями | + 20 | ||
Добавлять методы в структуру, и вызывать возвращаемые ими значения в качестве параметра перегруженного конструктора (вроде точно описал происходившее?). еще потренили this, перегрузки конструктора Чуть труднее было разобраться в методе в структуре (что откуда берется, значения), но потом все прояснилось. все вери гуд |
|||
Теория ООП Пиксели для классов | + 20 | ||
расширил практику использования структур, научился удалять повторный код (а значит и необходимость его редактировать если будут изменения) из перегружаемого конструктора с помощью конструкции : this, Все ошибки заметил сразу, до их исправления в уроке. Все доступно Отличный приемчик с resolve остался для меня недоступным (видимо в силу comunity версии Visual studio) |
|||
Теория ООП Структура vs Класс | + 20 | ||
в общем я понял, что структура сразу находится в памяти и в этом ее плюс, она заметно легковеснее за счет своих ограничений, чем стандартный класс, также ясно, что структура передается "по значению" а не по ссылке. Сразу не было понятно: про виртуальные члены стек и куча понятны оч приблизительно (разные варианты оперативной памяти) Хотелось бы (видимо будет дальше) чуть больше разъяснений про области практического применения структур |
|||
Теория ООП Структура пикселя | + 20 | ||
Создание структуры, перегрузка конструкторов, передача структур в конструктор (в качестве параметра). Освоил рефакторинг (переименование переменной) в Visual Studio. Все делаю слегка по своему, поэтому поковырялся переделывая класс Circle (чтобы рисовал так как указано в уроке) Не ясно, зачем было городить структуру, когда можно было применить обычный класс? |
|||
Теория ООП Инкапсуляция мечты | + 20 | ||
Освоил интерфейс подачи отчетов, создавать проекты и настройки форм, прикольно оказалось создавать и прикреплять иконки Выбирать картинку для иконки все ок |
|||
Теория ООП Круглый класс | + 20 | ||
Освоил рисование эллипсов, остальное вроде все тоже самое что и в предыдущих 2-х нашел ошибку (свою) во втором уроке все ок |
|||
Теория ООП Второй класс | + 20 | ||
в принципе повторил предыдущий (закрепил). Еще раз повнимательнее посмотрел перегрузку методов, оч понравилось. Быстро понял, что требуется и сделал еще до просмотра видео. Уяснил что разные по сути сущности не надо связывать друг с другом наследованием, даже если они очень похожи. Забыл сделать конструктор класса Box публичным Понравилось, когда видишь ошибку, чувствуешь что разбираешься сам. |
|||
Теория ООП Первый класс | + 20 | ||
Делать переменные класса - полями, создавать конструктор, создавать перегруженный метод? и вызывать его из другой перегрузки? (речь про Draw(), Выносить объявление переменных в начало класса, чтобы их было видно из всех методов, открывать скрытые по умолчанию переменные класса (поля класса). обозначать переменные с именами совпадающими с именами переменных(параметров) метода словом this все доступно Про this надо более конкретно (плохо видно куда тыкается курсор и соотв можно не уловить смысл) |
|||
Теория ООП Урок рисования | + 20 | ||
Заливать pictureBox битМэпом, и рисовать там с помощью объекта Pen, линии и квадраты (очевидно нарисую если что и остальное) Запуск нарисованного все норм все ок |
|||
Нано-игры Арканоид - Шарик и кирпичики | |||
|