Си шарп видео уроки

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

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

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

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

После взноса  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:10:00
31 чел. ★ 4.9 Done
  Мы начинаем видеокурс "Мат конём и слоном".
Цель курса - создать базу решений этой задачи.
То есть для любой исходной комбинации найти
правильный ход, который ведёт к победе.
Отчёт отправил: 11589. Yefim Выполнено за 13 дней 20 час. 53 мин. [Показать отчёт]
Научился: Составлять позицию мата слоном и конем 
Сложности: --- 
2 Перебор всех комбинаций 00:20:58
21 чел. ★ 5 Done
  На этом уроке мы создадим вложенные циклы
для перебора всех возможных вариантов
расстановки наших фигур на шахматной доске.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 3 час. 35 мин. [Показать отчёт]
Научился: Перебирать все комбинации с учетом недопустимости сближения королей. 
Сложности: Во втором варианте число действительно меньше. Не исключаю, что в моем коде может быть неточность. 
3 Королевское правило 00:17:12
19 чел. ★ 5 Done
  На этом уроке мы проверим, стоят ли короли на соседних клетках.
Потом мы напишем заготовку для проверки, является ли позиция матовой.
Самостоятельное задание - написать функцию onKnight().
При желании написать проверку для слона пока писать не нужно.
Отчёт отправил: 11589. Yefim Выполнено за 10 час. 59 мин. [Показать отчёт]
Научился: Познакомился с алгоритмом проверки матовой ситуации для нашего случая. Лишний раз убедился, тип byte здесь больше мешает, чем помогает . 
Сложности: Реализовать функцию OnBishop() 
4 Конь ходит буквой Гэ 00:11:53
19 чел. ★ 4.9 Done
  На этом уроке мы напишем метод, который проверяет,
рубит ли конь указанное поле. Алгоритм не сложный.
Самостоятельное задание:
почитать о Нотации Форсайта — Эдвардса на Википедии.

Написать метод формирования этой нотации по имеющимся координатам четырёх фигур.
Сайт для чтения FEN: http://www.apronus.com/chess/wbeditor.php
Отчёт отправил: 11589. Yefim Выполнено за 1 день 12 час. 16 мин. [Показать отчёт]
Научился: Реализовывать метод GetFEN();- 
Сложности: --- 
5 Нотация Форсайта - Эдвардса 00:15:17
19 чел. ★ 5 Done
  На этом уроке мы научимся экспортировать
найденные позиции в FEN код, чтобы посмотреть
их в любом шахматном эмуляторе.
Сайт для чтения FEN: http://www.apronus.com/chess/wbeditor.php

Самостоятельное задание:
Написать метод проверки для слона, бьёт ли он поле.
Отчёт отправил: 11589. Yefim Выполнено за 42 мин. [Показать отчёт]
Научился: Функцию getFEN() я написал в предыдущем уроке и она, по признанию Игромистра, не хуже.  
Сложности: Фразу "невозможно поставить мат 2-мя конями" следует уточнить: "Всегда можно избежать мат2-мя конями"  
6 Ворошиловский слон 00:24:09
18 чел. ★ 5 Done
  На этом уроке мы напишем наконец-таки
метод bool onBishop (byte x, byte y) и
подсчитаем количество матовых позиций.
А в конце урока блеснём использованием итератора :)

Самостоятельное задание: придумать структуру
для хранения найденных позиций и описать её в комментариях к отчёту.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 31 мин. [Показать отчёт]
Научился: Реализовывать метод  bool OnBishop() 
Сложности: Понять магию. 
7 Две структуры 00:11:34
18 чел. ★ 4.9 Done
  На этом уроке мы подготовимся к рефакторингу нашего кода.
Отчёт отправил: 11589. Yefim Выполнено за 30 мин. [Показать отчёт]
Научился: Создавать 2 структуры 
Сложности: Все ясно 
8 Рефакторинг кода 00:36:36
17 чел. ★ 4.9 Done
  На этом уроке мы сделаем рефакторинг всего кода.
В конце урока будем искать ошибку :)
Отчёт отправил: 11589. Yefim Выполнено за 1 день 12 час. 14 мин. [Показать отчёт]
Научился: Прекрасный рефакторинг! У меня почему-то получилось 248 
Сложности: Найти ошибку 
9 Чистый ход 00:10:29
16 чел. ★ 5 Done
  На этом уроке мы перенесём метод getBoard() и getFEN()
в структуру Combo, найдём последнюю ошибку и порадуемся чистому коду!
Отчёт отправил: 11589. Yefim Выполнено за 8 час. 32 мин. [Показать отчёт]
Научился: Рaдоваться чиcтомy кодy. Код не совсем чистый: например в каждой строке типа foreach (Coord whiteKing in AllCoords()) каждый раз вызывается метод AllCoords(). На мой взгляд достаточно определить объект IEnumerable<Coord> All_Coords = AllCoords(); и далее его использовать.  
Сложности: Все ясно. 
10 Псевдо-алгоритм перебора 00:28:27
16 чел. ★ 5 Done
  На этом уроке мы составим псевдо-алгоритм
поиска всех решений поставленной задачи.
Самостоятельное задание -
проработать алгоритм на шахматной доске для ферзя и короля.
Отчёт отправил: 11589. Yefim Выполнено за 3 дня 4 час. 37 мин. [Показать отчёт]
Научился: Составлять блок схему описанного алгоритма 
Сложности: Найти время 
11 Белая и чёрная очередь 00:16:34
15 чел. ★ 5 Done
  На этом уроке мы начнём реализацию алгоритма
перебора всех позиций с правильными ходами за белых.
Создадим ещё две структуры и две очереди - белую и чёрную.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 58 мин. [Показать отчёт]
Научился: Создавать очереди для белых и черных  ходов 
Сложности: Не удалось реализовать  функции ходов для белых фигур 
12 Генерация белых ходов 00:35:09
15 чел. ★ 5 Done
  На этом уроке мы напишем три метода,
которые возвращают все возможные ходы
для каждой белой фигуры - для короля, слона и коня.
В конце урока выведем все позиции,
в которых белые ставят мат в один ход.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 9 час. 6 мин. [Показать отчёт]
Научился: Генерировать все возможные ходы белых 
Сложности: Понять как это все работает! 
13 Белая коробка 00:16:38
15 чел. ★ 5 Done
  На этом уроке мы создадим класс WhiteBox
для хранения всех позиций, где ход белых
с правильным ходом для приближения к мату.
Отчёт отправил: 11589. Yefim Выполнено за 17 час. 10 мин. [Показать отчёт]
Научился: Сoздавать клaсс WhiteBox. 
Сложности: У меня почему-то получилось другое число 880, а не 920 как в уроке. Но я проделал интересный тест: создал 2 файла -1-й с повторными позициями и 2-й со списком повторных позиций. Взял первую позицию из 2-го файла и нашел ее дважды в первом файле. На скрине это видно. Однако, вопрос о числах 880 и 920 остается открытым.  
14 Консольная шахматная доска 00:10:01
15 чел. ★ 5 Done
  На этом уроке мы напишем метод print()
для вывода шахматной доски в консоли.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 17 мин. [Показать отчёт]
Научился: Подбирать цвета 
Сложности: Подбирать цвета. Немного отошел от черно-белого варианта. 
15 156 матов в полтора хода 00:30:02
13 чел. ★ 5 Done
  На этом уроке мы допишем алгоритм,
узнаем, какая в нём есть ошибка,
исправим её и найдём все позиции
"мат в полтора хода", их будет 156.

Отчёт отправил: 11589. Yefim Выполнено за 2 час. 56 мин. [Показать отчёт]
Научился: Научился находить мат в полтора хода  
Сложности: не понял замечание о том, что В функции AllBlackBackMoves() допущена ошибка. Эта ошибка в уроке не исправлена? Я внес  в программу соответствующие изменения. Установил точки останова, однако, при отработке всех вариантов останова не было. 
16 Мат в 33 хода. 00:44:49
13 чел. ★ 5 Done
  На этом уроке мы поместим два цикла в один общий цикл,
чтобы сгенерировать решения для всех позиций,
постепенно увеличивая дистанцию до матового окончания.

Что ещё можно и нужно сделать.
0. Проверить, нет ли патовых ситуаций.
1. Пересмотреть все позиции, для которых нет решения.
2. Изменить массив белого ящик, координата слона от 0 до 31.
3. Модифицировать алгоритм, чтобы он работал для чернопольного слона.
4. Сделать симметрию относительно белого короля в квадрате 4х4.
5. Пересмотреть самые сложные позиции - мат в 67 полуходов.
6. Придумать эффективный способ хранения для белого ящика.
7. Решить задачу "мат двумя слонами".
8. Решить задачу "мат ладьёй".
9. Решить задачу "мат ферзём".
Отчёт отправил: 11589. Yefim Выполнено за 2 дня 10 час. 42 мин. [Показать отчёт]
Научился: Нaходить всe решения шaхмaтной зaдaчи сo слоном и конём. 
Сложности: Долго провозился со следующей ошибкой: написал public Combo getCombo(string fen) вместо private Combo getCombo(string fen) в результате никакую позицию программа не могла найти. до сих пор не понимаю, почему так происходит. 
17 ПОЛУФИНАЛЬНЫЙ УРОК без видео
12 чел. ★ 4.8 Done
  Поздравляю, ты прошёл ровно половину курса!
Приложи фото самых интересных найденных
матовых/патовых/иных комбинаций
Напиши, нравится ли тебе этот курс,
нашёл ли ты здесь то, что ожидал.

... Меж тем сказке далеко до развязки ...
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 4 мин. [Показать отчёт]
Научился: Этот курс я получил к качестве Бонуса за то, что приобрел курс "Шахматы в сети" с использованием Unity. Приобретенный курс я начал с большим энтузиазмом и в какой-то момент, начал проходить уроки, которые оказались еще не вполне готовыми, так как курс находился еще в стадии разработки. Чтобы не терять время, я переключился на бонусный курс "Мат конём и слоном". С первых же уроков я понял, что курс не для новичков и требует достаточной предварительной подготовки. Поражает обилие нестандартных подходов и довольно нетривиальных алгоритмов. Вообще, мне нравятся шахматы и нравятся изучать алгоритмы. А их сочетание - особое наслаждение.  
Сложности: Скажу честно, не все прозрачно в этих алгоритмах. Но это лишь повод к тому, что следует через какое-то время к ним вернутся. Оправдал ли курс мои ожидания? Скорее превзошел. Есть только одно пожелание для учета его при составлении новых курсов. Когда излагается код продолжительное время без промежуточной проверки визуальных результатов, очень легко совершить ошибку и не одну и потом долго их искать. Надеюсь - вторая половина курса будет не менее увлекательной. Большое спасибо, Евгений Витольдович, за прекрасный курс!  
18 Нано Шахматы 00:06:12
13 чел. ★ 5 Done
  На этом уроке вам будет представлен фотокурс НаноШахматы,
который необходимо пройти, для эффектного и логичного завершения этого курса.
Отчёт отправил: 11589. Yefim Выполнено за 17 час. 27 мин. [Показать отчёт]
Научился: --- 
Сложности: --- 
19 Сериализация матрицы ходов 00:30:07
11 чел. ★ 5 Done
  На этом уроке мы сделаем сериализацию и десериализацию массива WhiteMove[,,,].
Затем обсудим, как можно размер файла уменьшить в 100 раз.
Отчёт отправил: 11589. Yefim Выполнено за 49 дней 4 час. 27 мин. [Показать отчёт]
Научился: Делать сериализацию и десериализацию 
Сложности: --- 
20 Экономия памяти 00:22:26
11 чел. ★ 5 Done
  На этом уроке мы переделаем класс WhiteBox,
теперь для его работы потребуется в несколько раз меньше памяти.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 32 мин. [Показать отчёт]
Научился: Создавать методы конвертации типов 
Сложности: Красивый код получился 
21 Шестнадцать мегабайт 00:41:54
11 чел. ★ 5 Done
  На этом уроке мы сохраним базу ходов в 16-мегабайтный файл.
Также сделаем считывание из файла и несколько раз поиграем
с компьютером, пока он нас не заматует.

Отчёт отправил: 11589. Yefim Выполнено за 6 дней 13 час. 6 мин. [Показать отчёт]
Научился: Дeлать фyнкцию для консольнoй игры c упpaвлениeм короля. Отличный урок. Действительно удалось поиграть. 
Сложности: Удалось реализовать случаи, когда чёрный король ходит под шах или пытается выйти за пределы доски.  
22 Игра без массива 00:17:39
11 чел. ★ 5 Done
  На этом уроке мы ещё раз переделаем класс WhiteBox,
теперь для работы программы НЕ НАДО будет загружать
в память весь файл, нужные значения будут загружаться
по ходу игры прямо из нужного места в файле.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 10 час. 12 мин. [Показать отчёт]
Научился: Динамически загружать нужные данные из файла по ходу игры. Отличный урок. Красивый код!!! 
Сложности: --- 
23 План визуализации 00:23:12
11 чел. ★ 5 Done
  С этого урока мы начнём создавать визуализацию созданной базы данных.
На этом уроке мы составим план действий по внедрению проекта.
Мы будем работать с технологиями PHP и JavaScript.

Отчёт отправил: 11589. Yefim Выполнено за 15 час. 25 мин. [Показать отчёт]
Научился: Составлять План будущего проекта 
Сложности: В общих чератх всё понятно 
24 Четыре фигуры на доске 00:25:47
9 чел. ★ 5 Done
  На этом уроке мы реализуем первые три пункта нашего плана.
1. Отобразить шахматную доску с 4 фигурами.
2. Отобразить доску по заданному FEN-коду.
3. Разместить тексты для отображения информации.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 22 час. 50 мин. [Показать отчёт]
Научился: Отображать доску по заданному FEN-коду. Отличный урок! 
Сложности: Непонятно, почему  тексты для отoбрaжения инфopмации в моём варианте располагаются, примыкая плотно к доске. 
25 Создание PHP функций 00:50:58
8 чел. ★ 5 Done
  На этом уроке мы погрузимся в РНР-программирование.
Мы напишем несколько функций для считывания данных
из нашей базы данных ходов и формирования их в массиве.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 1 час. 20 мин. [Показать отчёт]
Научился: Считывать данные из базы данных ходов. Отличный урок. Но очень длинный. 
Сложности: Мой браузер обнаруживает в двух местах ошибки. Хотя конечный результат оказался правильным.  
26 Дружба PHP с JavaScript 00:28:33
8 чел. ★ 5 Done
  На этом уроке мы подружим PHP с JavaScript -
сделаем вызов из JavaScript функции на PHP,
результат которой будет возвращён назад в JavaScript.
Отчёт отправил: 11589. Yefim Выполнено за 2 дня 5 час. 9 мин. [Показать отчёт]
Научился: Научил дружить PHP с JavaScript Отличный урок, хотя дался он мне не легко.  
Сложности: В начале я обнаружил, различие кода у меня и на видео. Я использовал функцию getFigureHTML(@$board [$x . $y]) и это было источником множества проблем. В конце концов привел всё в соответствие и получил приемлемый результат. Не знаю почему, но изменение файла chess.css никак не влияет на отображение  
27 Сериализация Json 00:46:49
8 чел. ★ 5 Done
  На этом уроке мы передадим из РНР в JavaScript
всю информацию о белых и чёрных хода, используя json-сериализацию.
Используя полученный объект мы сформируем содержание информационной панели.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 4 час. 57 мин. [Показать отчёт]
Научился: Формировать содержание информационной панели. 
Сложности: Отличнейший урок!!! 
28 Чёрные ходы на доске 00:09:14
8 чел. ★ 5 Done
  На этом коротком уроке мы отобразим все возможные
ходы чёрного короля прямо на доске, используя числа -
сколько ходов до мата останется при указанном ходе.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 55 мин. [Показать отчёт]
Научился: Отoбрaжать все возможные ходы чёрного короля прямо на доске. 
Сложности: Все ясно. 
29 Последний ход 00:34:01
7 чел. ★ 5 Done
  На этом уроке мы закончим программирование
визуального оформления мата конём и слоном
с использованием технологий PHP и JavaScript.
Отчёт отправил: 11589. Yefim Выполнено за 5 дней 20 час. 0 мин. [Показать отчёт]
Научился: Визуально демонстрировать  продвижение к мату конём и слоном. Великолепнейший урок! 
Сложности: Из-за досадной опечатки долго не мог найти ошибку. Но обратившись к Евгению Витольдовичу, проблема тут же была решена!!! 
30 Чёрно-белый слон 00:15:58
7 чел. ★ 5 Done
  На этом уроке мы доведём до логического завершения
функцию работы с нашей базой данных, чтобы
она корректно отрабатывала позиции
с чёрнопольным белым слоном.
Это оказалось не так уж и сложно :)
Отчёт отправил: 11589. Yefim Выполнено за 2 дня 13 час. 48 мин. [Показать отчёт]
Научился: Корректно отрабатывать позиции с чёрнопольным белым слоном. 
Сложности: Оригинальный метод переключения для случая с чёрнопольным слоном. Вряд ли я бы додумался сам. Браво, Евгений Витольдович!!! 
31 ФИНАЛЬНЫЙ УРОК без видео
6 чел. ★ 5 Open
 
32 VIP урок с ладьёй 00:55:05
6 чел. ★ 5 $
  На этом VIP-уроке мы решим шахматную задачу "Мат ладьёй".
Для этого мы пройдёмся по всем функциям,
файлам и скриптам и слегка модифицируем
их для решения новой задачи.
  Итого:   32 видеоурока 12 час. 27 мин.
6 чел. ★ 4.99  
  Финалисты:   Tekashnik,   Алексей,   Алексей В.,   Иван Воронин,   Andrew,   MaxB .

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





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

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

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

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


Научился: Замечательный курс, наконец я его закончил, а то на данном проекте столько вкусностей постоянно новых выходит, частые вебинары, рук не хватает всё охватить и сразу, поэтому данный курс был отложен и наконец завершён спустя пару лет. Луче поздно, чем никогда. Вперёд, к VIP уроку.



Научился: Записывать без шпаргалки
Трудности: Не сбиться, хотя ляпы все таки есть.
Все отлично!!! Я закончил курс, наверное самый глобальный на проекте!!!! Ур-ра-а-а-а-а!!!!