Изучение c# на примерах

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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







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



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE ИГРА - Счастливый сапёр 00:10:45
36 чел. ★ 4.9 Done
  Мы начинаем создание популярной игры сапёр.
Эта игра - отличное урпажнение для начинающего программиста.

Отчёт отправил: 10494. Алексей В. Выполнено за 30 мин. [Показать отчёт]
Научился: Играть в сапера 
Сложности: Ничего  
Комментарии: Все отлично 
2 ИГРА - Минная картотека 00:11:57
1 тест
30 чел. ★ 4.9 Done
  На этом уроке мы проанализируем блок-схему проекта
подготовим форму для проекта, загрузим все картинки.
Отчёт отправил: 10494. Алексей В. Выполнено за 30 мин. [Показать отчёт]
Научился: Уже ни чему, повторил старое.  
Сложности: Ничего 
Комментарии: Все отлично 
3 ИГРА - Классные мины 00:20:47
28 чел. ★ 5 Done
  На этом уроке мы создадим класс Mines,
в котором опишем все необходимые константы
и напишем функции Init(), PlaceMines(), PlaceCounter().

Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Описывать константы 
Сложности: Расположить мины самому 
Комментарии: Замечаний нет 
4 ИГРА - Матрица картинок 00:25:08
1 тест
28 чел. ★ 5 Done
  На этом уроке мы сделаем вывод картинок на экран.
Для этого мы напишем функцию PlaceBox(),
которая будет создавать катинки и размещать их на панель.
Потом мы создадим матрицу картинок.
В конце урока мы сделаем автоматическое
изменение картинок при ресайзинге формы.
Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Динамически размещать картинки 
Сложности: Ничего 
Комментарии: Все отлично 
5 ИГРА - Карта минного поля 00:19:35
27 чел. ★ 5 Done
  На этом уроке мы отобразим минное поле.
Для это нам потребуется функция
private Bitmap ShowPicture (int number) и
private void ShowBox (int x, int y, int number)
а также делегаты для их вызова из класса Mines.
Отчёт отправил: 10494. Алексей В. Выполнено за 50 мин. [Показать отчёт]
Научился: Располагать мины на поле. 
Сложности: Ничего 
Комментарии: Все отлично!!! 
6 ИГРА - Зелёный флаг 00:17:40
1 тест
27 чел. ★ 5 Done
  На этом уроке мы сделаем обработку клика
правой кнопкой мышки для установки флага.
Для этого нам потребуется сохранять и считывать
координаты клетки в поле Tag каждого PictureBox.
Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Устанавливать и снимать флажки с поля 
Сложности: Ничего 
Комментарии: Все отлично!!! 
7 ИГРА - Алгоритмический подход 00:13:27
1 тест
27 чел. ★ 5 Done
  На этом уроке мы напишем основную часть
алгоритма обработки левой кнопки мышки.
Мы разделим эту задачу на несколько
вспомогательных функций, которые
вы можете реализовать самтостоятельно.
Отчёт отправил: 10494. Алексей В. Выполнено за 30 мин. [Показать отчёт]
Научился: Начал описывать алгоритм нажатия левой кнопки мыши 
Сложности: Реализовать нереализованные функции 
Комментарии: Все отлично!!! 
8 ИГРА - Бомбовые алгоритмы 00:29:29
1 тест
26 чел. ★ 5 Done
  На этом уроке мы допишем остальные функции и поиграем в созданную игру.
Вам останется довести программу до ума,
сделать сообщение об окончании игры и
все остальные элементы игры,
по желанию и по фантазии.
Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Дописал игру Сапер 
Сложности: Ничего 
Комментарии: Все отлично!!! 
9 ТРЕТЬФИНАЛЬНЫЙ УРОК без видео
1 тест
24 чел. ★ 5 Done
  Поздравляю с завершением курса по созданию игры Сапёр.
Однако создание игры на этом ещё не закончено.
Твоя задача - придумать, что ещё можно/нужно
добавить в игру и реализовать это.
Запиши видеообзор своей игры и расскажи,
что ты добавил в неё самостоятельно.
Отчёт отправил: 10494. Алексей В. Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: Самостоятельно реализовал финал игры 
Сложности: Убрать мину первым ходом 
Комментарии: Отлично!!! Мозги кипят!!! 
Видеообзор: https://youtu.be/ieHdQ0k5-vg
10 ИИ - Как пройти игру 00:03:38
1 тест
23 чел. ★ 4.9 Done
  Мы начинаем создание Искусственного Интеллекта для игры Сапёр,
для чего нам потребуется несколько этапов.
1. Описание и понимание идеи алгоритма.
2. Ручная проработка алгоритма на практике.
3. Создание класса для логики ИИ.
4. Внедрение его в наш проект для тестирования.
5. Создание бота для чужой игры Сапёр.
Отчёт отправил: 10494. Алексей В. Выполнено за 20 мин. [Показать отчёт]
Научился: Размышлять над алгоритмом ИИ. 
Сложности: Ничего 
Комментарии: Думаю, что можно применить теорию множеств и вероятностей. Число на поле может являться начальной точкой для расчета. Например, рядом стоящие единицы говорят о том, что если мина одна, то она будет находится сверху или снизу от чисел с вероятностью 25%, а если 2, то слева от одного числа и справа от другого с вероятностью 16%. и.т.д. 
11 ИИ - Очевидные шаги 00:09:00
1 тест
23 чел. ★ 4.9 Done
  На этом уроке мы отработаем базовый,
самый очевидный алгоритм разминирования,
который основан на открытии очевидных клеток.
Отчёт отправил: 10494. Алексей В. Выполнено за 20 мин. [Показать отчёт]
Научился: Играть ботом сапера 
Сложности: Ничего не пропустить 
Комментарии: Все отлично!! 
12 ИИ - Пересечение множеств 00:34:53
20 чел. ★ 4.9 Done
  На этом уроке у нас будет матчасть, логика ИИ.
Мы решим задачу с пересекающимися множествами
через систему неравенств. Узнаем, в каком
случае может быть единственный ответ,
и как его просчитать простой формулой,
чтобы разделить два пересекающихся
множества на три непересекающихся.
Отчёт отправил: 10494. Алексей В. Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Математически вычислять расположение мин. 
Сложности: Правильно понять алгоритм. 
Комментарии: Все отлично 
13 ИИ - Класс группы 00:17:28
21 чел. ★ 4.9 Done
  На этом уроке мы начнём создание проекта
логики бота сапёра. Мы создадим структуру
с координатами клеток и опишем поля и
методы класса Group, в котором будут
храниться логические группы минного поля.
Отчёт отправил: 10494. Алексей В. Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Познакомился с коллекцией SortedSet. 
Сложности: Ничего 
Комментарии: Отлично все!!! Думаю, что выделенные на скриншоте функции могут пригодится. 
14 ИИ - Элементарные алгоритмы 00:10:03
20 чел. ★ 5 Done
  На этом уроке мы реализуем два элементарных
алгоритма определения пустых клеток и клеток
с минами, а также проверим, как это работает.
Отчёт отправил: 10494. Алексей В. Выполнено за 20 мин. [Показать отчёт]
Научился: Использовать функции коллекции. 
Сложности: Ничего 
Комментарии: Все отлично. Проверил данные. Все работает. 
15 ИИ - Жучкин алгоритм 00:39:05
1 тест
20 чел. ★ 4.9 Done
  На этом уроке мы внедрим наш элементарный
алгоритм в рабочую программу и создадим
кнопочку, по нажатию которой будут
отмечаться все явные мины и пустые клетки.
Минут 15 в уроке ушло на поиск ошибки.
Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Внедрять классы из другого проекта. 
Сложности: Ничего 
Комментарии: Все отлично!!!! 
16 ИИ - Вспомнить всё 00:23:17
20 чел. ★ 5 Done
  На этом уроке мы вспомним и повторим, что было на прошлых уроках.
Для чего нужен класс Group и как он используется для поиска мин на карте.
В этом уроке мы почти ничего писать не будем, просто освежим всё в памяти.
Отчёт отправил: 10494. Алексей В. Выполнено за 25 мин. [Показать отчёт]
Научился: Вспомнил алгоритм открытия ячеек. 
Сложности: Ничего 
Комментарии: Все хорошо! 
17 ИИ - Операции со множествами 00:15:19
5 тестов
20 чел. ★ 5 Done
  На этом уроке мы напишем основные методы для работы со множествами:
сравнение, пересечение и вычитание множеств.
Отчёт отправил: 10494. Алексей В. Выполнено за 30 мин. [Показать отчёт]
Научился: Узнал о HashSet 
Сложности: Реализовать тест функций. 
Комментарии: Все хорошо, но многое пока непонятно 
18 ИИ - Множественное тестирование 00:06:46
20 чел. ★ 4.9 Done
  На этом уроке мы проведём тестирование
созданных методов операций над множествами.
Отчёт отправил: 10494. Алексей В. Выполнено за 20 мин. [Показать отчёт]
Научился: Тестировать свои варианты 
Сложности: Ничего 
Комментарии: Ошибкой предыдущего урока было то, что я вносил в группы не созданные изначально координаты. 
19 ИИ - Ботовый алгоритм InterMines 00:17:38
1 тест
20 чел. ★ 5 Done
  На этом уроке мы наконец-таки напишем код алгоритма,
о котором мы так много говорили в предыдущих уроках.
Отчёт отправил: 10494. Алексей В. Выполнено за 20 мин. [Показать отчёт]
Научился: Применять написанный ранее алгоритм в коде. 
Сложности: Ничего 
Комментарии: Все хорошо, Вроде все работает!! 
20 ИИ - Открыть всё! 00:21:34
19 чел. ★ 5 Done
  На этом уроке мы перепишем по новому
алгоритм открытия всех клеток с
использованием класса Group.
Ура! Открываемость минного поля значительно возросла!
Это успех :)
Отчёт отправил: 10494. Алексей В. Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Дописал бот для сапера. 
Сложности: Найти ошибки при наборе кода. Опять восклицательные знаки где-то не поставил, а где-то пропустил. 
Комментарии: Все отлично!!! 
21 ВТОРОЙ ТРЕТЬФИНАЛЬНЫЙ УРОК без видео
17 чел. ★ 4.9 Done
  Поздравляю с завершением создания Искуственного Интеллекта для решения Сапёра!

Ты молодец, написал искуственный интеллект,
и круто прокачал навыки алгоритмического мышления,
которое так важно для программиста, молодец!

Запиши видеообзор созданного бота и своей программы.

Впереди внедрение ИИ Бота для сторонней игры.
Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Записывать с  музыкальным сопровождением. 
Сложности: Настроиться и закончить. 
Комментарии: Все хорошо. 
Видеообзор: https://youtu.be/WlwehB5P1fY
22 БОТ - Отмычка сапёра 00:31:45
4 теста
17 чел. ★ 4.9 Done
  На этом уроке мы начнём создавать настоящего бота,
который будет проходить сапёра из Windows XP.
Мы найдём указатель на программу,
вычислим координаты окна игры,
запрограммируем несколько
щелчков мышкой по ней.

Для работы нам потребуется именно XP версия сапёра, её можно скачать здесь:
www.videosharp.info/data/docs/winmine.exe.
Отчёт отправил: 10494. Алексей В. Выполнено за 30 мин. [Показать отчёт]
Научился: Получил основы подключения и использования функций из других DLL. 
Сложности: Организовать работу бота. Флаг устанавливается в последней ячейке работы цикла. 
Комментарии: Замечаний нет.  
23 БОТ - Пиксельный металлоискатель 00:25:10
4 теста
16 чел. ★ 5 Done
  На этом уроке мы начнём создавать пиксельный металлоискатель.
По цвету пикселей на экране мы будем восстанавливать значение открытой карты.
Ваша задача - довести его создание до логического завершения.
Отчёт отправил: 10494. Алексей В. Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Сканировать окно на наличие различных цветов 
Сложности: Сделать игру жизнь 
Комментарии: Все отлично!!! 
24 БОТ - Совместное фото 00:31:34
15 чел. ★ 5 Done
  Считывание пикселя с экрана работает крайне медленно.
Вместо этого было решено сделать скриншот всей программы.
Чтобы дальнейшую обработку производить напрямую,
а не через медленные вызовы WinAPI методов.

Цель урока - создание "Совместного фото",
на котором будут все возможные варианты клеток в игре.
Отчёт отправил: 10494. Алексей В. Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Программно копировать окна 
Сложности: Ничего 
Комментарии: Замечаний нет!!! 
25 БОТ - Гадание по фото 00:39:50
15 чел. ★ 4.9 Done
  На этом уроке мы проанализируем созданную фотографию,
на предмет определения координат пикселей,
по цвету которых можно будет однозначно
определить значение в клетке сапёра.

Отчёт отправил: 10494. Алексей В. Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Формировать результат в формате Си шарп кода. 
Сложности: Найти все 11 значений 
Комментарии: Замечаний нет!!! 
26 БОТ - Сканер минного поля 00:23:55
15 чел. ★ 5 Done
  На этом уроке мы применим результаты анализа
в полевых условиях на запущенном минёре.
Сформируем карту по скриншоту минёра.
Отчёт отправил: 10494. Алексей В. Выполнено за 1 час. 10 мин. [Показать отчёт]
Научился: Автоматически переводить картинки в символы 
Сложности: Ничего 
Комментарии: Замечаний нет!!! 
27 БОТ - Выход на финишную прямую 00:14:38
1 тест
14 чел. ★ 5 Done
  На этом уроке мы проверим функциональность частей, которые нам нужно объединить.
Доработаем функцию doMouseClick() чтобы она умела открывать
клетки и ставить флажки по указанным координатам клеток.
Посмотрим, что необходимо переносить из предыдущего проекта.
Отчёт отправил: 10494. Алексей В. Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Программно кликать мышью 
Сложности: Ничего!!! 
Комментарии: Замечаний нет!!! 
28 БОТ - Неуправляемый Интеллект 00:16:00
14 чел. ★ 4.9 Done
  На этом уроке мы внесём все необходимые изменения и запустим алгоритм.
К сожалению, он зациклился, в результате чего пришлось выходить из системы.
Но первый результат обнадёживает - клики Анализатор делал верные.
Отчёт отправил: 10494. Алексей В. Выполнено за 35 мин. [Показать отчёт]
Научился: Адаптировать классы из другого проекта 
Сложности: Остановить бота! 
Комментарии: Замечаний нет!!! 
29 БОТ - Всё открыто! 00:23:23
14 чел. ★ 5 Done
  На этом уроке мы завершим создание бота и
откроем все клетки минного поля с помощью нашего алгоритма.
Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Делать рекорды 
Сложности: Ничего 
Комментарии: Замечаний нет!! 
30 ФИНАЛЬНЫЙ УРОК без видео
12 чел. ★ 5 Done
  Поздравляю!
Ты одолел Боты Минёра.
Теперь ты заслуженный Минёр.

Запиши видеообзор своих программ.
Какой видеокурс ты будешь проходить следующим?
Отчёт отправил: 10494. Алексей В. Выполнено за 40 мин. [Показать отчёт]
Научился: Записывать видео 
Сложности: Собраться с мыслями и вспомнить весь курс. 
Комментарии: Замечаний нет, все отлично!!! 
Видеообзор: https://youtu.be/1Y72nZ0wpI4
31 VIP - Хакерский подход 00:19:57
12 чел. ★ 5 Done
  На этом уроке мы напишем хакерскую программу для вскрытия Сапёрного поля.
Отчёт отправил: 10494. Алексей В. Выполнено за 45 мин. [Показать отчёт]
Научился: Читать память!! 
Сложности: Понять механизм!!! 
Комментарии: Замечаний нет!!! 
32 VIP - Жизнь у Сапёра 01:22:45
5 чел. ★ 5 Open
  Напишите Игру жизнь.
Отобразите её на поле игры "Сапёр".
Для переключения клеток используйте клики ПКМ по клеткам.
  Итого:   32 видеоурока 10 час. 56 мин.
24 теста
5 чел. ★ 4.97  
  Финалисты:   Иван Воронин,   Кирилл Шмойлов,   Tekashnik,   Yefim,   Максим Лапшинов .

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





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

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

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

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


Отличный курс, много нового, чтобы получать данные с экрана, анализировать и реагировать на изменения, происходящие на экране. Всё самое интересное внутри программы, оформление внешнее по минимуму, поэтому считаю что видеообзор записывать не целесообразно, чтобы не делать медвежью услугу остальным, кто не прошел и не получил удовольствие от увиденного! Программа со 100% шансов отмечает в Сапере мины.


Научился: Записывать видео
Трудности: Собраться с мыслями и вспомнить весь курс.
Замечаний нет, все отлично!!!