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

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

Морской Бой

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

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

2,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Планирование 00:40:08 58 чел. ★ 4.9 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Я уже пробовал самостоятельно писать игру, даже написал возможность мышью перетаскивать корабли чтобы установить на Море, увидел такие же проблемы, с которыми столкнулся и я сам. Вот хочу посмотреть как Евгений Витольдович решил эти все проблемы. Решение DataGridView интересное. 
Сложности: планирование всегда сложно 
Комментарии: 1. У меня на скрине как на видео Игра на Море возвращает при Ударе три значения, но я думаю что должно возвращать всего 2. Это попал или мимо. А вот если попал, то уже Корабль должен вернуть ранил или убил. 2. Пока не очень понятно зачем Длины кораблей, лучше ограничивать другими вариантами, ну посмотрим что будет дальше. 3. Я когда придумывал как реализовать решил что корабль должен занимать не просто свои значения, а ещё и на Море отмечать места рядом с собой, в эти места не могут ставиться другие корабли, но накладываться друг на друга могут (я говорю про буферные зоны возле кораблей) 
2 Море и Корабль 00:57:13 53 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Интересная задумка, что бы использовать две карты, я помню что у нас в Сокобане такое было, но не подумал что это же можно использовать в таком "простом" проекте как Морской Бой. Он оказался сложнее, чем я думал! 
Сложности: очень не хотел использовать русские названия, но уже имею опыт, когда называешь функции по-своему, то позже теряешься в них, когда пишешь программу под диктовку. Поэтому оставил как на видео, но не думаю что и дальше буду делать русские названия, просто буду знать что такое возможно. 
Комментарии: я всё не могу понять зачем нужен enum, ведь можно просто сравнивать с текстом, а так привязываешься к какой-то сущности, нужно ещё и следить чтобы она была доступна и т.п. 
3 Редактор и Сетка 00:59:58 47 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Научился чуть больше работать с Grid, задавать цвета, работать с разными массивами как единым просто используя один и тот же номер. Размещение рандомно путем удаления предыдущих значений в обозначенной точке. 
Сложности: Понять как такой маленький код может делать такие большие вещи, вроде разговаривали про четырехпалубный, а тут бац и все корабли у нас уже рассчитано как должны стоять! 
Комментарии: Во время урока я уже сделал размещение на одном поле ровно, а на втором поле случайно, поэтому решение домашнего задания было не сложным)) 
4 Делегаты отображения 00:32:57 43 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Повторил использование делегатов 
Сложности: перестраивать программу, когда она уже почти работает 
Комментарии: Евгений Витольдович в начале урока сказал что уроке покажет как будут расставляться корабли, а мы до этого так и не дошли... 
5 Установка кораблей 00:38:34 37 чел. ★ 4.9 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: повторенье 
Сложности: уместить в голове всю эту кучу разрозненного кода, тем более что я уже видел как его рефакторили 
Комментарии: я понял почему забросили так на долго этот проект, потому что ему как раз не хватало того рефакторинга, который был 15.11.2015. код стал очень большим и неудобным, тяжело искать, тяжело читать, поэтому Евгений его и откладывал! 
6 Олимпиада - Самый лучший алгоритм 00:49:59 33 чел. ★ 4.8 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Ждем результата 
Сложности: думать 
Комментарии: смотрим 
7 Олимпиада - Угадай число 00:23:26 40 чел. ★ 4.7 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: разбираться с чужой структурой 
Сложности: всё понятно 
Комментарии: переходим непосредственно к морскому бою 
8 Олимпиада - Создание ИИ - Стратегия 00:12:46 26 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 6 час. 00 мин. [Показать отчёт]
Научился: продумывать варианты стратегии 
Сложности: придумывать своё, а не использовать чужое 
Комментарии: нужно нарисовать сетку, и по ней рандомно долбить, если алгоритм продуман заранее, то зная его можно расставлять так, чтобы комп долго искал, а когда рандомно, то тут как повезет 
9 Олимпиада - Создание ИИ - Шаблон ударов 00:35:30 24 чел. ★ 4.9 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: реализовать свою идею. что-то мне ещё не хватает мощи самому писать придуманный мною алгоритм 
Сложности: реазиловать 
Комментарии: массив int[,] shape нужно заполнять динамически, ведь мы знаем размер поля (его можно получить через Море.размер_моря.х*у), и на основе этих данных заполнять поле, вдруг у нас поменяется размер, и уже такая сеточка не проканает. 
10 Олимпиада - Создание ИИ - Добивание корабля 00:49:11 24 чел. ★ 4.9 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: добивать корабли, а так же метить территорию вокруг них, необычный подход, надо будет ещё разобраться, чтобы в дальнейшем использовать при программировании на языке C# 
Сложности: всё это осмыслить, принять 
Комментарии: т.е. мы запускаем функцию ChekShipDirection 4 раза и в каждой из них ещё и сразу проверяем все четыре направления? не многовато ли проверок для проверок? а почему не сделать добивание в рандомные стороны? или не принципиально? 
11 Рефакторинг кода 00:27:28 18 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: чуть-чуть больше начал понимать как делать рефакторинг 
Сложности: понимать что куда распихивать. хорошо когда уже работает и при каждом изменении можно проверить работает или нет 
Комментарии: всё отлично 
12 Интерфейс игры 00:21:58 18 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: всё понятно, ждём когда же уже можно будет поиграть! 
Сложности: всё понятно и ожидаемо 
Комментарии: ждём финиша!!! 
13 Последний Бой! 00:26:59 18 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 3 час. 00 мин. [Показать отчёт]
Научился: организацию работы всех этих методов! 
Сложности: только собственные доработки дают понятие о работе программы, как всё соединяется и что за что отвечает! 
Комментарии: добавил закраску полностью подбитого корабля, добавление настроек, возможности выбора уровня сложности игры, отображение статистики и текущего хода. кстати не сказал, но когда ход противника я блокирую грид с кораблями компьютера, чтобы нельзя даже просто так тыкнуть на него, иначе много нюансов возникало, а так всё четко работает! 
Видеообзор: https://youtu.be/VcUyQJm4vRM
14 ФИНАЛЬНЫЙ УРОК 00:23:23 4 чел. ★ 5 $
15 VIP. Анимированный кружок 00:32:54 113 чел. ★ 4.9 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: делать анимацию прямо на форме 
Сложности: интересным было то что предыдущий шарик не исчезает или "перемещается" а просто затирается таким же кружком, только белым 
Комментарии: применений этого урока масса, круто! идеи распирают! начиная от простых заставок на экран и заканчивая космическими перестрелками 
16 VIP. Анимированный кубик 00:44:27 102 чел. ★ 5 Done
  Отчёт отправил: 6452. Lik_Kirill Решено за 1 час. 00 мин. [Показать отчёт]
Научился: создавать анимацию на форме 
Сложности: не мог понять как сделать чтобы в центре кубик был, потом вспомнил что передаем координаты края кубика (я думал центра), всё заменил, теперь динамически вычисляется центр кубика. спасибо курсу по Сокобану)) 
Комментарии: ещё одна ступень к званию "программист C#" пройдена 
  Итого:   16 видеоуроков общей продолжительностью 9 час. 36 мин. 2 чел. ★ 4.94  
  Финалисты:   Алексей В.,   Ильшат .

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




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

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

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

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