C# обучение видео

Формула программиста
основатель — Волосатов Евгений Витольдович

Морской Бой

Создание полноценной игровой программы Морской Бой.
Объектная модель кораблей и моря + искусственный интеллект.

Объём: 15 уроков.
Срок: 30 дней.

2,000 руб.


Для подписки на пакет необходимо авторизоваться.

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

# Название видеоурока Решило Рейтинг Доступ
1 Планирование 00:40:08 58 чел. ★ 4.9 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 40 мин. [Показать отчёт]
Научился: Повторил работу со статическими переменными и массивами. 
Сложности: Проблем не было. 
Комментарии: Все ок. 
2 Море и Корабль 00:57:13 53 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 2 час. 10 мин. [Показать отчёт]
Научился: Повторил работу с матрицами boost::ublas, указателями unique_ptr. 
Сложности: Проблем не было. 
Комментарии: Без использования наследования и полиморфизма трудно назвать полученную систему классов объекто-ориентированной. Страуструп называет такой стиль программирования - абстракцией данных, когда создаются мелкие служебные классы, которые инкапсулируют внутри себя данные и открывают к ним доступ через разрешенный интерфейс. Это подготовительный этап к ООП, переходный от процедурного стиля. Не очень нравится реализация классов Моря и Корабля, например их конструкторы не работают как надо. Но это все сложности, они дадут о себе знать, когда программа будет эволюционировать. На данный момент это не важно, реализация системы получилась простой и ясной, понравилась идея двух массивов, здесь она тоже кстати. Евгений Витольдович хорошо продумал, чтобы код получился как можно проще и понятнее, спасибо:) 
3 Редактор и Сетка 00:59:58 47 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 2 час. 40 мин. [Показать отчёт]
Научился: Повторил работу с компонентом QTableWidget - аналог DataGridView. 
Сложности: Проблем не было. 
Комментарии: Интересный способ случайного размещения кораблей. Каждый раз, когда проверял отчеты формулистов по морскому бою я задавался вопросом - почему на верхнем заголовке таблиц написано РЕСПУБЛИКА? Теперь стало понятно, это оказалось предложением одного из формулистов :) 
4 Делегаты отображения 00:32:57 43 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Повторил работу с делегатами. 
Сложности: Сложностей не было. 
Комментарии: На верхнем скриншоте раскраска клетки поля при промахе. На нижнем - рассмотрены случаи попадания и потопления корабля. 
5 Установка кораблей 00:38:34 37 чел. ★ 4.9 Done
  Отчёт отправил: 7276. Ильшат Решено за 2 час. 10 мин. [Показать отчёт]
Научился: Повторил обработку событий мышки и клавиатуры. 
Сложности: Реализовать выделение ячеек. 
Комментарии: Хороший урок, попрактиковался с компонентом QTableWidget для вывода таблицы, были некоторые проблемы с обработкой выделения мышкой ячеек и выводом результата добавления. 
6 Олимпиада - Самый лучший алгоритм 00:49:59 33 чел. ★ 4.8 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 10 мин. [Показать отчёт]
Научился: Познакомился с разными вариантами алгоритмов ИИ для игры в Морской бой. 
Сложности: Сложностей не было. 
Комментарии: Понравились алгоритмы 4004 и public. В моем случае я бы так же сначала искал 4-палубник, попутно сразу добивая найденные корабли, и после потопления 4-палубника, искал бы 2-палубники. 
7 Олимпиада - Угадай число 00:23:26 40 чел. ★ 4.7 Done
  Отчёт отправил: 7276. Ильшат Решено за 50 мин. [Показать отчёт]
Научился: Повторил работу с генератором случайных чисел. 
Сложности: Проблем не было. 
Комментарии: Хорошая разминка, понравилось разделение классов. 
8 Олимпиада - Создание ИИ - Стратегия 00:12:46 26 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 4 час. 20 мин. [Показать отчёт]
Научился: Познакомился в библиотекой консольного вывода ncurses. 
Сложности: Реализовать алгоритм. 
Комментарии: На первом скриншоте результат работы алгоритма для прямого расположения кораблей и ниже для случайного. На втором скриншоте при запуске с командой строки задаю количество тестов случайных расположений, нахожу минимальное, среднее и максимальное количество шагов. Спасибо за отличный урок, хорошо попрактиковался:) 
9 Олимпиада - Создание ИИ - Шаблон ударов 00:35:30 24 чел. ★ 4.9 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Повторил создание и обработку двумерных массивов. 
Сложности: Небольшая ошибка, опечатка в границах цикла при инициализации двумерного массива. 
Комментарии: Интересный алгоритм, случайный выбор из матрицы put ячейки с наибольшим значением веса. 
10 Олимпиада - Создание ИИ - Добивание корабля 00:49:11 24 чел. ★ 4.9 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 50 мин. [Показать отчёт]
Научился: Повторение материала из прошлых уроков, работа с рекурсией. 
Сложности: Проблем не было. 
Комментарии: Все ок, хорошо придумано использовать вывод матрицы put на экран, наглядно. 
11 Рефакторинг кода 00:27:28 18 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 20 мин. [Показать отчёт]
Научился: Повторение рефакторинга. 
Сложности: Проблем не было. 
Комментарии: Все ок, рефакторинг на пользу, меньше деталей в классе формы) 
12 Интерфейс игры 00:21:58 18 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 10 мин. [Показать отчёт]
Научился: Повторил работу с интерфейсом программы, обработку событий мышки. 
Сложности: Сложностей не было. 
Комментарии: Реализовал секретную функцию, предложенную в уроке: два клика правой кнопкой мышки показывают корабли компьютера, клик левой кнопкой - скрывает. 
13 Последний Бой! 00:26:59 18 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Повторил работу с таймером, настройкой интерфейса программы. 
Сложности: Проблем не было. 
Комментарии: Компьютер играет очень даже здорово:) 
14 ФИНАЛЬНЫЙ УРОК 00:23:23 4 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 30 мин. [Показать отчёт]
Научился: Повторил создание видео обзоров. 
Сложности: Проблем не было. 
Комментарии: Спасибо за отличный курс :) 
Видеообзор: https://youtu.be/m_CHnhpE9u4
15 VIP. Анимированный кружок 00:32:54 113 чел. ★ 4.9 Done
  Отчёт отправил: 7276. Ильшат Решено за 40 мин. [Показать отчёт]
Научился: Повторил работу с графикой: классы Graphics, Pen, Bitmap. 
Сложности: Сложностей не было. 
Комментарии: Интересная задумка, идем дальше) 
16 VIP. Анимированный кубик 00:44:27 102 чел. ★ 5 Done
  Отчёт отправил: 7276. Ильшат Решено за 2 час. 50 мин. [Показать отчёт]
Научился: Повторил работу с двумерными массивами в C#. 
Сложности: Организовать работу программы с использованием классов. 
Комментарии: Интересная тема, анимация завораживает. Понравилась идея представления значения числа на игральном кубике в виде двумерного массива. По началу, меня это не устраивало, реализовал в виде одномерного массива, но получилось так, что решение Евгения Витольдовича лучше отражает идею, по коду легче понять замысел. Однако синтаксис этих вложенных конструкций меня не устраивал. Поэтому добавил дополнительные переменные для выделения значений из массивов. Добавил классы NumberArena (абстракция числа на кубике), Drawer(рисовальщик) и GameLogic(внешний класс, который всем управляет и вызывается из формы). По ходу разработки было много сомнений. Конечно, синтаксически добавить класс не составляет никаких проблем, даже есть такой способ в рефакторинге "выделение класса" и прочие мелкие махинации с кодом. Проблемы были в моменте связи классов. И тут-то мне не нравилось, что классы знают много друг о друге и выполняют чужую работу. Не буду подробно описывать все эти моменты, в итоге удалил класс Drawer и передал его обязанности GameLogic. Своим полученным решением не доволен, но доволен тем, что появились идеи для дальнейших решений, которыми займусь в ближайшем будущем. Спасибо, Евгений Витольдович) 
  Итого:   16 видеоуроков общей продолжительностью 9 час. 36 мин. 2 чел. ★ 4.94  
  Финалисты:   Алексей В.,   Ильшат .

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Записывать видеоотчет
Трудности: Собраться, привести мысли в порядок.
Все отлично, только устал почему. Как после экзамена.
Смотреть видеозапись: https://youtu.be/iatyL_ATxhI
Научился: видео обзор делать
Трудности: разговаривать
нету
Смотреть видеозапись: https://youtu.be/H1f0Xc9qZ-4