Дата | Видеоурок | Результат | |
---|---|---|---|
Model 3D Строим тор | + 16 | ||
Рисовать тор по исходникам с хабра (с незначительной правкой). Остановиться перебирать варианты раскраски тора) Спасибо за мини-урок) |
|||
WPF Clocks Финал | + 2 | ||
На курсе поработал создал несколько вариантов часов, используя WPF. Несмотря на некоторый опыт и освоенную литературу (Шилдт, Зиборов) с WPF по прежнему особо не знаком, поэтому было интересно) Если и возникали сложности, то больше в плане понимания координат в 3D и "как улучшить", а не в плане усвоения материала курса. По курсу : Некоторые решения казались немного топорными, но для новичка хорошо. Хотя не думаю, что кто-то с начинает изучение C# с WPF и возможно стоит делать более изящно в курсе по нему (хотя бы без копирования кода). Ну и просматривал все видео на х1,5, хотя тут я думаю очень субъективно. По финальному уроку: Финальный урок - это точка отказа на данном ресурсе. Меня и, судя по разнице между выполнившими последнее задание и финал на любом видео-курсе, многих других совсем не мотивирует записывать даже короткое видео о курсе. Вот совсем. Ладно 1-2 раза на первых курсах - заодно научиться делать видео, представлять себя и работу, публиковать и т.п. Но каждый раз - это явно лишнее. И т.к. финал фактически не на что не влияет, кроме мотивации осваивать другие курсы ресурса, как итог - просто забиваешь на выполнение финала. Это дает чувство неудовлетворенности от курса (нет 100% же!) и уменьшает желание начинать новый, т.к. там опять будет финал. Отчеты по этапам - хорошо и даже очень, их полезность чувствуется. Но финальное видео - сплошной негатив. P.S.: Данный отчет, как я понимаю, должен быть отклонен, т.к. не выполнено его основное условие - видео. Но решил, что лучше я отправлю такой с объяснением своей позиции (и, полагаю, не только моей), чем просто забью на него, как сделал в тех же Наноиграх. |
|||
WPF Clocks Перекидные часы. Ну всё пора домой. | + 16 | ||
Первый раз столкнулся с DoubleAnimation и AxisAngleRotation3D. Все просто и понятно. Спасибо за урок. |
|||
WPF Clocks Перекидные часы. Еще немного и домой. | + 16 | ||
Делать простую реализацию ручного управления вращением элемента. Была проблема с пониманием (представлением) новых координат в копии Label, пока не пришло осознание, что это реализация двух поверхностей вращающегося элемента. Спасибо за урок. |
|||
WPF Clocks Перекидные часы. Без пяти пять. | + 16 | ||
Размещать текст на объекте в xaml. Все просто и понятно) У метода изменения цвета шрифта опечатка - не Background, а Foreground. Спасибо за урок. |
|||
WPF Clocks Перекидные часы. Уже почти три часа. | + 16 | ||
немного управлять отображением сверстанных объектов в WPF. Все просто. Спасибо за урок) |
|||
WPF Clocks Перекидные часы. Время час сорок. | + 16 | ||
Первый раз верстал 3 объект. Немного почувствовал эффект "monkey job", особенно с координатами. Спасибо за урок. |
|||
WPF Clocks Перекидные часы. Первый час. | + 16 | ||
Опция ShowGridLines. Все просто. Спасибо за урок. |
|||
WPF Clocks Цифровые часы. Запуск. | + 16 | ||
Использовать UserControl. Выправлять симметрию сегментов. Сначала взял координаты сегмента А и С и потом только передвигал их по x и y, чтобы было меньше лишних сдвигов. Спасибо за урок! |
|||
WPF Clocks Цифровые часы. Начало. | + 16 | ||
Делать разметку Grid, добавлять масштабируемые элементы через Viewbox. Подобрать картинку. А так все просто. Оговорились - не 2 герца, а 1/2 герца =) Спасибо за урок. |
|||
WPF Clocks Стрелочные часы | + 16 | ||
Поработал с простой xaml-разметкой. Все просто и понятно. Но, я не смог смириться с копипастом для отрисовки разметки часов и потратил еще около 40 минут (с учетом поисков в гугле, т.к. с WPF не знаком фактически) на реализацию добавления разметки циклом из кода. Получилось довольно громоздко (делал по аналогии с примерами на MSDN), но думаю, что все равно удобнее, чем копипаст разметки. Спасибо за урок) |
|||
Нано-игры Бот для Цифр | + 16 | ||
Повторил как сделать клик мышкой по координатам. Сложного ничего, всё понятно) Для автоматизации некоторых нудных задач в ММОРПГ, типа повторяющихся мелких квестов или создания предметов, использовал программируемую мышь с некоторым рандомом запуска (т.к. программные кликеры быстро вычислялись внутренней системой защиты). В казуальных социальных играх очень часто можно продвинуться простым повторением набора действий, для чего использовал тоже скрипты мыши, но т.к. в них нет защиты, то легко можно заменить умную мышь на данную программу. Только необходимо добавить задержки, т.к. в данных играх как правило мгновенные клики не срабатывают и требуется ждать от 100 до 300 мс (в зависимости от браузера, сервера и движка игры). Правда, данный подход отбивает интерес к части игры, а то и ко всей, но зато становится интересно наблюдать за результатами автоматизации и оптимизировать ее) Также для автоматизации тестирования простых игр в теории можно использовать. |
|||
Нано-игры Игра Цифры | + 16 | ||
Всё знал, повторил) Всё просто) В SwapButtons() при проверке на совпадение a и b возврат заменил на новый выбор b. |
|||
Нано-игры Скорость реакции. Алгоритм и рекорд | + 17 | ||
Свойство ElapsedMilliseconds класса Stopwatch - ранее не сталкивался с ним. Всё понятно. Поставить рекорд ниже 0,46 =) Спасибо за урок! |
|||
Нано-игры Скорость реакции. Три картинки по таймеру | + 16 | ||
Вроде знал все уже, повторил) Проанализировать урок и ответить на вопрос "чему научился?" Спасибо за урок |
|||
Нано-игры Скорость реакции. Блок-схема | + 16 | ||
Освежил рисование блок-схем. Найти лист бумаги и карандаш, нарисовать схему не очень криво) Как учебная задача хорошо, но в реальности для такого простого алгоритма рисовать на листе схему не нужно - она сама строится в голове и нет смысла терять время. Но практика полезна в любом случае. |
|||
Алгоритмика Я решил всю Алгоритмику | + 20 | ||
Погоняли основные циклы (кроме foreach), неплохо тренируют мозг математические задачи. В строках закрепил владение Substring и Replace. Подпрограммы приучает не бояться писать фукнции, выделяя в них отдельные задачи. Главное научился тому, что любая задача решается просто - берёшь и делаешь. Сначала то, что знаешь, остальное в 95% случаев будет осознано в процессе написания. Большая часть задач в начале были очень просты и практически повторяли друг друга. Пару раз даже один в один (писал в комментариях). Очень расстроился, осознав это. Но ближе к середине стало поинтереснее, в конце вообще хорошо - такие задачи и ждал от курса, когда покупал. Любимые циклы, Подпрограммы и Матрицы самые интересные, у кого нет желания проходить весь курс - обратите внимание на них. Цель данного отзыва не упрекнуть или излить свое негодование, а помочь проекту. О печальном: 1. 65% задач очень легкие и отличаются одна от другой знаком в условии (это не метафора). Прошел курс за неделю + 2 дня на решение последней задачи (не было времени написать и отправить решение, работой загрузили) 2. Задач 164, а не 200, как обещано при оплате курса (http://www.videosharp.info/shop/alga). Т.е. по факту на 18% меньше обещанного, что как-то обидно. И даже если прибавить к ним бесплатные ознакомительные задачи (+20), всё равно 200 не выходит (хотя учитывать их всё равно не получится, 200 обещается же после оплаты). Или исправьте в описании пакета или добавьте недостающие 36 задач, а то одни неприятные эмоции. 3. К некоторым задачам видео не соответствует условию. Больше всего пострадал раздел A : For-to-чки - ему практически во всех задачах достались видео с циклами while и do, а задачи 6 и 10 в нём отличаются только названием (опять не метафора). 4. Комментарии к задачам давно не читаются и покрылись пылью. А в них часто люди пишут справедливые вопросы к автору. На многие больше года нет ответа. Грустно. О весёлом: 1. Благодаря задачам вспомнил кое-что из курса математики, это радует. 2. Анализируя решения из видео и решения других формулистов подметил для себя пору интересных приёмов. 3. Действительно получил удовольствие от решения сложных задач. 4. Считаю, что купив курс, хоть и получил далеко не всё, чего ждал от него, но зато поддержал проект. И тем самым заплатил в том числе за проведенные бесплатные вебинары и доставшиеся бесплатно курсы (условно бесплатно, для их получения надо было потратить и время и силы). Подробный отзыв пишу в надежде, что к нему прислушаются. И надеюсь, что с его помощью помогу повысить качество. Вместо следующего курса допишу свою реализацию Тетриса, основанную на показанных в презентации курса первых 3 уроках. На вебинаре очень хотел приобрести и пройти по урокам, но решил для себя, что пора бы самому что-то сделать, хотя бы опираясь на опубликованный план курса. Сейчас это весьма корявая (правильно говорить MVP, так вроде?), но уже рабочая программа, хотя конечно есть ряд пока нерешенных вопросов и интерфейс не весь реализован (скриншот 2, очень уж похвалиться самодеятельностью хочется). Проходить другие курсы на проекте пока не буду (хоть скидку 60% и жалко терять конечно). Спасибо за курс! |
|||
Секундомер Секундомер - Написание кода | + 20 | ||
Как не странно, до этого не пользовался "Ctrl + ." для генерации заглушки функции. В инструкции обратил на это внимание, попробовал - очень удобно "Ctrl + ." - "Enter". Всё просто Спасибо за урок. Доступный метод обучения, но по мне видео лучше намного. |
|||
Секундомер Секундомер - Настройка формы | + 20 | ||
Повторение пройденного Ничего) Явное отличие создания по скриншотам - тупо повторяешь. Мозг не пытается думать и искать что-то, как во время выполнения по видео. Вообще не думается. И не хватает комментариев с уходом в сторону. Они как раз чаще бывают полезнее основного содержимого видео урока - объяснение почему так и почему не иначе, или как еще можно сделать и т.п. Плюс, когда смотришь видео работает не только зрительная, но и слуховая память. |
|||
Графические циклы VIP. Спирограф | + 20 | ||
Создавать спирограф =) Сначала было сложно решиться сделать. Применить формулу гипотрохоиды к уже реализованным функциям оказалось несложно. А потом было сложно остановиться переделывать интерфейс программы) Немного переделал интерфейс финальной версии, подписав всё. Для спирографа также сделал настройку радиуса малой окружности, расстояния от ее центра и числа кругов. Ну и два варианта кнопки - на фиксированное числом кругов выполнение и бесконечное рисование. Спасибо за курс. |
|||
Нанософт VIP урок. Работа с WinAPI | + 20 | ||
Поработал с простыми функциями WinAPI. Занимательно) Все просто и понятно. Спасибо за урок. Жаль только, что обрывается резко, остаётся ощущение, что еще что-то хотели рассказать. |
|||
Графические циклы VIP. Узоры на окружности | + 20 | ||
Создавать залипательные анимации. Всё просто. Немного повозился с реализацией остановки и настройки. Всё красиво, но не понравилось, что вся программа висит, пока не отработает полный цикл. Поэтому сделал дополнение, кнопку 22а. По нажатию она запускает анимацию, по повторному останавливает (видно на видео). Рядом записывают значения коэффициента и шага, которые можно менять на ходу. Значения проверяются при парсинге и сбрасываются на 1 и 0,02 (видно в видео) Если шаг поставить 0, то можно смотреть фигуры, которые получатся с определенным коэффициентом. Предвидя возможные вопросы - так, как сделано в видео я реализовал в первую очередь (второй скриншот). Потом уже пошли дополнения =) |
|||
Графические циклы VIP - Квадрат Гарри Поттера | + 1 | ||
Работать с условиями в цикле. Понять, как нарисовать 12 рисунок. Пришлось вспомнить, что такое уравнение окружности. Сложно было остановить и перестать создавать разные варианты рисунков) 1. 06.jpg: Console.Write(x < 10 || y < 10 ? "# " : ". "); 2. 11.jpg: Console.Write(x == 1 || x == 23 || y == 1 || y == 23 ? "# " : ". "); 3. 12.jpg: Console.Write(x * x + y * y <= 400 ? "# " : ". "); (уравнение окружности) 4. 13.jpg: Console.Write(x + y >= 20 && x + y < 29 ? "# " : ". "); 5. 16.jpg: Console.Write(x + y > 14 && x + y < 34 && x - y > -10 && x - y < 10 ? "# " : ". "); (может что - то перемудрил, упростить не получилось) 6. 20.jpg: Console.Write((x + y) % 2 == 0 ? "# " : ". "); 7. 25.jpg: Console.Write(x % 6 == 0 || y % 6 == 0 ? "# " : ". "); Моё заклинание: Console.Write(x * y % 24 == 0? "# " : ". ") Результат на скиншоте. Еще оно интересно с mod12 и mod6 получается) |
|||
Графические циклы ФИНАЛЬНЫЙ УРОК | + 20 | ||
В ходе курса очень наглядно показывается работы циклов for. С ними проблем особо не возникало, но благодаря курсу теперь легче будет компилировать код в голове) Все было просто, иногда пришлось подумать над координатами. 1. Задачи очень понравились. 2. Поработал с System.Drawing, проработал цикл for во многих вариантах. 3. Конечно! Пытался сначала сам все делать, периодически это выливалось в занимательные рисунки. |
|||
Графические циклы Спираль Архимеда | + 20 | ||
Вспомнил о существовании синусов и косинусов. Старался делать, опережая видео. Сложнее всего было продумать рисование спирали по координатам. Спасибо за урок, очень интересно) |
|||
Графические циклы Трёхмерные циклы | + 20 | ||
Вложенные 4 раза циклы создавались на других уроках, так что знакомы. Сложного ничего, главное в координатах не запутаться, чтобы понимать, что и почему происходит именно так. А то будет просто магией. "Поиграл" с кодом 18 кнопки, сделал матрицу кругов 4х4, просто меняя условия 3 и 4 циклов (скриншот 2). Ну и Sleep1() у меня переделан сразу на Sleep(int n), чтобы не создавать варианты метода под разную задержку.0 |
|||
Графические циклы Внутренние условия | + 20 | ||
Что оптимизация производительности может отрицательно сказаться на поддерживаемости кода. Продумать код для 16 кнопки, пришлось рисовать на бумаге координаты) Также возникли сложности в взаимопонимании с Евгением Витольдовичем в том, что он сам дал такое задание - реализовать неправильное решение) Сделал 16 кнопку циклом for до 90 с рисованием с 8 сторон одновременно (видно на скриншоте) |
|||
Графические циклы Вложенные циклы | + 20 | ||
Применил, что знал. Останавливал видео и делал сам, потом убеждался в правильности подхода) Все просто Спасибо за урок. |
|||
Нанософт ФИНАЛЬНЫЙ УРОК | + 1 | ||
Записывать видеообзор почти с первой попытки) Уложиться в час. Почти получилось. В отличии от предыдущего опыта 5 часов тратить не стал, пытался уложиться в час с повторением инструкций, подготовкой конспекта, отсмотром записанного и загрузкой. Получилось чуть корявее и сбивчивее, чем в прошлый раз, но зато в 2 раза длиннее, а времени на подготовку ушло ощутимо меньше. Гугл-диск сообщил, что мой архив с программами заражен вирусом) Видимо так он воспринимает мое качество кода. А на virustotal один из 50 антивирусов (Cyren) даже нашел в нем W32/S-6ef85ed0!Eldorado. Поэтому расшарил на дропбоксе. Хотя не очень понимаю, зачем выкладывать эти исходники. |
|||
Графические циклы Пучок лучей | + 23 | ||
Продумывать точки начала и конца линий. Всё просто, всё понятно) Мне проще было, чтобы не запутываться, цикл во всех вариантах вести от 0 до 300, но на 9 кнопке сделал от 300 к 0, чтобы чуть потренировать мозг перестраиваться) |
|||
Графические циклы Диагональные линии | + 22 | ||
В уроке говорилось о том, что сам додумал в прошлом) Ничего Линию с координатами (300,300,300,300) не будет видно, поэтому цикл с ограничением a<300 от двух циклов с a<300 и a<=300 конечным результатом отличаться не будет. Поэтому смысл разбиения на два цикла может быть только в желании получить красивое последовательное рисование линий от угла к углу. После работы цикла вызывать RefreshPicture() не надо - он был вызван в последней итерации цикла внутри Sleep1(). |
|||
Графические циклы Горизонтали и вертикали | + 20 | ||
Вспомнил, как делать задержки. Все просто и понятно До "д/з": Цикл с рисованием 2 линий с координатами (0,i,i,0) и (300,i,i,300). Или два цикла, чтобы рисование происходило от первой к последней по очереди, а не параллельно от начала и середины. Или в первом цикле увеличивать i до pictureBox.Width * 2, но тогда у нас линии будут уходить далеко за границы. Это если без усложнения цикла проверкой, не дошли ли мы до середины. |
|||
Графические циклы Подготовка графики | + 20 | ||
Вспомнил, как зачищать pictureBox. Все просто. По д/з: В двух циклах for нарисовать все вертикальные, потом горизонтальные линии (второй скриншот) |
|||
Нанософт Скорость на клавиатуре | + 20 | ||
Узнавать, начинается ли строка текста с другой строки. Сохранять переменные в Properties.Settings. Все понятно. Сложно определиться как правильно называть переменные, компоненты формы, методы. В одном видео они идут camelCase, в другом PascalCase и третьем через подчеркивание. А иногда одни и те же элементы в одном видео называются и так и так. Пытался нагуглить стандарты, пока не особо в них что-то понял, видимо плохо пытался. Но уже хочется привыкать писать "правильно". Сделал сохранение рекорда в Properties.Settings, чем чуть разнообразил задачку. Первый раз применил такое сохранение, хоть и знал раньше, что "как-то так можно". |
|||
Нанософт Расписание уроков | + 1 | ||
Поработал с тестовым файлом с помощью потоков (как я понял StreemReader, StreemWriter). Узнал, как убрать icon. Сложностей не было, была небольшая путаница, когда на видео не могли определиться, как реализовать выгрузку. Ну и заполнять таблицу не очень веселое занятие) Спасибо за урок. |
|||
Нанософт Прохождение теста | + 20 | ||
Использовать RadioButton по назначению. Считывать строки из тестового файла. Все понятно. Сложно было удержаться от рефакторинга. Спасибо за урок. Но может правда стоит переписать его на одном из вебинаров в режиме "как надо", а не в режиме MVP? А то довольно много было допущений, ссылаемых на "сейчас так проще" и "надо было по-другому, но теперь уже пусть будет так". |
|||
Компилятор Секреты Designer файла | + 20 | ||
Разделению описания одного класса на два файла (partial). Рассмотрел, где именно и как прописываются настройки элементов. Ничего сложно, некоторое время заняло частичное оформление. Спасибо за курс. Познавательно. |
|||
Компилятор Откуда берутся окна | + 20 | ||
Узнал параметры запуска компилятора. Лучше понял структуру файлов исходников. Ничего сложного когда хорошо объясняют. Старался делать шаги предугадывая, получал дополнительные ошибки компилятора и героически их преодолевал) |
|||
Компилятор Где живёт компилятор | + 20 | ||
Узнал, где лежит компилятор) Все просто и понятно Спасибо за урок. |
|||
Нанософт Баскетбольное табло | + 21 | ||
Научился "играть со шрифтами", оставлять экземпляр формы при закрытии, вызывать функции привязанные к объектам при инициализации или внутри других функций. Всё просто, всё понятно. Добавил проверку, чтобы счет не мог быть отрицательным. Вроде простая программка, но почерпнул для себя немного нового. Так каждый раз на что-нибудь обращаешь внимание, и вроде как "прокачиваешься". |
|||
Нанософт Шахматные часы | + 20 | ||
Повторил старое, стал меньше доверять таймеру) Сложностей не было. Потратил немного дополнительного времени на доработку. Немного изменил функционал: при установке времени по часам надо сначала 1 раз кликнуть, чтобы они начали работать, а то после установки мышка оказывалась на левых часах и они сразу начинали идти, что совсем неудобно. Добавил краткую подсказку внизу. Добавил инструкцию, как пользоваться часами. |
|||
Нанософт Твоё портфолио | + 20 | ||
Поработал с TabControl, научился запускать программы из программы. Более осознано прикреплял к проекту файлы других проектов. Подгонять картинки под размеры, в итоге забил. Не думаю, что в 2016 году кто-то будет предоставлять такое портфолио на собеседовании. Сейчас более актуальна ссылка на github или тому подобное. Но в качестве примера было весь полезно. |
|||
Демо софт Вам телеграмма! | + 20 | ||
Тому, что телеграмм может быть хорошей заменой e-mail рассылок. Ничего, давно пользуюсь ТГ. Идея с пробником хорошая, надеюсь понравится клуб. |
|||
Секундомер 1 часть. Видеофиксация | + 20 | ||
Ничему, видео записывал уже ранее для Шариков Все просто Забыл в заголовке дописать Notes, перезаписывать видео не стал, т.к. остальное выполнено. Выполнил за минуту, если верить таймеру. |
|||
Комбинаторика Рекурсия. Вступление | + 20 | ||
Формулировать определение рекурсии Выбрать из картинок самую подходящую Рекурсия - выполнение действия, которое предполагает выполнить такое же действие с результатом выполнения и так до обозначенного момента остановки. |
|||
Секундомер 1 часть. Пункты 100 – 113 | + 20 | ||
Если пытаться делать что-то быстрее и быстрее -легко допустить ошибку. Перестать повторять задание в надежде улучшить свой результат. Еще можно копировать название проекта и использовать при переименовании формы и заголовка. |
|||
Семантика Я решил всю Семантику! | + 1 | ||
Прошел весь раздел семантика, научился работать со строками, числами, математическими функциями, символами, датами и временем. Задачи из раздела Календарь. Единственный из всех разделов, в котором для решения некоторых задач (10,14) пришлось обратиться к видео, чтобы найти решение. Очень полезный курс. Спасибо за объяснения и комментарии. Каждый раз после решения просматривал видео-решение и решение других участников, сравнивал со своим, делал выводы. Сильно улучшает понимание темы. |
|||
Секундомер Написание кода | + 20 | ||
Пользоваться типом DateTime. Выводить значения в конкретные ячейки DataGridView. Сложного ничего, все понятно. Хороший урок, дальше будет ускорение?) |
|||
Секундомер Настройка формы | + 20 | ||
Редактировать колонки в DataGriidView. Все просто Все очень подробно. Спасибо за урок! |
|||
Секундомер Моральная подготовка | + 20 | ||
Загонять человека повторением вопроса в тупик, в котором он либо выйдет из себя либо придет к правильному для него ответу на вопрос. Все просто 1. Программы на C# через студию - около 30 штук, большая часть на videosharp, немного на MVA, 2-3 на Unity с C#-скриптами. 2. Videosharp.Шарики на выходных, часов 8. 3. Мне нравится решать проблемы. К тому же программирование подталкивает вспомнить давно забытые за ненадобностью высокие способности к математике. В целом чувствуешь себя умнее, мозг работает лучше. Ввиду того, что фактически перегорел на текущей специальности еще года три назад, считаю отличным хобби, а со временем заменой профессии. 4. Время, нужно больше времени. Занимаюсь практически все свободное время, но у меня есть постоянная работа, требующая много затрат времени (хотя на ней периодически тоже отвлекаюсь на изучение). |
|||
Шарики ФИНАЛЬНЫЙ УРОК | + 3 | ||
Записывать обзор на программу Записать видео. Потратил 5 часов. Пять. Часов. На 4 минутное видео. Сначала записывал частями, пытаясь добиться отсутствия заминок и красивого объяснения. Но когда попробовал склеить части в вегасе, тот ругнулся на (рекомендованный в инструкции) формат кодека и отказался обрабатывать видео. В результате записал все одним видео, забив на заминки и интонацию. Спасибо за интересный курс =) |
|||
Шарики Шарики. Поиск линий | + 20 | ||
Очень много всего, вроде ничего нового, но все вместе собирается в довольно сложный код. Реализовать придуманные улучшения. Практически все улучшения получились недоделанными (долго пытался решить с очками и отменой хода, но потом оставил по принципу "лучше сделать как-то, чем никак"): 1. Подсчет очков. Ровно по 50, независимо от количества шаров. Т.к. реализованная StripLines() на 6 шаров срабатывает 2 раза, на 7 шаров 3 раза и так далее, то получается умножение очков с каждым шаром (100 за 6, 150 за 7). При привязке очков к strips примерно тот же эффект. Поэтому оставил так. 2. Сохранение рекорда. Но он хранится в переменной и сбрасывается при выходе из игры. Хранение в файле делать не стал. 3. Кнопка перезапуска игры. Вынес содержимое Status.init в отдельный метод StartGame() и сделал его вызов по кнопке и при заполнении поля. 4. Кнопка отмены хода. Возвращает состояние шаров. Но только тех, что уже есть на карте (в нормальном состоянии), без следующих. Следовательно остаются только актуальные следующие, а не сбрасываются на предыдущее состояние (видно на скриншотах). Конечно добавляет определенный игровой момент, но кривовато. Ограничил количество отмен хода тремя. |
|||
Шарики Шарики. Поиск пути | + 20 | ||
Понятию "волновой алгоритм" и его применению для вычисления пути. Не запутаться во всех переменных и методах без единого комментария. Спасибо за урок. Хотелось бы увидеть применение комментариев в коде. |
|||
Шарики Шарики. Логика игры | + 20 | ||
Осознанно использовать делегат, создавать много связанных между собой методов, пошагово создавать функционал. Не запутаться в таком количестве методов. Спасибо за интересный урок. Можно бы было разделить его на пару, а то долго длится, а выполняешь же раза в два дольше, осознавая все, и так или иначе сам делаешь перерыв. |
|||
Шарики Шарики. Анализ игры | + 20 | ||
Строить матрицу значений для расположения объектов на игровом поле. Когда повторяешь и продумываешь не "как бы это сделать", а "ок, это сделано, теперь надо понять что это и зачем" - все довольно просто. Спасибо за урок |
|||
Шарики Шарики. Вступление | + 20 | ||
Весьма полезно перед выполнением задания разбирать его по такой схеме. Думаю, что намного лучше будет усвоение материала, когда сразу понимаешь, что надо сделать. Нарисовать схему от руки Спасибо за урок |
|||
Сетевые технологии Презентация курса | + 20 | ||
Ничему Ничего Ожидаю рассказа о веб, о HTML, JS, может о ASP.Net. Хотелось бы больше по ASP.Net MVC. |
|||
Базовый ASP.ект Создание пустых страниц | + 20 | ||
Создавать Controller и View для него. Прописывать в RouteConfig контроллер по умолчанию. Назначать для метода View открытие представление. Ничего, все просто Наконец-то перешли к интересному) |
|||
Базовый ASP.ект Создание схемы проекта | + 20 | ||
Ничему Ничего В видео было показано решение предыдущего задания с упрощением. Смысла копировать историю с thappens.me не вижу. Если в процессе обучения дойду таки до самого обучения, буду копировать истории оттуда) |
|||
Базовый ASP.ект Выбор темы для проекта | + 20 | ||
Почитал истории на it-happens. Давно там не был. Нет публикаций с декабря 2015, забили на ресурс? Проанализировал структуру: / - главная с блогом последних историй и ссылками на остальные разделы /about - информация о проекте /best/* - лучшие истории за месяц /page/* - страницы с блогом историй по 10 штук по прорядку /random - случайная история /rss - rss лента /search - поиск /story/* - пронумерованные страницы историй /story/add - ссылка на форму предложения истории Также внешние ссылки и переключатели вида Оторваться от чтения историй Задание со звездочкой лучше оставить копирайтерам) Ctrl+C - Ctrl+V наш выбор) |
|||
Базовый ASP.ект Мы начинаем ASP.NET с MVC | + 20 | ||
Запускать создание Web-проекта в студии. Бегло посмотрел на структуру проекта. Найти, какая из view содержит страницу index. В Express версии VS 2013 Web стартовый шаблон отличается. Надеюсь это не повлияет на уроки и не потребуется искать про версию. |
|||
Игры со Спрайтами Аполлон. Плавное прилунение | + 20 | ||
Делать readonly переменные, остальное вроде умел) Посадить корабль. Пришлось изменить значение топлива на 600 и увеличить мощность двигателя до 50. На базовых 400 и 30 тоже сажается, но очень уж сложно) Сделал вывод топлива, высоты, скорости и безопасной скорости на индикаторы. |
|||
Игры со Спрайтами Аполлон. Законы физики | + 20 | ||
Что значения float надо задавать с добавлением f. Все просто --- |
|||
Игры со Спрайтами Аполлон. Главные герои | + 20 | ||
Рисовать в Paint Рисовать в Paint Немного странное задание, но ок. |
|||
Игры со Спрайтами Спрайт. Класс для графики | + 20 | ||
Создал класс, вынес в него структуру и создание графики. Ничего Спасибо за урок |
|||
Игры со Спрайтами Спрайт. Структура для линии | + 20 | ||
Создавать массив из структур, перебирать их циклом foreach Ничего Все хорошо) |
|||
Игры со Спрайтами Спрайт. Первая форма | + 20 | ||
Повторил создание простых графических объектов - линий. Ничего Все хорошо |
|||
Микроигры 2048 - Учимся играть | + 20 | ||
Ничему Заставить себя доиграть до 2048 Давно играл в эту игру, еще когда ее только опубликовал автор и на 2-3 день выложили на хабре) |
|||
Микроигры Игра 15 - Картинка | + 20 | ||
Резать картинку на кусочки и складывать в массив. Ничего, кроме сбора пазла в режиме пятнашек Добавил возможность выбора режима игры: со свободным перемещением из любого места в пустую ячейку (как в видео) и в только в ближайшую пустую, как в пятнашках. |
|||
Теория ООП Структура пикселя | + 21 | ||
Создавать структуру Ничего Получилось довольно много точек для рисования моего усложненного рисунка (+10 к тем, что в уроке). |
|||
Теория ООП Круглый класс | + 20 | ||
Создал еще один класс. Рассчитать радиус окружностей для вписывания в прямоугольники. Все понятно и просто. |
|||
Теория ООП Второй класс | + 20 | ||
Что не надо искать наследование там, где его логически нет, даже если идут похожие параметры. Немного запутался, когда вместо ширины и длины надо было указывать координаты x2y2 для прямоугольника. Но благодаря тому, что у меня их 4 быстро разобрался. Спасибо за урок. |
|||
Теория ООП Первый класс | + 20 | ||
Повторил создание класса и конструктора в нем. Ничего Все понятно. |
|||
Теория ООП Урок рисования | |||
Создавать картинку через Bitmap. Попользовался Graphics для рисования. Расчет координат крыши домика, немного усложнил себе задачу. Пока все в норме, только очень уж короткий урок. |
|||
Теория ООП Инкапсуляция мечты | + 20 | ||
Обновил свой взгляд на термин "инкапсуляция" Ничего Инкапсуляция - выделение отделение чего-то от другого. Как пример - автомобиль. Это объект, воспринимаемый снаружи как одно целое, а внутри него происходит множество связанных и не очень процессов, у него может быть много свойств и применений. Или человек, сидящий за рулем этого автомобиля - тоже пример инкапсуляции набора функций и свойств в один объект. А в качестве картинки на тему я выбрал яйцо крокодила, как еще один наглядный пример. |
|||
Микроигры Игра 15 - Алгоритм | + 20 | ||
Создавать двухмерный массив и соотносить его с игрой. Все понятно Хорошо разобрана игра и разложена по полочкам игровая логика. Очень понравился урок) |
|||
Микроигры Игра 15 - Кнопки | + 20 | ||
повторил обращение к объекту через sender Ничего, все понятно Все очень хорошо объясняется |
|||
Нано-игры Арканоид - Шарик и кирпичики | + 20 | ||
Делать примитивную обработку коллизий объектов в игре. Переименовать 55 lebel. Хороший урок. Добавил блоков (увлекся и добавил до 60 штук, потом долго переименовывал, при этом поломал форму и пришлось в коде формы править все), сделал подсчет очков, паузу, проверку: если шарик ниже середины платформы - проигрыш, до середины еще есть шанс отбить гранью. |
|||
Нано-игры Арканоид - Уровень и ракетка | + 21 | ||
Обрабатывать нажатия клавиш клавиатуры. Смешать ракетку к краю, игнорируя размер шага. Ничего Все нравится |
|||
Демо софт Квадратный калейдоскоп | + 20 | ||
Научился рисовать фигуры на Panel. Разобраться в механизме отражения. Также придумал себе дополнение - сделать очистку поля и потратил некоторое время, пока придумал решение (немного кривое, но работает). Немного изменил программу: добавил кнопки запуск калейдоскопа, остановки и очистки панели рисования. Также добавил прямоугольники в набор фигур. |
|||
Демо софт Текстовый процессор | + 20 | ||
Использовать OpenFileDialog, SaveFileDialog, Replace() Все просто Добавил кнопку изменения шрифта, просто чтобы была. Еще мне не понравилось отсутствие переноса строки, т.к. неудобно, ИМХО. Поэтому добавил переключатель включения/выключения переноса. |
|||
Нанософт Средняя оценка | + 20 | ||
Попробовал использовать делегат. Понять, зачем нужен делегат и вообще что это. С описанием делегата все очень запутанно. Более-менее помогли понять чтение статьи на msdn и повторный просмотр видео с 18 минуты. |
|||
Демо софт Менеджер паролей | + 20 | ||
Открывать сайты по нажатию кнопки, копировать в буфер обмена. Ничего По уровню надежности, такое хранение пароля мало отличается хранения в текстовом файле. Поэтому не стоит пользоваться таким "менеджером" и лучше не рекомендовать его к использованию. Но как пример для обучения вполне подходит) |
|||
Демо софт Английские карточки | + 20 | ||
Воспроизводить mp3 и mp4 в программе. Подгружать файлы из внешнего хранилища в массивы, распределяя их по типам, а также считывая их содержимое. Бонус: узнал, что tea также имеет значение "ранний ужин". В целом ничего, но пару раз запутался в аргументах методов. Спасибо за урок |
|||
Демо софт Двенадцать месяцев | + 20 | ||
Использовать monthCalendar, указывать путь к внешним файлам. Вспомнил, как обрабатывать исключения. Ничего Не удобнее будет выделять действия в метод через Refactor/Extract Method? |
|||
Демо игры VIP. Устный счёт | + 20 | ||
Использовать ProgressBar. Не запутаться во всех условиях и не забыть указать сброс невидимости/неактивности. Испытание полученных программ на живых людях показали, что пользователи не понимают, что надо делать. Поэтому, добавил описание требуемых действий. Также добавил: - Всплывающую подсказку на поле ввода максимального значения; - Ограничение максимального значения в 999 (ориентируясь на длину полей и здравый смысл); - Очистку поля с ответом при перезапуске любой операции; - Текстовый счетчик количества оставшихся до победы операций в правилах; - Пересчет значений a и b, чтобы исключить умножение или деление на 1, как слишком простые. |
|||
Демо игры ФИНАЛЬНЫЙ УРОК | + 20 | ||
- Ничего Спасибо вам за курс! Создание игр - это моя личная мотивация и цель в освоении программирования. Благодаря таким, вроде бы очень простым, урокам легко осваивается язык, работа в среде разработки (VS) и приходит понимание к общему подходу в решении задач. Только игр было всего 5, а не 10. Хочу еще =) С уважением, Дерябин Виктор |
|||
Демо игры Камень ножницы бумага | + 20 | ||
Работать с pictureBox и Panel. Любые действия выносить в отдельный метод. Ничего Чтобы не перезапускать игру, добавил кнопку сброса. |
|||
Демо игры Бот для Быстрощёлка | + 20 | ||
Использовать TrackBar, вспомнил про TableLayoutPanel. Применять готовые сложные решения из гугла в создаваемом ПО, а не пытаться изобрести свой велосипед. Ничего Значения "кликов в секунду" кратны 16мс и максимальная скорость достигается, независимо от того, какое значение стоит от 0 до 15. Причины: Судя по гуглу, стандартная частота usb-устройств (в т.ч. мыши) 125Гц. Т.е. по идее, максимальная скорость клика достигается при значении от 0 до 7 мс/клик. В полученной программе минимальное значение в два раза выше. Полагаю, это происходит из-за того, что у нас производится 2 операции за клик - нажать кнопку и отпустить кнопку (mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP), - каждая из которых может быть выполнена не быстрее, чем за 8мс, что и приводит к ограничению в 16 мс на один клик. Переключение мыши в режим работы 500Гц (моя поддерживает до 1000Гц) ситуацию не поменяло, подозреваю, что используемые библиотеки просто не поддерживают частоту мыши больше 125Гц. |
|||
Демо игры Игра Быстрощёлк | + 20 | ||
Записывать текущее время в переменную. переводить тики в секунды. Накликать больше 14 раз в секунду. Была мысль просто считерить, подправив формулу расчета результата, но в итоге накликал сам. |
|||
Демо игры Лабиринт 2D - игра | + 21 | ||
Событию MouseEnter, Shown. Обновил в памяти, как использовать таймеры. Придумать 3 уровень, конечно же) На третьем уровне сделал больше акцента на контроль мыши в узких лабиринтах. Также добавил новую "механику" - реку и плот, на котором ее можно переплыть. Плот движется самостоятельно по таймерам вверх-вниз, задача игрока вовремя на него "забежать" и передвигать курсор синхронно с плотом до прибытия на другой берег. |
|||
Демо игры Лабиринт 2D - меню | + 20 | ||
Вспомнил, как добавлять звуки в программы. Узнал новые параметры формы и элементов (кнопок, лейбелов). Ничего, все было просто, старался опережать автора. Так получилось, что выполнял это задание по записи вебинара на Geekbrains вчера. После чего пришел сюда. Сегодня только просмотрел видео, убедившись, что его содержание аналогично полному на Geekbrains. Поэтому выше описываю вчерашний опыт. |
|||
Демо игры Картинка с секретом | |||
Привязывать кнопки к углам формы, обрабатывать событие прохождения мыши через координаты относительно объекта, обрабатывать клик правой кнопкой мыши. Ничего, разве что подобрать картинки в гугле заняло время и отвлекло. Довольно сильно разжевывается. Иногда излишне, но понимаю зачем это и плохого в этом ничего, кроме увеличения времени выполнения простых задач, не вижу. |
|||
Демо софт Вступительное слово | + 20 | ||
Тому, что не все версии VS корректно распознают установленные обновления Windows, ввиду чего отказываются ставиться, даже при явно установленном требуемом обновлении (KB2919355 для 8.1 и VS2015). Т.к. ввиду указанной в выше причины пришлось отказаться от VS2015, то самым сложным было смириться с этим фактом и дождаться, пока завершится установка VS2013 (которую ранее удалил для установки VS2015). Последняя созданная программа: Labirint2D по записи вебинара с Geekbrains (оттуда и пришел на этот сайт). Ожидания: подтверждения работоспособности подхода "Количество перерастает в качество" для самообучения программированию =) |
|||
Нано-игры ФИНАЛЬНЫЙ УРОК | |||
|