C# обучение для чайников

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Сокобан - Вступление 00:11:09
4 теста
158 чел. ★ 4.8 Done
  Я приглашаю вас на видеокурс по созданию полноценной игровой программы СОКОБАН. Я проведу вас за руку по всем этапам создания законченной интеллектуальной игры:
1. Создание редактора уровней.
2. Придумывание этих самых уровней.
3. Создание собственно игры.
4. Решение олимпиадной задачки для добавления ИИ.
5. Переделка игры в режим "на двоих".
6. Написание класса Phone для связи двух программ по сети.
7. Создание сетевой версии игры Sokoban.
Будет интересно!

В конце видео - первое задание: Научиться играть! :)
Ссылка на игру Сокобан
Отчёт отправил: 6627. Иван Выполнено за 1 час. 15 мин. [Показать отчёт]
Научился: Вспомнил самую любимую игру студенчества :) 
Сложности: Девятый уровень сокобана 
Комментарии: нет 
2 FREE Сокобан - Подготовка - Картинки и лабиринт 00:04:56
1 тест
116 чел. ★ 4.9 Done
  На этом уроке мы подготовим 6 пиктограмм и две картинки для игры,
а также придумаем свой собственный уровень, который запишем в текстовый файл.

Отчёт отправил: 6627. Иван Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Поиск и обрезка/подгонка картинок 
Сложности: Поиск картинок 
Комментарии: нет 
3 Сокобан - Редактор - Загрузка 00:33:25
110 чел. ★ 5 Done
  Мы начинаем создавать редактор уровней
для известной логической игры Sokoban.

Редактор будет создан за четыре урока.
На первом уроке мы создадим класс для загрузки
уровня с текстового файла и протестируем его работу.

Отчёт отправил: 6627. Иван Выполнено за 1 час. 10 мин. [Показать отчёт]
Научился: Научился очень удобной процедуре парсинга строк. Никогда еще так комфортно не работал с данными из текстового файла .... да и вообще с текстовым файлом. 
Сложности: С Евгением очень тяжело представить, что в C# есть что - то сложное :) 
Комментарии: --- 
4 Сокобан - Редактор - Интерфейс 00:40:37
95 чел. ★ 5 Done
  На этом уроке мы создадим интерфейс программы
и сделаем отображение загруженного уровня на экране.
Отчёт отправил: 6627. Иван Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Очень тяжко даются формулы пересчета ширины и высоты. 
Сложности: Понять как работают формы для расчета ширины и высоты наших картинок. 
Комментарии: --- 
5 Сокобан - Редактор - Редактирование 00:38:33
88 чел. ★ 5 Done
  На третьем уроке мы сделаем наконец-таки редактирование поля.
Также реализуем возможность изменения размера лабиринта.
В конце напишем функцию для проверки корректности составленного уровня.
Отчёт отправил: 6627. Иван Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Присвоение координат полю Tag компонента PictureBox. И лучше усвоил как правильно создавать универсальные методы, вместо деблирования кода. 
Сложности: Самое сложное, как всегда, поспевать за мыслями Евгения :) 
Комментарии: --- 
6 Сокобан - Редактор - Сохранение 00:44:47
84 чел. ★ 4.9 Done
  На четвёртом уроке мы закончим создание редактора уровней.
Напишем самую главную функцию для сохранения сделанных изменений в файл.
Затем добавим кнопки перехода к следующему и предыдущему уровню.
Останется только немного облагородить интерфейс программы.
Отчёт отправил: 6627. Иван Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Записывать в файл весь массив одной коммандой. Делать Resize для массива. 
Сложности: Отслеживание мысли о добавлении и вычитании кол-ва элементов в массиве. 
Комментарии: Когда Евгений устает, то эта усталость отражается и на нас ... точнее на мне. Этот урок дался тяжко ... вся вторая половина урока прошла с навязчивой мыслью "Ну когда же это все закончится". С прошлыми уроками было наоборот. После окончания урока хотелось начать следующий не делая пауз. 
7 Сокобан - Редактор - Улучшение 00:29:00
81 чел. ★ 5 Done
  Допиливаем и дорабатываем редактор до товарного вида.
Реализуем ещё несколько фишек.
Отчёт отправил: 6627. Иван Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Парсить строку с нужным мне символом. 
Сложности: Нарисовать картинки и вставить в меню 
Комментарии: --- 
8 Сокобан - Редактор - Классика уровней 00:03:16
1 тест
31 чел. ★ 5 $
  На этом уроке вам нужно выбрать любых два классических уровня
и создать их в нашей программе-редакторе.

Ссылка на классические уровни:
https://logic-games.spb.ru/sokoban/

Редактор можно скачать здесь:
https://www.videosharp.info/data/soft/SokobanEditor.zip
9 Сокобан - Создаём свои уровни 00:08:05
1 тест
79 чел. ★ 4.9 Done
  Твоя задача - подготовить базу уровней для игры Сокобан.
Отчёт отправил: 6627. Иван Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Вспомнил какие уровни мне больше всего понравились в сокобане :) 
Сложности: --- 
Комментарии: --- 
10 Сокобан - Игра - Интерфейс 00:43:45
1 тест
80 чел. ★ 5 Done
  Мы начинаем создание интеллектуальной игры СОКОБАН.
У нас уже есть все необходимые классы и уровни для создания полноценной игры.
На этом уроке мы создадим форму и настроим интерфейс окна лабиринта.
Отчёт отправил: 6627. Иван Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Тренировка по созданию делегатов 
Сложности: --- 
Комментарии: --- 
11 Сокобан - Игра - Управление 01:06:38
3 теста
69 чел. ★ 5 Done
  Теперь мы создадим класс логики игры Game,
используя который, мы реализуем управление человечком
курсорными клавишами клавиатуры.
А также сделаем переход на следующий уровень.
Отчёт отправил: 6627. Иван Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Очень нравится использование двух массивов (top и map) для получения результата. Этот метод для меня в видеокурсе "Морской флот" был в новинку, а сейчас я его еще лучше закрепил.  
Сложности: Пришлось немного включить и свое серое вещество, а не только пользоваться знаниями Евгения, для отображения завершающего окна, о том что все уровни пройдены :) 
Комментарии: Евгений, сори за отчет. Дети и работа съедают все свободное время .... я очень стараюсь выделять время для программирования, меня оно завораживает .... но иногда делаю налету-набегу, как с этим отчетом... P.s. все хотел спросить.... А почему вы не используете коллекции? .... я все время у Вас массивы вижу. 
12 Сокобан - Решалка - Тестер 00:59:55
1 тест
63 чел. ★ 5 Done
  На этом уроке мы напишем программу, которая будет
проверять правильность алгоритма поиска решения лабиринта.
http://www.videosharp.info/console/task/level=1178
Отчёт отправил: 6627. Иван Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Раньше я консоль использовал исключительно  для вывода результата. А что в консоли можно даже в сокобан играть, я понятия не имел. С этого момента кругозор у меня стал шире :) Спасибо большое :) 
Сложности: Самым сложным было понять каким образом двигается мышка за яблоком .... перерисовка творит чудеса :) 
Комментарии: Было бы классно если бы Вы, Евгений, при создании какой-то ф-ии, точнее метода, хотя бы в двух словах рассказывали что оно будет делать, а то я, иногда, начинаю понимать, что ф-ия делает только после того, как она начинает работать :) Так не всегда, но бывает. ИМХО 
13 Сокобан - Решалка - Мышка 00:53:02
1 тест
62 чел. ★ 5 Done
  Мы начинаем решать задачу по решению игры Сокобан с одним ящиком.
Эта задача олимпиадного уровня на применение алгоритма поиска вширь.
Главный герой - мышка Альфа, которая желает затолкать яблочко к себе в норку.
Программу мы напишем за два урока.
На первом уроке мы создадим вспомогательную функцию MoveAlfa(),
которая подскажет мышке как попасть из одной клетки лабиринта в другую кратчайшим путём.
Отчёт отправил: 6627. Иван Выполнено за 1 час. 50 мин. [Показать отчёт]
Научился: Теперь я знаю алгоритм по нахождении кратчайшего пути.  
Сложности: проследить линию алгоритма  
Комментарии: Очень интересно было протестировать результат :) 
14 Сокобан - Решалка - Яблоко 00:44:23
2 теста
60 чел. ★ 5 Done
  На втором уроке мы переделываем написанный алгоритм поиска маршрута мышки.
Теперь мы разрешаем мышке толкать яблоко, и записываем все изменения их расположений.
Отчёт отправил: 6627. Иван Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Для меня всегда было проблемой перестроится из функций и процедур в ООП.  
Сложности: Самым сложным и интересным было тестирование. :) От тестирования, в очередной раз, получил огромное удовольствие :) 
Комментарии: Спасибо, Вам, Евгений! 
15 Сокобан - Решалка - Оптимизация 00:11:37
1 тест
60 чел. ★ 5 Done
  На этом коротком уроке мы рассмотрим два способа оптимизации нашей программы, в результате которых работать она станет просто молниеносно!!!
Отчёт отправил: 6627. Иван Выполнено за 20 мин. [Показать отчёт]
Научился: Теперь мне думается, что коллекции не так эффективны ..... как хотелось бы. Хитрый получился массив :) Классно придумано :) 
Сложности: Понять, что наши координаты - это номера индексов у массива :) Изначально думается: "Ну как булевский массив может хранить координаты?" )))) 
Комментарии: А вообще странно ... поиск по индексам, по идее, должен быть такой же моментальный, как и мы обращаемся к массиву напрямую.... 
16 Сокобан - Игра - Автоходы 00:42:22
1 тест
57 чел. ★ 5 Done
  Поздравляю, программа уже создана: можно играть, можно ею хвастаться.
На этом уроке мы добавим в игру автоходы, чтобы можно было
управлять нашим человечком с помощью мышки - указать, куда идти,
и даже указать, какой ящик куда нужно поставить.
Для этого нам потребуются два класса по решению лабиринта.
Отчёт отправил: 6627. Иван Выполнено за 1 час. 50 мин. [Показать отчёт]
Научился: Очень интересно было встраивать классы из олимпиадных задач. 
Сложности: --- 
Комментарии: В олимпиадных задачах яблоко было ящиком, а в сокобане ящик стал яблоком ))) 
17 Сокобан - Редактор - На двоих 00:31:57
1 тест
54 чел. ★ 5 Done
  Переделываем редактор уровней, чтобы можно было создавать лабиринты для двоих игроков.
Создаём базу из 10 новых уровней игры в Сокобан для двоих.
Отчёт отправил: 6627. Иван Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Мне, почему то создавать уровни не так интересно, как играть в уже созданные. 
Сложности: Создание уровней. Еще немного задумался над тем как мы ранее делали выделение кнопки на toolStrip 
Комментарии: --- 
18 Сокобан - Игра - На двоих 00:15:40
54 чел. ★ 5 Done
  Переделать игру, чтобы в неё можно было играть вдвоём на одной клавиатуре.
Отчёт отправил: 6627. Иван Выполнено за 40 мин. [Показать отчёт]
Научился: Дорабатывать наш сокобан для игры вдвоем на одной клавиатуре. 
Сложности: --- 
Комментарии: Я немного лохонулся на прошлом уроке. Не создал копию игры на одного ... сделал из игры на одного, игру на двоих. Соответственно игра на одного была утеряна. Пришлось, без Евгения, откатываться ... делать обратную операцию. Из игры на двоих - игру на одного. :) 
19 Сокобан - Телефон - TCP/IP протокол 00:47:44
1 тест
65 чел. ★ 5 Done
  На этом видеоуроке мы создадим три класса, которые удобно
использовать для передачи данных между двумя компьютерами.
Отчёт отправил: 6627. Иван Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Соединять два приложения по TCPIP протоколу. 
Сложности: Для меня самым сложным было разобраться с параллельным потоком. Но есть момент который мне как-то не по себе - дался .... Вот у нас создание нового потока: Thread thread = new Thread(Waiter); А почему мы используем название нашего метода  Waiter без скобочек? Вот так: Thread thread = new Thread(Waiter ( ) ); Как то не логично получается ... будто мы потоку переменную передаем ....  
Комментарии: Для меня этот урок был мего позновательным. Спасибо Евгению. Я давно хотел познакомиться с сеткой в C# ... даже как-то маловато показалось :) Много тестировал. Как появится шанс протестировать на двух машинах, обязательно это сделаю ! 
20 Сокобан - Игра - На двоих по сети 00:56:59
1 тест
52 чел. ★ 5 Done
  На этом уроке мы наконец-таки сделаем сетевую версию программы Sokoban для двоих.
Мы будем использовать телефонный класс Phone с прошлого урока.

Отчёт отправил: 6627. Иван Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Потренировался в делегатах. 
Сложности: Двух компов нет. Протестировать в ближайшее время нет возможности :( P.s. при первом же случае протестирую и переделаю отчет. 
Комментарии: Пока тестировал еще баг нашел. :) Я полон энтузиазма допилить все наши сетевые баги. 
21 Сокобан - Завершение 00:37:44
49 чел. ★ 5 Done
  Игра уже написана, но всегда можно сделать чуть-чуть лучше.
На этом уроке мы объединим оба варианта игры в одну программу
и загрузим файл с уровнями в ресурсы программы.
Теперь в одном ехешнике будет сразу всё!
Это финиш!!!
Отчёт отправил: 6627. Иван Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Компоновать игру из маленьких кусочков. 
Сложности: --- 
Комментарии: Огромное Вам, Евгений,  спасибо за данную игру ... я научился тут работать с пикчебоксиками, познакомился с перерисовкой для ресайза, был очень познавательный алгоритм для перемещения ящиков, работа с TCPIP (это мне еще нужно будет проверить ... по сети),  узнал о удобной записи и чтении из текстового файла.... Да и всего не перечислить. Было очень интеремно. Спасибо вам за это. P.s. Евгений, теперь очень хочется поработать с базами данных и попарсить XML файлы. Посоветуете курс? 
22 ФИНАЛЬНЫЙ урок. Видео-обзор проекта Сокобан 00:23:23
35 чел. ★ 5 Done
  Задание:
Записать видеообзор игры СОКОБАН.

Отчёт отправил: 6627. Иван Выполнено за 50 мин. [Показать отчёт]
Научился: Записывать обзоры :) 
Сложности: настроить программу по записи видео 
Комментарии: Спасибо большое Вам, Евгений, за Ваш вклад в этот проэкт. P.s. программ написанных мной очень мало и прикладывать - то нечего. Я только лишь начинающий программист.... 
Видеообзор: http://www.youtube.com/watch?v=Z4WjyK2SEFU
23 VIP. Бот для игры БАЛДА 01:22:57
16 чел. ★ 5 $
  Используя текстовый файл из 27400 слов
создаём рекурсивный алгоритм подбора
слов для популярной игры Балда.
  Итого:   23 видеоурока 13 час. 51 мин.
20 тестов
12 чел. ★ 4.98  
  Финалисты:   LINKI,   Новопашин Владимир,   Tekashnik,   Алексей В.,   zhikharevav,   Evgenii Kudriavtcev,   chokayes,   Дмитрий,   Максим Лапшинов,   no name,   Max,   MaxB .

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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Сделано, Ура! Записал и сделал видеоролик.
Трудности: Создать видеоролик, но все уже пройдено. Следующие будет намного легче =)



Научился: Запись видео обзора на разработанный продукт.
Трудности: Побороть свою лень)))
ОООООООЧЕНЬ крутой, интересный курс!!!! Рекомендую всем!
Смотреть видеозапись: https://www.youtube.com/watch?v=JJWEkydnemY