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 Планирование 00:40:08
1 тест
100 чел. ★ 4.9 Done
  Мы начинаем создание игровой программы Морской Бой.
1. Создать объектную модель.
2. Реализовать классы Корабль и Море.
3. Спроектировать интерфейс игры. DataGridView.
4. Написать Искусственный интеллект.
5. Реализовать игру с компьютером.
6. Реализовать сетевую версию игры на двоих.

Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Я уже пробовал самостоятельно писать игру, даже написал возможность мышью перетаскивать корабли чтобы установить на Море, увидел такие же проблемы, с которыми столкнулся и я сам. Вот хочу посмотреть как Евгений Витольдович решил эти все проблемы. Решение DataGridView интересное. 
Сложности: планирование всегда сложно 
Комментарии: 1. У меня на скрине как на видео Игра на Море возвращает при Ударе три значения, но я думаю что должно возвращать всего 2. Это попал или мимо. А вот если попал, то уже Корабль должен вернуть ранил или убил. 2. Пока не очень понятно зачем Длины кораблей, лучше ограничивать другими вариантами, ну посмотрим что будет дальше. 3. Я когда придумывал как реализовать решил что корабль должен занимать не просто свои значения, а ещё и на Море отмечать места рядом с собой, в эти места не могут ставиться другие корабли, но накладываться друг на друга могут (я говорю про буферные зоны возле кораблей) 
2 Море и Корабль 00:57:13
1 тест
92 чел. ★ 5 Done
  На этом уроке мы создадим "ядро" программы, два основных класса - Корабль и Море.
А в конце урока протестируем их работу.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Интересная задумка, что бы использовать две карты, я помню что у нас в Сокобане такое было, но не подумал что это же можно использовать в таком "простом" проекте как Морской Бой. Он оказался сложнее, чем я думал! 
Сложности: очень не хотел использовать русские названия, но уже имею опыт, когда называешь функции по-своему, то позже теряешься в них, когда пишешь программу под диктовку. Поэтому оставил как на видео, но не думаю что и дальше буду делать русские названия, просто буду знать что такое возможно. 
Комментарии: я всё не могу понять зачем нужен enum, ведь можно просто сравнивать с текстом, а так привязываешься к какой-то сущности, нужно ещё и следить чтобы она была доступна и т.п. 
3 Редактор и Сетка 00:59:58
84 чел. ★ 5 Done
  На этом уроке мы разместим и настроим DataGridView.
Потом расширим класс Море до Редактора, добавив методы
для автоматического размещения всех кораблей.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Научился чуть больше работать с Grid, задавать цвета, работать с разными массивами как единым просто используя один и тот же номер. Размещение рандомно путем удаления предыдущих значений в обозначенной точке. 
Сложности: Понять как такой маленький код может делать такие большие вещи, вроде разговаривали про четырехпалубный, а тут бац и все корабли у нас уже рассчитано как должны стоять! 
Комментарии: Во время урока я уже сделал размещение на одном поле ровно, а на втором поле случайно, поэтому решение домашнего задания было не сложным)) 
4 Делегаты отображения 00:32:57
1 тест
79 чел. ★ 5 Done
  На этом уроке мы перенесём функции из Моря в редактор и
создадим Делегаты для отображения Кораблей и Выстрелов.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Повторил использование делегатов 
Сложности: перестраивать программу, когда она уже почти работает 
Комментарии: Евгений Витольдович в начале урока сказал что уроке покажет как будут расставляться корабли, а мы до этого так и не дошли... 
5 Установка кораблей 00:38:34
1 тест
73 чел. ★ 4.9 Done
  На этом уроке мы дадим возможность пользователю
устанавливать корабли мышкой и с клавиатуры.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: повторенье 
Сложности: уместить в голове всю эту кучу разрозненного кода, тем более что я уже видел как его рефакторили 
Комментарии: я понял почему забросили так на долго этот проект, потому что ему как раз не хватало того рефакторинга, который был 15.11.2015. код стал очень большим и неудобным, тяжело искать, тяжело читать, поэтому Евгений его и откладывал! 
6 Олимпиада - Самый лучший алгоритм 00:49:59
67 чел. ★ 4.9 Done
  На участие в олимпиаде было прислано 10 работ.
В этом видео мы проводим тестирование всех программ.
Домашнее задание - составить словесный алгоритм ИИ.

Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Ждем результата 
Сложности: думать 
Комментарии: смотрим 
7 Олимпиада - Угадай число 00:23:26
73 чел. ★ 4.9 Done
  Класс Secret загадал число.
Вам нужно написать класс Strategy,
который сможет его отгадать.
Инструкции в видео-уроке.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: разбираться с чужой структурой 
Сложности: всё понятно 
Комментарии: переходим непосредственно к морскому бою 
8 Олимпиада - Создание ИИ - Стратегия 00:12:46
58 чел. ★ 5 Done
  Олимпиадная задача - создать алгоритм ИИ для игры в Морской бой.
Подробности на видео.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 6 час. 00 мин. [Показать отчёт]
Научился: продумывать варианты стратегии 
Сложности: придумывать своё, а не использовать чужое 
Комментарии: нужно нарисовать сетку, и по ней рандомно долбить, если алгоритм продуман заранее, то зная его можно расставлять так, чтобы комп долго искал, а когда рандомно, то тут как повезет 
9 Олимпиада - Создание ИИ - Шаблон ударов 00:35:30
54 чел. ★ 5 Done
  Алгоритм искусственного интеллекта для игры в Морской бой состоит из двух этапов:
1. нанесение ударов по шаблону для поиска 4-палубного и 2-палубных.
2. добивание раненного корабля и пометка клеток вокруг потопленного корабля.
На этом уроке разберём и реализуем первый этап.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: реализовать свою идею. что-то мне ещё не хватает мощи самому писать придуманный мною алгоритм 
Сложности: реазиловать 
Комментарии: массив int[,] shape нужно заполнять динамически, ведь мы знаем размер поля (его можно получить через Море.размер_моря.х*у), и на основе этих данных заполнять поле, вдруг у нас поменяется размер, и уже такая сеточка не проканает. 
10 Олимпиада - Создание ИИ - Добивание корабля 00:49:11
1 тест
51 чел. ★ 4.9 Done
  Алгоритм искусственного интеллекта для игры в Морской бой состоит из двух этапов:
1. нанесение ударов по шаблону для поиска 4-палубного и 2-палубных.
2. добивание раненного корабля и пометка клеток вокруг потопленного корабля.
На этом уроке разберём и реализуем второй этап.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: добивать корабли, а так же метить территорию вокруг них, необычный подход, надо будет ещё разобраться, чтобы в дальнейшем использовать при программировании на языке C# 
Сложности: всё это осмыслить, принять 
Комментарии: т.е. мы запускаем функцию ChekShipDirection 4 раза и в каждой из них ещё и сразу проверяем все четыре направления? не многовато ли проверок для проверок? а почему не сделать добивание в рандомные стороны? или не принципиально? 
11 Рефакторинг кода 00:27:28
45 чел. ★ 5 Done
  На этом уроке мы займёмся рефакторингом нашего проекта.
Создадим класс SeaGrid, в который перенесём некоторые
функции из класса формы.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: чуть-чуть больше начал понимать как делать рефакторинг 
Сложности: понимать что куда распихивать. хорошо когда уже работает и при каждом изменении можно проверить работает или нет 
Комментарии: всё отлично 
12 Интерфейс игры 00:21:58
1 тест
44 чел. ★ 5 Done
  На этом уроке мы создадим интерфейс пользователя -
разместим несколько кнопочек и запрограммируем их.
Также создадим перечисление всех режимов игры.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: всё понятно, ждём когда же уже можно будет поиграть! 
Сложности: всё понятно и ожидаемо 
Комментарии: ждём финиша!!! 
13 Последний Бой! 00:26:59
40 чел. ★ 5 Done
  На этом уроке мы закончим создание Морского боя.
Сделаем отображение выстрелов пользователя.
Подключим класс Mission и сделаем ход компьютера.
Ходы будут выполняться в порядке очереди.
Нам потребуется таймер для постепенного
отображения серии ходов компьютера.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: организацию работы всех этих методов! 
Сложности: только собственные доработки дают понятие о работе программы, как всё соединяется и что за что отвечает! 
Комментарии: добавил закраску полностью подбитого корабля, добавление настроек, возможности выбора уровня сложности игры, отображение статистики и текущего хода. кстати не сказал, но когда ход противника я блокирую грид с кораблями компьютера, чтобы нельзя даже просто так тыкнуть на него, иначе много нюансов возникало, а так всё четко работает! 
Видеообзор: https://youtu.be/VcUyQJm4vRM
14 ФИНАЛЬНЫЙ УРОК 00:23:23
1 тест
17 чел. ★ 5 $
  Записать видео обзор Морского боя. созданного на этом курсе.
15 VIP. Анимированный кружок 00:32:54
125 чел. ★ 4.9 Done
  На этом уроке мы создадим двигающийся кружок,
из которого потом сделаем анимированый кубик.

Задание:
Создать два класса с наследованием.
Сделать плавное перемещение кружка.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: делать анимацию прямо на форме 
Сложности: интересным было то что предыдущий шарик не исчезает или "перемещается" а просто затирается таким же кружком, только белым 
Комментарии: применений этого урока масса, круто! идеи распирают! начиная от простых заставок на экран и заканчивая космическими перестрелками 
16 VIP. Анимированный кубик 00:44:27
114 чел. ★ 5 Done
  На этом уроке мы создадим массив из кружков,
они будут сначала двигаться случайно, похоже на бильярд.
Дальше мы создадим правила для их передвижения
и в конечном итоге реализуем анимированный игральный кубик.

Задание:
Нарисовать верхнюю сторону игрального кубика
с шестью анимированными точками для смены чисел.
Отчёт отправил: 6452. Кирилл Шмойлов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: создавать анимацию на форме 
Сложности: не мог понять как сделать чтобы в центре кубик был, потом вспомнил что передаем координаты края кубика (я думал центра), всё заменил, теперь динамически вычисляется центр кубика. спасибо курсу по Сокобану)) 
Комментарии: ещё одна ступень к званию "программист C#" пройдена 
  Итого:   16 видеоуроков 9 час. 36 мин.
7 тестов
14 чел. ★ 4.97  
  Финалисты:   Алексей В.,   Ильшат,   Станислав,   Tekashnik,   Новопашин Владимир,   LINKI,   Dimon,   Yefim,   chokayes,   Николай Денисов,   Максим Лапшинов,   Александр,   vip,   MaxB .

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





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

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

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

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


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


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