Изучение 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 Free
  Мы начинаем создание популярной игры сапёр.
Эта игра - отличное урпажнение для начинающего программиста.
 
10895. Danil42Russia
14981. DimanDOS
10162. Дмитрий
8275. Tekashnik
2 ИГРА - Минная картотека 00:11:57
1 тест
30 чел. ★ 4.9 $
  На этом уроке мы проанализируем блок-схему проекта
подготовим форму для проекта, загрузим все картинки.
 
10162. Дмитрий
10162. Дмитрий
10157. Кирилл Лебедев
7119. Новопашин Владимир
3 ИГРА - Классные мины 00:20:47
28 чел. ★ 5 $
  На этом уроке мы создадим класс Mines,
в котором опишем все необходимые константы
и напишем функции Init(), PlaceMines(), PlaceCounter().
 
9913. vip
6203. Николай Миролюбов
17663. Oleksandr
10558. Иван Воронин
4 ИГРА - Матрица картинок 00:25:08
1 тест
28 чел. ★ 5 $
  На этом уроке мы сделаем вывод картинок на экран.
Для этого мы напишем функцию PlaceBox(),
которая будет создавать катинки и размещать их на панель.
Потом мы создадим матрицу картинок.
В конце урока мы сделаем автоматическое
изменение картинок при ресайзинге формы.
 
14981. DimanDOS
8275. Tekashnik
10895. Danil42Russia
9913. vip
5 ИГРА - Карта минного поля 00:19:35
27 чел. ★ 5 $
  На этом уроке мы отобразим минное поле.
Для это нам потребуется функция
private Bitmap ShowPicture (int number) и
private void ShowBox (int x, int y, int number)
а также делегаты для их вызова из класса Mines.
 
16457. sergeykin
7652. Петя
17663. Oleksandr
18419. DenisMed
6 ИГРА - Зелёный флаг 00:17:40
1 тест
27 чел. ★ 5 $
  На этом уроке мы сделаем обработку клика
правой кнопкой мышки для установки флага.
Для этого нам потребуется сохранять и считывать
координаты клетки в поле Tag каждого PictureBox.
 
6203. Николай Миролюбов
10670. Сергей Соколов
9913. vip
429. Максим Базуев
7 ИГРА - Алгоритмический подход 00:13:27
1 тест
27 чел. ★ 5 $
  На этом уроке мы напишем основную часть
алгоритма обработки левой кнопки мышки.
Мы разделим эту задачу на несколько
вспомогательных функций, которые
вы можете реализовать самтостоятельно.
 
7119. Новопашин Владимир
10895. Danil42Russia
6452. Кирилл Шмойлов
4004. Елена
8 ИГРА - Бомбовые алгоритмы 00:29:29
1 тест
26 чел. ★ 5 $
  На этом уроке мы допишем остальные функции и поиграем в созданную игру.
Вам останется довести программу до ума,
сделать сообщение об окончании игры и
все остальные элементы игры,
по желанию и по фантазии.
 
8275. Tekashnik
8275. Tekashnik
18419. DenisMed
10157. Кирилл Лебедев
9 ТРЕТЬФИНАЛЬНЫЙ УРОК без видео
1 тест
24 чел. ★ 5 $
  Поздравляю с завершением курса по созданию игры Сапёр.
Однако создание игры на этом ещё не закончено.
Твоя задача - придумать, что ещё можно/нужно
добавить в игру и реализовать это.
Запиши видеообзор своей игры и расскажи,
что ты добавил в неё самостоятельно.
 
17663. Oleksandr
14981. DimanDOS
16457. sergeykin
10670. Сергей Соколов
10 ИИ - Как пройти игру 00:03:38
1 тест
23 чел. ★ 4.9 $
  Мы начинаем создание Искусственного Интеллекта для игры Сапёр,
для чего нам потребуется несколько этапов.
1. Описание и понимание идеи алгоритма.
2. Ручная проработка алгоритма на практике.
3. Создание класса для логики ИИ.
4. Внедрение его в наш проект для тестирования.
5. Создание бота для чужой игры Сапёр.
 
1901. Neverwinter 2
1901. Neverwinter 2
17663. Oleksandr
7119. Новопашин Владимир
11 ИИ - Очевидные шаги 00:09:00
1 тест
23 чел. ★ 4.9 $
  На этом уроке мы отработаем базовый,
самый очевидный алгоритм разминирования,
который основан на открытии очевидных клеток.
 
6452. Кирилл Шмойлов
429. Максим Базуев
10670. Сергей Соколов
10558. Иван Воронин
12 ИИ - Пересечение множеств 00:34:53
20 чел. ★ 4.9 $
  На этом уроке у нас будет матчасть, логика ИИ.
Мы решим задачу с пересекающимися множествами
через систему неравенств. Узнаем, в каком
случае может быть единственный ответ,
и как его просчитать простой формулой,
чтобы разделить два пересекающихся
множества на три непересекающихся.
 
4814. Дмитрий
14981. DimanDOS
10494. Алексей В.
5649. Максим Лапшинов
13 ИИ - Класс группы 00:17:28
21 чел. ★ 4.9 $
  На этом уроке мы начнём создание проекта
логики бота сапёра. Мы создадим структуру
с координатами клеток и опишем поля и
методы класса Group, в котором будут
храниться логические группы минного поля.
 
4814. Дмитрий
11589. Yefim
16457. sergeykin
6452. Кирилл Шмойлов
14 ИИ - Элементарные алгоритмы 00:10:03
20 чел. ★ 5 $
  На этом уроке мы реализуем два элементарных
алгоритма определения пустых клеток и клеток
с минами, а также проверим, как это работает.
 
9858. Александр
5649. Максим Лапшинов
7238. Константин
4814. Дмитрий
15 ИИ - Жучкин алгоритм 00:39:05
1 тест
20 чел. ★ 4.9 $
  На этом уроке мы внедрим наш элементарный
алгоритм в рабочую программу и создадим
кнопочку, по нажатию которой будут
отмечаться все явные мины и пустые клетки.
Минут 15 в уроке ушло на поиск ошибки.
 
10157. Кирилл Лебедев
1901. Neverwinter 2
1901. Neverwinter 2
9858. Александр
16 ИИ - Вспомнить всё 00:23:17
20 чел. ★ 5 $
  На этом уроке мы вспомним и повторим, что было на прошлых уроках.
Для чего нужен класс Group и как он используется для поиска мин на карте.
В этом уроке мы почти ничего писать не будем, просто освежим всё в памяти.
 
9858. Александр
5649. Максим Лапшинов
10494. Алексей В.
4004. Елена
17 ИИ - Операции со множествами 00:15:19
5 тестов
20 чел. ★ 5 $
  На этом уроке мы напишем основные методы для работы со множествами:
сравнение, пересечение и вычитание множеств.
 
10558. Иван Воронин
14981. DimanDOS
16457. sergeykin
10673. Алексей Хонин
18 ИИ - Множественное тестирование 00:06:46
20 чел. ★ 4.9 $
  На этом уроке мы проведём тестирование
созданных методов операций над множествами.
 
10670. Сергей Соколов
10157. Кирилл Лебедев
10494. Алексей В.
4004. Елена
19 ИИ - Ботовый алгоритм InterMines 00:17:38
1 тест
20 чел. ★ 5 $
  На этом уроке мы наконец-таки напишем код алгоритма,
о котором мы так много говорили в предыдущих уроках.
 
4004. Елена
10494. Алексей В.
10670. Сергей Соколов
10157. Кирилл Лебедев
20 ИИ - Открыть всё! 00:21:34
19 чел. ★ 5 $
  На этом уроке мы перепишем по новому
алгоритм открытия всех клеток с
использованием класса Group.
Ура! Открываемость минного поля значительно возросла!
Это успех :)
 
429. Максим Базуев
7119. Новопашин Владимир
1901. Neverwinter 2
1901. Neverwinter 2
21 ВТОРОЙ ТРЕТЬФИНАЛЬНЫЙ УРОК без видео
17 чел. ★ 4.9 $
  Поздравляю с завершением создания Искуственного Интеллекта для решения Сапёра!

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

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

Впереди внедрение ИИ Бота для сторонней игры.
 
1901. Neverwinter 2
6452. Кирилл Шмойлов
429. Максим Базуев
9858. Александр
22 БОТ - Отмычка сапёра 00:31:45
4 теста
17 чел. ★ 4.9 $
  На этом уроке мы начнём создавать настоящего бота,
который будет проходить сапёра из Windows XP.
Мы найдём указатель на программу,
вычислим координаты окна игры,
запрограммируем несколько
щелчков мышкой по ней.

Для работы нам потребуется именно XP версия сапёра, её можно скачать здесь:
www.videosharp.info/data/docs/winmine.exe.
 
1901. Neverwinter 2
10670. Сергей Соколов
7119. Новопашин Владимир
5649. Максим Лапшинов
23 БОТ - Пиксельный металлоискатель 00:25:10
4 теста
16 чел. ★ 5 $
  На этом уроке мы начнём создавать пиксельный металлоискатель.
По цвету пикселей на экране мы будем восстанавливать значение открытой карты.
Ваша задача - довести его создание до логического завершения.
 
5649. Максим Лапшинов
429. Максим Базуев
7652. Петя
7652. Петя
24 БОТ - Совместное фото 00:31:34
15 чел. ★ 5 $
  Считывание пикселя с экрана работает крайне медленно.
Вместо этого было решено сделать скриншот всей программы.
Чтобы дальнейшую обработку производить напрямую,
а не через медленные вызовы WinAPI методов.

Цель урока - создание "Совместного фото",
на котором будут все возможные варианты клеток в игре.
 
5649. Максим Лапшинов
5649. Максим Лапшинов
7238. Константин
10494. Алексей В.
25 БОТ - Гадание по фото 00:39:50
15 чел. ★ 4.9 $
  На этом уроке мы проанализируем созданную фотографию,
на предмет определения координат пикселей,
по цвету которых можно будет однозначно
определить значение в клетке сапёра.
 
11589. Yefim
17663. Oleksandr
6452. Кирилл Шмойлов
10670. Сергей Соколов
26 БОТ - Сканер минного поля 00:23:55
15 чел. ★ 5 $
  На этом уроке мы применим результаты анализа
в полевых условиях на запущенном минёре.
Сформируем карту по скриншоту минёра.
 
7119. Новопашин Владимир
11589. Yefim
8275. Tekashnik
8275. Tekashnik
27 БОТ - Выход на финишную прямую 00:14:38
1 тест
14 чел. ★ 5 $
  На этом уроке мы проверим функциональность частей, которые нам нужно объединить.
Доработаем функцию doMouseClick() чтобы она умела открывать
клетки и ставить флажки по указанным координатам клеток.
Посмотрим, что необходимо переносить из предыдущего проекта.
 
17663. Oleksandr
7652. Петя
5649. Максим Лапшинов
11589. Yefim
28 БОТ - Неуправляемый Интеллект 00:16:00
14 чел. ★ 4.9 $
  На этом уроке мы внесём все необходимые изменения и запустим алгоритм.
К сожалению, он зациклился, в результате чего пришлось выходить из системы.
Но первый результат обнадёживает - клики Анализатор делал верные.
 
10494. Алексей В.
429. Максим Базуев
429. Максим Базуев
5649. Максим Лапшинов
29 БОТ - Всё открыто! 00:23:23
14 чел. ★ 5 $
  На этом уроке мы завершим создание бота и
откроем все клетки минного поля с помощью нашего алгоритма.
 
8275. Tekashnik
8275. Tekashnik
6452. Кирилл Шмойлов
17663. Oleksandr
30 ФИНАЛЬНЫЙ УРОК без видео
12 чел. ★ 5 $
  Поздравляю!
Ты одолел Боты Минёра.
Теперь ты заслуженный Минёр.

Запиши видеообзор своих программ.
Какой видеокурс ты будешь проходить следующим?
 
7238. Константин
10494. Алексей В.
429. Максим Базуев
7119. Новопашин Владимир
31 VIP - Хакерский подход 00:19:57
12 чел. ★ 5 $
  На этом уроке мы напишем хакерскую программу для вскрытия Сапёрного поля.
 
429. Максим Базуев
8275. Tekashnik
7119. Новопашин Владимир
5649. Максим Лапшинов
32 VIP - Жизнь у Сапёра 01:22:45
5 чел. ★ 5 $
  Напишите Игру жизнь.
Отобразите её на поле игры "Сапёр".
Для переключения клеток используйте клики ПКМ по клеткам.
 
5649. Максим Лапшинов
5649. Максим Лапшинов
8275. Tekashnik
8275. Tekashnik
  Итого:   32 видеоурока 10 час. 56 мин.
24 теста
5 чел. ★ 4.97  
  Финалисты:   Иван Воронин,   Кирилл Шмойлов,   Tekashnik,   Yefim,   Максим Лапшинов .

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





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

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

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

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


Добавил интерактивную легенду найденных уникальных объектов игрового поля при парсинге эталонного скриншота. остальные нововведения, которые добавлялись в процессе разработок на каждом уроке см. видео =) з.ы. плюс недокументированные изменения и оптимизации.


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