Дата активности | Видеокурс | Прогресс | ||
---|---|---|---|---|
2015-06-30 | game4 | Игры со Спрайтами | 100 % | |
2015-06-30 | soft1 | Нанософт | 10 % | |
Итого: | 80 % |
GetType() вернет объект типа Type. Тогда по идее ты должен в case делать сравнение с typeoff(Line). Но в case ты можешь сравнивать только константные значения, а typeoff(Line) будет вычисляться динамически, во время выполнения. Поэтому в switch лучше указать shape.GetType().Name, что тебе вернет имя класса, а оно константное и соответственно в case "Line".
jQuery, это название библиотеки, которая написана на js. Она просто предоставляет более удобный и лаконичный api для работы с DOM. Поэтому jQuery не может работать быстрее, чем сам js.
Реклама - конечно. Но если нравятся уроки, то в чем проблема косвенно попиарить? Делать видеообзор своих трудов полезно, код по другому смотрится, главное выделить научиться.
Нет проверки на подряд идущие цифры. Вариант когда разрешается подряд одинаковые числа и меня прошел тест.
Вот епс... Прогнал. Мы ж кубик не бросаем, а катим, там не может быть подряд одинаковых.
Обнаружил у себя ошибку, а теста нет на такой вариант. В условии должен допускаться вариант когда подряд выпадает одинаковое число. В моем предыдущем варианте выдавалось невозможность такой последовательности.
Раза три менял алгоритм) Все хотелось оптимизировать
Прикольно писать сразу в консоль, ощущаешь себя Рихтером, пишущем программы в блокноте))
Сбивают с толку стрелочки на схеме. По правила UML стрелочка должна быть в другую сторону, что означает "агрегирует". Указатель стрелки может быть незакрашен (белый), что значит не жесткое агрегирование или по простому "наследуется от". Или может быть закрашен (черный), что говорит о жестком агрегировании, или по простому "инкапсулируется в класс". А такие стрелочки, как на схеме, рисуют, когда хотят сказать об изменении состояния объекта (когда хотят показать "событие").
Я так пробовал. Думал робот подставит свои данные вместо ReadLine(), но он завис и выдал ошибку.
Входные принимаем так string stroka = Console.ReadLine();
Наверное, вы и так это знали.
Я не пойму, что надо сделать, чтоб программа принимала входные данные от робота. Программа рабочая, а второй тест не проходит из-за того, что у меня по умолчанию входные данные стоят. В Main args принимать робот не хочет, не компилирует. Как он тогда передает данные?
Понял в чем проблема. Начальные данные то я сам задаю, вот по первому разу тест и проходит, а на второй тест уходят те же данные, а не новые. А куда Шарп начальные данные кидает? args в мейне нет...
Я это понимаю, первый тест моя программа прошла, разницу между этажами я считал по модулю. Второе условие 3 2 \n 1 20.
По такому условию кот не доедет домой и проедет 19 этажей. Я правильно понимаю или где то ошибся? А выходные данные второго теста 23 этажа.
Считается ведь не высота этажей, а количество. Кот ездил и вниз и вверх.
Во втором условии для теста ошибка? По идее кот проехал 19 этажей а не 24. Робот по второму тесту меня не пропускает.
1. Решил первых две. (1 и 2)
2. Когда то любил такие задачи, перерешал их много, участвовал в олимпиадах в школьные годы и когда учился в академии, там все задачи на рекурсию, графы, комбинаторику. Давно это было, поэтому и было интересно все это вспомнить. Видеорешения смотрел. Новое было из динамического программирования: за этот алгоритм я читал, но реализовать было лениво ибо не совсем вкуривал) Поэтому с интересом его просмотрел. Написать его хоть и можно скопипастив и времени не много потерять, но я тут на двух курсах сразу еще)) Не успеваю там, много сложных для меня домашек, плюс свой проект, плюс еще работать надо на хлеб насущный) Как то так...
3. Рекурсия - это функция, которая вызывает сама себя.
4. Само просто это посчитать так, как мы формировали домино в два цикла:
int count=0; for (int i=0; i<10; i++) for (int j=i; j<10; j++) count++;
Пишу с ходу без проверки, надеюсь не ошибся)
1. 2 месяца
2. Все удачно получились, но вылизать хочется всегда... но это бесконечность. Интереснее всего было с пасьянсом домино, потому что реализовывал все так как хотели червяки в моей голове)
3. Конечно игру, супппер игру. Я поклонник ММО РПГ, поэтому хочу сделать ММО РПГ.
4. Ну какие ощущения - прокачиваются. Пишешь код - прокачиваются, не пишешь - не прокачиваются.
5. Побольше писать кода, не боятся экспериментировать. Чем больше лезешь во все дырки, тем больше знаешь и умеешь.
А где скрин? ) Самого интересного то и нет
Руслан, да согласна, однако в этой игре это у нас такая фишка, для разнообразия! :)
Зря называешь классы и переменные кирилицей
ЕВ, меня учили, что ценность не в ответе, а в вопросе. И умение задать правильный вопрос, намного круче правильного ответа. Вы сумели поставить для меня вопрос, который меня зацепил и заставил искать ответы. Так кто круче?)
О, да, иконки это проблема))) Из всех программ, что делал на курсе иконка есть только в спрайте. Я честно и старательно убеждаю себя, что мне интересно рисовать и заниматься дизайном, но в конце этот аутотренинг не помогает(
Ну если честно... То каждый Ваш урок достоин VIP статуса) Всяких видеороликов по программированию море в инете, но Ваши выделяются сразу. Ваш азарт к программированию чувствуется с первых минут, он заразен, цепляет. Поэтому я уверен в успехе Вашего проекта и что кол-во учеников от курса к курсу будет расти, и через какое то время Вы выйдете за рамки соло.
Меня задела функциональность твоего редактора.
Значительно превзошёл учителя, чему я только искренне радуюсь.
Руслан, замечательно что нашел для себя новенькое! А вот про иконочку забыл ;)
Руслан, ты доволен этим уроком?
Это ведь ты так хотел посмотреть, ЧТО ЖЕ ТАМ.
Достоен этот урок для вип-статуса?
Руслан, замечательно что ближе познакомился и попрактиковался! Еще раз Поздравляю с окончанием этого курса, и надеюсь увидеть тебя на других курсах, увидеть твои незабываемые отчеты и классные программы! :) Ты, Молодец! :)
А по поводу моего "ууу", мне не понравилось как я глотаю некоторые звуки, буквы Р у меня вообще не слышно. Я получился как картавый)). И я упустил некоторые моменты о которых хотел сказать. Ну да ладно, уже как есть)
Была какая-то путаница с ссылками уроков. Конкретно этой ссылки на урок у меня не было, она появилась вчера. А до этого меня кидало по кругу между тремя ссылками, я не мог выйти на следующий и этого урока вообще не было.
В долгих паузах нет ничего плохого.
Лучше молчать, чем э-кать.
Руслан, это было круто! Ты зря! Мне очень понравился твой обзор! Хотя там нужно было Аполлончика показать, а это уже второе видео сделать про домино! Хотя ты очень хорошо показал свой Графический планшет, он крут, таким действительно работать одно удовольствие! Молодец! :)
На ха-ха пробило потому, что я запнулся, с трудом пытался вспомнить итоговые фразы и в голове была мысль, что "вот, придется еще один дубль делать". Но время поджимало на отъезд и решил оставить как есть.
Руслан, это очень круто что ты сделал!!! Я если честно в неимоверном и безумном восторге, чего стоит графическая панель для рисования спрайтов!!! Это Гениально! :)
Руслан, размести ссылку на то же самое видео в обоих заданиях.
Ты же ведь сделал обзор всего проекта.
Когда всё будет проверено - доступ откроется к телефону.
Да, ощущалось, что это ты говорил не в первый раз.
Количество перешло в качество, хорошая практика!
Всё так серьёзно, аргументированно, основательно, а в конце чего-то на ХА-ХА пробило :) Молодец! Отличный обзор! Осталось только описание к видео на ютубе добавить.
Так ничего и не понял с этими ссылками на уроки, по кругу гоняют, то на Аполлона, то на Домино
Руслан, ты молодец!
Отличный опыт работы!!!
А я вот так решил
string[] s=new string[1001];
Console.WriteLine(String.Join("#",s));
Я поймался с первого раза) Создал массив из 1000 символов вместо 1001
В задании нет, что они все должны быть с большой буквы, с маленькой принимает с ошибкой
Ну только обижаться не надо(
Писать в каждом отчете: урок Гуд, мне нравится, все замечательно и т.д. Мне кажется я это уже столько раз написал... Ну не копипастить же мне эти фразы в разных вариантах просто для приличия. А так веселее и разнообразнее. ЕВ я восторгаюсь, мне до него далеко, до его опыта, до его скорости в уме все выстроить в рабочую версию. Да, у него чувствуется долгий опыт паскаля, но это не мешает ему писать работающий код, а если код работает, то он замечательный. В моем случае, я усугубляю с кодом, потому, что когда меня учили программировать, то учили делать ставку на командную разработку, а соответственно модульность и масштабируемость. И опять таки в моём случае это увеличивает время разработки. Большинству учеников ЕВ это не нужно, учатся либо для начала (для азов), либо программировать для себя. А я учусь программировать для того, чтобы собрать команду, либо самому войти в работающую группу и заниматься не соло проектами. Поэтому и ставлю для себя соответствующие задачи, а не для того чтоб "выделиться" (перевёл на русский :)).
И своими реализациями делюсь с вами не для похвалы, а в помощь вам, как альтернативный вариант реализации. Вот кому из вас захотелось реализовать игры ЕВ по своей логике, либо оптимизировать какие-то методы? Все только копипастят, а это далеко не программирование. ЕВ даёт замечательную базу как это МОЖЕТ выглядеть, а не как ДОЛЖНО.
Руслан, Бурум-бурум это прикольно как не крути! Может напишешь свое впечатление об уроке, хотя ты же умны, я уверена ты придумаешь, что хочешь сказать хорошего Евгению! :)
Не, реализация простая, на скрине с кодом все видно. За кадром осталась архитектура. Дело в том, что у моей плашки есть поле event, опрос которого я привязал к Tick форичем всех плашек (к нему еще есть поле args[], в котором я передаю и сохраняю аргументы для анимации). И если event != null значит есть метод и он его вызывает. Он знать не знает что вызывает) Я на плашку могу подцепить любую цепочку методов анимации. Ну логика примерно такая: при смене статуса плашки возникает событие, на которое подписан метод, который в свою очередь в зависимости от статуса подписывает на плашку метод с анимацией. Каждый тик, форичем проходим по плашкам и обрабатываем методы, которые к ним прицеплены. Как только метод отрабатывает, он отписывается от плашки. Вот с этой архитектурой я и провозился долго. Доведу до ума, выложу на всеобщее обозрение - посмотрите что и как.
Руслан, ты как всегда на высоте, ты бы видео б заснял выложи такую красоту свою :)
Да, здорово, если бы можно было gifки загружать
Интересная идея, и, видимо, непростая реализация
Руслан, все хорошо, ты и с этим справился! :)
Руслан! Замечательно, ты в очередной раз Потрясающий Молодец! Мне нравится что ты делаешь с удовольствием, это меня вдохновляет, спасибо тебе!
Руслан, отличная идея - попрактиковаться с енумераторами на примере этой программы.
Молодец!
Да я сделал скрин, убрал глюк, а по новой скрин делать не захотел)
Надпись о выигрыше не совсем закрывает надпись о проигрыше, часть смайлика осталась :)
>Устаревшая технология, изжившая себя.<
Устаревшая - да, не оправдавшая надежд - да, но изжившая - нет. Какие на данный момент есть альтернативы повторного использования кода? Какие программные продукты не используют dll или что они используют в замен? COM устарел, вот его точно никто сейчас не использует в новых продуктах, поддерживают старые, но в новые продукты не внедряют. В любом случае dll все еще позволяет поддерживать модульность, возможность обновлять продукт модульно, возможность один модуль использовать несколькими программами.
Руслан, ты Молодец, самая лучшая работа!!! :)
И, похоже, правильно, что не было про длл :)
Устаревшая технология, изжившая себя.
Но опыт, безусловно, полезный. Молодец, Руслан!
Руслан!!!
Я в восторге от проделанной тобой работы!
Очень многое ты изучил, очень многому научился самостоятельно.
Мне очень интересно и радостно было читать твой подробный отчёт. Круто!
Ты добился своей цели - получил ценный опыт, а я добился своей -
спровоцировал тебя на самостоятельную работу, предоставив стартовый материал.
Мне очень понравились твои идеи, молодец, что смог их довести до логического завершения.
Насчёт класса-прослойки Game - тоже верное решение, теперь каждый класс отвечает за своё.
Ship - за параметры корабля, Game - за правилами игры. То есть у тебя уже есть чувство
прекрасной абстракции :) Отличный результат, ещё раз скажу: я в восторге!
То-то на вебинаре тебе всегда всё понятно было :) когда другие молчали... :)
Из предложений - ты сам всё хорошо расписал - разделить спрайты на статические и динамические.
Либо две картинки для этого использовать, либо создать метод для стирания спрайта.
Кому интересно как устроено внутри
www.fayloobmennik.net/4938476
Жду критику и предложения)
Потрясно. Здорово, ведь про длл в уроках не было. Получили очень интересный и нужный опыт.
Когда то делал крестики-нолики на JavaScript, без рандома от компа, на шару не выиграть. Вот интересно как другие его делают. Как бы код глянуть?)
Руслан, все приходит из большого опыта и огромной прокачки навыков) У тебя все замечательно получается, ты большой Молодец!
Поздравляю с удачным прилунением!
Бывает интелесенс глючит и перестает подсказывать. Лечится просто перезапуском вижл.
Руслан, это тоже нужно, закон вспомнил теперь ждем на луне, удачного прилунения)))
Руслан, как обычно, как всегда! Молодец!
Задача такая:
В поъезде находятся квартирс от номера A до B. (1 <= A <= B <= 10000000000).
Сколько нужно дощечек с цифрами, чтобы прибить номреа на двери всех квартир?
А как конкретно задача звучит? А то я бы все числа в стринг, сплюсовал их, вернул бы каунт получившейся строки, вот и кол-во цифр)))
:) Все по своему делаешь! Давай догоняй, мы же сегодня уже на луну летим ;)
Руслан, а я как люблю так заморачиваться. Жаль, нашего с тобою увлечения ни многие разделяют.
Я один раз задался целью решить одну задачу про нахождение количества цифр в последовательности чисел от A до B без цикла... И сумел-таки! Без логарифмов не обошлось :) Часов шесть решал эту задачу без перерыва.
Руслан, замечательно, мне нравиться твой творчески и индивидуальный подход, Молодец! А самое главное, что ты получил желаемый результат и ты доволен им!
Руслан, что тут сказать, здорово! Впечатляет, хотя и не понимаю пока о чем говоришь, мне как то не легко далась стериализация, точнее я о ней раньше и не знала, не то что применять ее где-то, а ты столько тут рассказал :)
Руслан, я в восторге от твоих изысканий и познаний.
Признаюсь, сам я не так давно делал сериализацию "правильным" способом,
обычно изобретал велосипеды. Спасибо за подробное описание.
Рисунок штрихами из тысячи линий)
Я с вами полностью согласен) Жена только не согласна на эту уйму времени, ибо дозваться на обед не смогла, пока не принесла и не поставила рядом тарелку)))
xml вообще не для слабонервных. Это супер здорово, что Евгений Витольдович затронул эту тему! Облизываюсь на этот раздел, но пока до всего руки не успевают дойти.
Чтобы ты потратил уйму времени и набрался тем самым опыта.
Хрен бы ты стал это всё читать. если бы не этот короткий урок.
Так?
Не пойму почему не десериализируется. Вот код MyLine и код класа на сериализацию и десериализацию
public struct MyLine
{
public string color;
public int x1, y1;
public int x2, y2;
public MyLine(Color color, int x1, int y1, int x2, int y2)
{
this.color = ColorTranslator.ToHtml(color);
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
public Color Color
{
get { return ColorTranslator.FromHtml(color); }
set { color = ColorTranslator.ToHtml(value); }
}
}
public class SerializerSprite
{
static public void Save(Sprite sprite, string filename)
{
XmlSerializer xsSubmit = new XmlSerializer(typeof(Sprite));
using (StreamWriter sw = new StreamWriter(filename))
{
xsSubmit.Serialize(sw, sprite);
}
}
static public Sprite Load(string filename)
{
XmlSerializer xsSubmit = new XmlSerializer(typeof(Sprite));
using (StreamReader sr = new StreamReader(filename))
{
Sprite sprite = (Sprite)xsSubmit.Deserialize(sr) ?? new Sprite();
return sprite;
}
}
}
Руслан, для домашки есть время до следующего занятия, если устал и хочется спать, лучше выбери отдых это твое здоровье, оно более приоритетно, а с утра уже можно все сделать)
Была глубокая ночь, хотел спать и хотел делать домашку, соображалось уже не очень. Начал искать сторонние иконки. Потом подумал, что это не дело, надо рисовать. Начал рисовать в поинте. Потом подумал, что все есть в VS, года два назад делал в нем. Нарисовал там иконку, все вроде прицепил, но иконка все равно осталась стандартная. Причем, если левые картинки, то все в норме, а если из VS, то нет. Вобщем я подумал, что это долго и буду разбираться с утра, хотелось просто код пописать.
И вот утро) На свежую голову оказалось все просто. В VS заготовки на иконки даются несколько вариантов, разные форматы по размеру и глубине цвета. Я думал, что надо все перерисовывать на разные случаи жизни), а оказалось, что надо выбрать какой то один вариант, тогда все работает. У них ID одинаковый, вот прога и не знает какую из них отображать.
Руслан, хорошо что экспериментируешь, пробуешь в итоге вышел хороший дом) Так держать и вперед!
Здорово, что было интересно, но также интересно чему научился. Когда проверяю работы, часто хочется узнать, чему можно научится именно на этом видеоуроке. Заранее спасибо.
Руслан, не придумал все же иконку и по этому скриншот обрезал так чтобы не видно было, можно ж любую картинку поставить, это ж просто для тебя, чтобы привыкнуть оформлять форму, не забывать про такие мелочи)
Я не спорю) Я уверен, что так и будет, и что я на этих уроках найду много нового и полезного.
Руслан, это начало, к тому же даже в повторенном материале могут возникать мелкие помарки, а ведь курс рассчитан и на тех кто только начал и для них может и это оказаться глобально сложно) Дальше будет интересней)
Не могу перейти к следующему уроку, говорит надо отчет отправить на предыдущий урок. На предыдущем уроке говорит что отчет отправлен, можно переходить к следующему уроку. Перехожу к следующему, говорит, что надо отправить отчет за предыдущий урок)) Ну вот как то так...
А я бы предложил, рассмотреть основные паттерны программирования и их практическое применение в проектах на c#