Си шарп с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович




Сергей Владимирович
  • Звание: Микробитер
  • Накопленный опыт: 38 часов
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2016-10-08 12:35:39
  • Город проживания: Харьков

Видеокурсы

Дата активности Видеокурс Прогресс
2016-01-28 game4 Игры со Спрайтами 10 из 33 31 %
2016-01-22 soft2 Новые технологии 1 из 17 6 %
2016-01-16 soft1 Прикладные 1 из 10 10 %
2016-01-08 game1 Наноигры все 10 100 %
2016-01-06 game2 Микроигры 2 из 15 14 %
2016-01-02 game6 Морской Бой 2 из 16 13 %
2015-11-27 game0 Демо игры все 9 100 %
Итого: 35 из 110 32 %

Консольные задачи

Дата активности Консольный раздел Прогресс
2015-11-06 task1 Семантика 2 из 6 34 %
Итого: 2 из 6 34 %
Сохранить страницу:

24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Аполлон. Плавное прилунение / 2016-01-28 21:31

Сергей, хорошо что все у тебя хорошо получилось, вот только иконки нет, а ведь это можно очень легко делать, рекомендую хороший сайт http://findicons.com


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Аполлон. Законы физики / 2016-01-28 18:09

Хорошо получается! Только я бы все-таки поменял иконку, Ее можно сделать за 5 секунда на favicon.ru


24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Сериализация объекта / 2016-01-27 17:04

Сергей, отличные знания получил в этом уроке и здорово что было легко! :)


8977. Иван
Иван
ответить
→  Сергей Владимирович   / 2016-01-23 13:47

при чем тут null вообще? полагаю, вы не до конца разобрались в вопросе. null - это пустая ссылка, а "" и Empty - это строка с пустым значением


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Иван   / 2016-01-23 13:44

Даже в том примере прослеживается разница между null и "".


8977. Иван
Иван
ответить
→  Сергей Владимирович   / 2016-01-23 13:30

Там задали глупый вопрос и получили 15 попыток на него ответить https://msdn.microsoft.com/ru-ru/library/system.string.empty(v=vs.110).aspx


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Иван   / 2016-01-23 13:23

http://stackoverflow.com/questions/151472/what-is-the-difference-between-string-empty-and-empty-string


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Иван   / 2016-01-23 13:22

вот вам ссылка на пруф


8977. Иван
Иван
ответить
→  Сергей Владимирович   / 2016-01-23 12:32

медленнее чего? "" - это пустая строка нулевой длинны, в коде такая запись выглядит убого. есть отличное свойство String.Empy


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Иван  # Новые технологии / Модульное тестирование / 2016-01-23 06:26

совсем нет, если верить одному заграничному сайту то "" самое медленное по выполнению действие.


8977. Иван
Иван
ответить
→  Сергей Владимирович  # Новые технологии / Модульное тестирование / 2016-01-22 21:40

"разница между "" и string"  нонсенс) И побольше методов проверки в тест добавь, как минимум все граничные значения проверять нужно, а то толку от теста никакого


24. Оля
Оля
ответить
→  Сергей Владимирович   / 2016-01-20 01:31

Сергей, спасибо, теперь все поняла!!! Уверена что ты сделаешь задуманное! :)


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Оля   / 2016-01-20 01:12

Кнопки на панели временные, сейчас работаю над тем, чтобы при нажатии на клавишу на клавиатуре, происходила смена цвета, и при этом, код был бы красивым.
Обозначение каждой кнопки есть в поле меню. Нажимаешь на вкладку кнопки и появляется сообщение с их обозначениями.


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Панель инструментов / 2016-01-19 23:55

Дальше в курсе , кажется, будет рассказано, как менять цвет. Я делал массив цветов. И  по нажатию кнопки можно подставлять выбранный цвет.


24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Панель инструментов / 2016-01-19 19:50

Сергей, не совсем поняла, ты же сделал кнопки, или это временно пока не сможешь доделать отрисовку?
А тогда вопрос как пользователь будет знать какая клавиша за какой цвет отвечает, или я что-то не дополняла из твоих комментариях, подправь тогда меня, расскажи более подробно! :)


24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Рисуем линии мышкой / 2016-01-19 16:31

Сергей, спасибо что обратил внимание на Rearesh! Рада что все получается у тебя! :)


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Класс для Спрайта / 2016-01-19 12:42

List очень пригодится, когда будешь делать сериализацию спрайта( сохранение спрайта в xml).


24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Класс для Спрайта / 2016-01-18 23:55

Сергей, еще больше знаний, как это великолепно! :)


24. Оля
Оля
ответить
→  Сергей Владимирович  # Прикладные / Твоё портфолио / 2016-01-17 23:00

Сергей, шикарная работа, отличный опыт и знания! Рада что ты так хорошо позанимался и получил супер результат! Молодец! :)


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Аполлон. Главные герои / 2016-01-14 23:57

Хорошие спрайтики получились!


24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Аполлон. Главные герои / 2016-01-14 23:55

Сергей, очень милый рисунок у тебя! Молодец! :)


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Класс для графики / 2016-01-14 01:16

Молодец, все получилось!


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Первая форма / 2016-01-14 01:12

Начало всегда простое! Надо же с чего-то начать...


24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Структура для линии / 2016-01-13 22:28

Сергей, классно что ты доволен своими результатами! А чем дальше тем интереснее! :)


24. Оля
Оля
ответить
→  Сергей Владимирович  # Игры со Спрайтами / Спрайт. Первая форма / 2016-01-13 16:02

Сергей, очень рада что уже такие уроки выполняешь легко и только закрепляешь и оттачиваешь мастерство! :)


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / VIP - Карточки памяти - Подготовка / 2016-01-07 23:43

Сергей, хорошо подготовился, дальше реализация самое "вкусненькое"! :)


8. Василевская Елена
Василевская Елена
ответить
→  Сергей Владимирович  # Наноигры / VIP - Карточки памяти - Подготовка / 2016-01-07 18:10

Крутые парни.... Хорошая подборка карточек


24. Оля
Оля
ответить
→  Сергей Владимирович  # Микроигры / Игра 15 - Алгоритм / 2016-01-06 20:41

Сергей, классно что получил такие полезный опыт! :)
http://www.videosharp.info/webinar/answers/id=27 вот тут в видеоответе Евгений отвечает на вопрос: C# Почему Random выдаёт одинаковые числа?


7276. Ильшат
Ильшат
ответить
→  Сергей Владимирович  # Наноигры / ФИНАЛЬНЫЙ УРОК. Видеообзор программы / 2016-01-04 01:56

Сергей, ребята уже ответили на твои вопросы, согласен с их ответами, напишу немного про другое, в общем.
Программы - это не магия. Программы - это просто текст на другом, искусственном языке. Это примерно то же самое, что сказать предложение на русском языке, а потом перевести его на английский. Смысл тот же самый почти, только написано на разных языках, и чтобы составить английский текст нужен переводчик. В программировании примерно похожая ситуация, компьютер не понимает русский, ему надо перевести текст алгоритма с русского на машинный язык, а для этого нужны свои переводчики, которых в реальности несколько, но для простоты твой единственный переводчик - это компилятор C#. Получается, чтобы решить задачу, нужно 1) составить словесный алгоритм, то есть понять задачу 2) выразить этот алгоритм в коде. Компилятор прочитает твой код, поймет его и даст на выполнение.

Итак, тебе нужно просто написать на бумаге, что нужно сделать, чтобы у тебя в программе появилась таблица рекордов, детально все разобрать, чтобы, например, твой сосед прочитал твой алгоритм и смог его понять и запрограммировать. Программирование - это понимание. Если ты понял задачу, то ты ее запрограммируешь. А запрограммировать можно достаточно быстро, нужно лишь освоить базовые элементы языка, его принципы, if, while и прочее, получить практику в решении простых задач.

В общем, опять много написал, по первому вопросу сделай изменение скорости через приращение шага, а не изменение интервала таймер. По второму вопросу, почитай про массивы, про загрузку/сохранение данных в файлы, успехов)


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / ФИНАЛЬНЫЙ УРОК. Видеообзор программы / 2016-01-03 23:43

Сергей, хороший портал, мне иногда очень такого вот нахватает!!! И обзор хороший! Молодец! :)


8005. Александр
Александр
ответить
→  Сергей Владимирович  # Наноигры / ФИНАЛЬНЫЙ УРОК. Видеообзор программы / 2016-01-03 23:33

Привет. По твоей ошибке с нулевым или отрицательным интервалом таймера можно сделать так - чтобы не переписывать даже код просто заменить цифру 0 на 6. - if (timer.interval < 6) return. А иначе выитай по 5 как делал.

А с таблицей рекомендуется идея классная, но так быстро ответ уже не дать. На самом деле советую отложить пока эту мысль и следующим пройти курс "прикладные" так же бесплатный. Там уже есть работа с файлами. После него можешь вернуться к арканоиду и у тебя будет понимание с чего начинать.


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Наноигры / ФИНАЛЬНЫЙ УРОК. Видеообзор программы / 2016-01-03 20:29

Можно записывать в файл, потом оттуда считывать. Или использовать xml сериализацию. В курсе "Игры со спрайтами" есть пример, как это сделать.


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Максим Лапшинов  # Наноигры / ФИНАЛЬНЫЙ УРОК. Видеообзор программы / 2016-01-03 16:39

по поводу скорости. Таки все верно, таймер не может принимать значения 0 и меньше, поэтому, если пределом поставить 1, то все работает без багов, спасибо.
насчет таблицы вот сейчас думаю


5649. Максим Лапшинов
Максим Лапшинов
ответить
→  Сергей Владимирович  # Наноигры / ФИНАЛЬНЫЙ УРОК. Видеообзор программы / 2016-01-03 15:57

в Таймере наверное нельзя делать значение которое будит -1 например и может 0 тоже
чтобы увеличить скорость  вам лутше увеличивать x и y перемещения каретки
а так попробуете вместо 0 поставить 5.

Насчет таблицы рекордов
то при завершении игры записываете в файл на последнию строку данные
а при старте программы или при клике то чтобы загружалабы результат весь в массив или в список какойто и его потом отсортировать.
Но сперва подумайте об этом и попробуйте так вывести баллы при игре и при завершении игры


8005. Александр
Александр
ответить
→  Сергей Владимирович  # Наноигры / Анимированный кубик / 2016-01-03 00:25

Про вопрос кстати в тему. Когда я  делал кубик тоже заметил что при быстром клацании они все к центру смещаются. Может рандом так работает...что выдаёт среднее значение при такой интенсивности


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Анимированный кубик / 2016-01-02 22:25

Сергей, очень интересный вопрос, даже о таком и не подумала, спасибо! :)


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Евгений Витольдович   / 2016-01-02 19:37

а почему они всегда группируются в центре, а не в углу или с краю?


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Сергей Владимирович  # Наноигры / Анимированный кубик / 2016-01-02 19:35

Не знают, куда бежать ;)


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  looker   / 2015-12-30 15:40

привет, я сейчас работаю над программой арканоид, вернее готовлю улучшения программы для финального урока в разделе наноигры. Сделал большинство из тех улучшений что хотел, но решил выйти за рамки курса и сделать таблицу рекордов. Гугл не дает четкого ответа на этот вопрос, однако он выдал вашу работу, где вам все-таки удалось создать таблицу рекордов. Можно вас попросить скинуть мне часть кода который отвечает за таблицу рекордов, или подсказать в каком направлении двигаться?


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Наноигры / Анимированный кружок / 2015-12-16 00:53

Хорошо, что все-таки добил урок! Поставил цель, и добился!


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Анимированный кружок / 2015-12-15 21:23

Сергей, я очень рада что ты вернулся и сделал этот урок! Главное выполняй, если трудно лучше сначала по видео, а уж потом и сам сможешь, я в этом уверена! :)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Сергей Владимирович  # Наноигры / Анимированный кружок / 2015-12-15 15:29

Следующий урок ещё сложнее, в плане массивов.
Наберись уж терпения и усидчивости, пожалуйста,
для начала делай всё строго по уроку, чтобы не запутаться.


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Иван  # Вебинары / Видео-ответы на разные вопросы / 2015-12-01 17:32

нужно, я сейчас заливаю его на гит и открою всем доступ


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Вебинары / Видео-ответы на разные вопросы / 2015-12-01 15:13

Привет. Если не видишь кода - сложно помочь. Заходи на http://videoschool.info/. Это что-то похожее на соц сеть этого проекта. В разделе форум есть тема "Мозговой штурм". Может туда код разместить? Постараюсь помочь, делал этот урок - проблем не возникало. Если , конечно, еще нужно...


7976. Сергей Владимирович
Сергей Владимирович
ответить
# Вебинары / Видео-ответы на разные вопросы / 2015-12-01 11:10

появилась проблема которую я не могу решить уже 3 день. Дело в том что при написании анимированного кружка в разделе наноигры, я столкнулся с тем что при попытке наследования аргументов из класса Circle в класс Move_circle, компилятор выдает следующую проблему.
There is no argument given that corresponds to the required formal parameter 'x' of
гуглил этот вопрос и как я понял такой конструкции невозможно
http://stackoverflow.com/questions/30696006/inheritance-with-base-class-constructor-with-parameters
но я четко видел у вас что все работает.
прошу подсказать мне как решить данную проблему или путь по которому ее решить. Сам текст кода, могу прислать куда скажите, хоть на почту, хоть на гит.


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Бот для Цифр / 2015-11-29 23:58

Сергей, отлично что придумал применение бота, а еще мне бы хотелось чтобы ты иконочку сделал свою уникальную, а то такая классная программа у тебя и с такой некрасивой иконкой! :)


2146. Иван
Иван
ответить
→  Сергей Владимирович   / 2015-11-28 11:09

16 - это не шестнадцатиричная система. Это разрядность чилса. Вот хоть здесь можно прочитать https://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BB%D0%BE%D0%B5_%28%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%29. К сожалению, конвертирование никак не связано с безопасностью ввода данных. Их надо проверять отдельно


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Фомичева Наталья   / 2015-11-28 01:00

не совсем опять понял, но покопаюсь в интернете еще, спасибо за попытку помочь)


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Иван   / 2015-11-28 00:55

спасибо за ответ, а почему именно в 16 ричную систему, а не в какую-нибудь другую?
И правильно ли я понимаю, что данное конвертирование нужно прежде всего чтобы обезопасить нас от того что пользователь введет в поле буквенные значения, вместо цифр?


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Наноигры / Устный счёт / 2015-11-28 00:18

Отлично все получилось! На первый вопрос уже все ответили. А по поводу второго - программа получает от нас строку(string), а чтобы производить арифметические действия на нужен будет тип int. Вот  мы и конвертируем string в int.


1232. Фомичева Наталья
Фомичева Наталья
ответить
→  Сергей Владимирович  # Наноигры / Устный счёт / 2015-11-27 23:33

1. Выводим a умноженное на b, где a - рандом от a до b?  Там исправлено: a равно рандом от min=1 до max=10.
Знак "+" означает объединение нескольких строк в одну строку, если что.
2. Мельком просмотрела урок и не нашла там конвертирование. Но если там строка, то ее нужно перевести в число чтоб производить математические действия, такие как "+" - сложение.


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Устный счёт / 2015-11-27 21:50

Сергей, хорошая у тебя получилась программа! :)
Сергей, продолжай дальше заниматься, знаю что через время, когда пропишешь много кода понятия само прийдет, главное двигайся, а к этим вопросам вернешься если они на тот момент еще будут! :)


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Оля   / 2015-11-25 23:49

про рандом, спасибо, ознакомлюсь)


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Скорость реакции. Алгоритм и рекорд / 2015-11-25 23:43

Сергей, мне нравится как получилась твоя программа!
Отличные навыки приобрел!
А про class Random можешь больше познакомится здесь http://www.videosharp.info/webinar/answers/id=27


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Наноигры / Скорость реакции. Блок-схема / 2015-11-25 16:36

Отличная блок схема получилась. Если в ворде сложно, то можно попробовать сделать блок схему на сайте draw.io


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Наноигры / Скорость реакции. Три картинки по таймеру / 2015-11-25 16:30

Тернарная операция очень удобна - заменяет кучу проверок условий (IF)


1. Евгений Витольдович
Евгений Витольдович
ответить

24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Арканоид - Уровень и ракетка / 2015-11-19 23:38

Сергей, знаю что ты разберешься если уже не разобрался! :)


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Евгений Витольдович   / 2015-11-19 14:14

пробовал, но вот все-равно не пойму почему именно так а не иначе


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Сергей Владимирович  # Наноигры / Арканоид - Уровень и ракетка / 2015-11-19 14:04

Сделай вывод координат ракетки на форму.
И попробуй сам ответить на этот вопрос.


6925. Артём
Артём
ответить
→  Сергей Владимирович  # Наноигры / Камень ножницы бумага / 2015-11-12 09:21

Неплохая фантазия, молодец!


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Сергей Владимирович  # Наноигры / Полуфинальный урок. Отзыв о видеокурсе / 2015-11-12 08:01

Спасибо, Сергей!
Попробуй выбрать раздел "тест-драйв демо-пакет".


7976. Сергей Владимирович
Сергей Владимирович
ответить
→  Виталий  # Наноигры / Игра Быстрощёлк / 2015-11-09 16:21

Виталий!!!


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Сергей Владимирович  # Наноигры / Лабиринт 2D - игра / 2015-11-09 16:06

Создай для нужного лейбла событие onMouseOver


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  Сергей Владимирович  # Наноигры / Лабиринт 2D - меню / 2015-11-09 14:17

Попробуй библиотеку NAudio.dll в интернете много уроков как работать с библиотекой


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  Сергей Владимирович  # Наноигры / Лабиринт 2D - игра / 2015-11-09 14:15

Попробуй так в MouseEnter:
Point point = lbl_teleport.Location; // здесь укажи какой портал
                point.Offset(lbl_teleport.Height / 2, lbl_teleport.Width / 2);
                Cursor.Position = PointToScreen(po);


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Картинка с секретом / 2015-11-06 23:32

Сергей, отличная у тебя программа, и здорово что все работает! :)


2146. Иван
Иван
ответить
→  Сергей Владимирович  # Наноигры / Картинка с секретом / 2015-11-06 22:47

Отлично получилось! Почему не сработал 1 вариант не посмотрев в проект представляется сложным. Открой Event , той кнопки , которая не работает, и посмотри, что там написано: Может не тот event, а может еще что.


24. Оля
Оля
ответить
→  Сергей Владимирович  # Наноигры / Вступительное слово / 2015-11-04 14:46

Сергей, Добро пожаловать на проект, рада что ты присоединился! Желаю тебе легко и весело прокачаться и приобрести новый опыт! :)

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: создавать меню игры и подключать другие классы
Трудности: все было не плохо.
Хочу спросить, как все-таки работать с МР3? Я искал, мне активно выдает создание Медиа плеера.
Научился: ничему
Трудности: найти картинку
---------