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

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

Морской Бой

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

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

2,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Планирование 00:40:08 58 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Планировать программу 
Сложности: Пока что ничего 
Комментарии: Все замечательно 
2 Море и Корабль 00:57:13 53 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Познакомился с enum и созданием структуры, созданием классов объектов, с деревом методов.,  
Сложности: Все новое. 
Комментарии: Все отлично 
3 Редактор и Сетка 00:59:58 47 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 3 час. 00 мин. [Показать отчёт]
Научился: Работа с Редактором и расширением класса. Знакомство с новыми функциями расстановки и рандома. 
Сложности: Все работало пока не добавил блок "Очистить область". После этого пишет, что индекс находится вне границ массива. Почему - непонятно...  
Комментарии: Сложно, ново, но интересно. 
4 Делегаты отображения 00:32:57 43 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 5 час. 00 мин. [Показать отчёт]
Научился: Работе с делегатами. 
Сложности: Не отследил ту секунду видео, где запись делегата сменилась с int nr на Статус status и 3 часа пересматривал все видео шаг за шагом в поисках ошибки... public delegate void deShowFight (Точка place, Статус status);  
Комментарии: Все хорошо. 
5 Установка кораблей 00:38:34 37 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 5 час. 00 мин. [Показать отчёт]
Научился: Создавать событие MouseUP, писать функции PlaceShip, ПоставитьПоТочкам, НайтиНомер, отображать корабли, которые еще не поставлены. 
Сложности: Не упустить ничего при повторении. Почему-то периодически выдает ошибку "Индекс находится вне границ массива". if (карта_кораблей[t.x, t.y] == -1)  
Комментарии: Во время отладки почему-то периодически выдает ошибку "Индекс находится вне границ массива". if (карта_кораблей[t.x, t.y] == -1) В остальном все хорошо. 
6 Олимпиада - Самый лучший алгоритм 00:49:59 33 чел. ★ 4.8 Done
  Отчёт отправил: 4814. Дмитрий Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Пока что ничему. Как правильно расставлять корабли и как их ловить давно известно, а кода здесь не было. Но планирую повнимательнее изучить сам код победителей, чтобы увидеть как вообще задавать выстрелы и определять зоны, в которые стрелять уже не надо. 
Сложности: Просто нет необходимых знаний для переноса алгоритма из головы в программу. Лучший алгоритм у Оранжа 2775. У Елены 4004 отсутствует рандом, у нее всегда одинаковое количество ходов тратится на одну и ту же расстановку, минимум = среднему = максимуму. Она методично проходит по А4 - А8 - Б1 - Б5 и т.п. - ловит четырехпалубный. Затем так же методично проходит А2 - А6 - А10 - Б3 и т.п. и ловит двухпалубные. А затем просто проходит и методично добивает остальных. Но такой алгоритм очень предсказуем и можно просто добиться такой расстановки против нее, что количество ходов всегда будет 80, достаточно поместить однопалубный в самый конец сетки. Например, К9. 
Комментарии: Думаю, что не совсем правильно начинать ловить корабли от левого верхнего угла. Люди больше тяготеют к расстановке кораблей внизу и справа. И при расстановке они ставят корабли так, чтобы не попасть сразу под ходы А4, А8, Б1, Б5 и т.п. Думаю, что нужно начинать выстрелы с клеток К4, К8, З10, Г10 и далее по кругу на вертикаль А и горизонталь 1. Затем пройти по спирали до центра. Аналогично пройти шагом 2 и выловить все корабли, кроме одиночных. Когда останутся только одиночные, то первые 3 выстрела в те клетки, которые имеют максимальное количество "неоткрытых" соседей, а 4-й - в клетку с минимальным количеством соседей. Необходимое соотношение выстрелов в наиболее выгодные клетки с выстрелами в клетки, у которых все соседние уже открыты, нужно определять опытным путем. 
7 Олимпиада - Угадай число 00:23:26 40 чел. ★ 4.7 Done
  Отчёт отправил: 4814. Дмитрий Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Разбираться со структурой классов, ставить простенькую защиту от читинга. 
Сложности: Разобраться во взаимосвязях различных классов. 
Комментарии: Все понравилось. 
8 Олимпиада - Создание ИИ - Стратегия 00:12:46 26 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 3 час. 00 мин. [Показать отчёт]
Научился: Стрелять! 
Сложности: Придумать стратегию. 
Комментарии: Все замечательно. 
9 Олимпиада - Создание ИИ - Шаблон ударов 00:35:30 24 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 5 час. 00 мин. [Показать отчёт]
Научился: Создавать матрицу шаблона, описал функции InitPut и RandomPut, разработал алгоритм выбора точек. 
Сложности: не сбиться при повторе действий. 
Комментарии: все замечательно. 
10 Олимпиада - Создание ИИ - Добивание корабля 00:49:11 24 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 4 час. 00 мин. [Показать отчёт]
Научился: Добивать несчастные корабли. 
Сложности: Не пропустить какую-нибудь точку или запятую. 
Комментарии: Все отлично 
11 Рефакторинг кода 00:27:28 18 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Получил практику по рефакторингу кода 
Сложности: Все понятно. 
Комментарии: При расстановке кораблей вручную почему-то зависает и показывает, что "Индекс находился вне границ массива", если ставишь корабль на 10-ю строчку или столбец. Непонятно. :-( public void ОчиститьТочку (Точка t) { if (!НаМоре(t)) return; if (карта_кораблей[t.x, t.y] == -1) ?????? return; УбратьКорабль (карта_кораблей [t.x, t.y]); } 
12 Интерфейс игры 00:21:58 18 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Создавать режимы игры и интерфейс пользователя. 
Сложности: Сложностей не возникло 
Комментарии: Все замечательно. 
13 Последний Бой! 00:26:59 18 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Подключать класс с ИИ, играть. 
Сложности: Сложность в том, что прошло полгода с большей части курса, и уже мало что помнишь. Особенно учитывая, что это был один из первых моих курсов, и тогда я, в основном, только молча копипастил. Почему-то перестала работать функция добивания раненого корабля, придется искать ошибку. :-( Сейчас весь курс с нуля буду пересматривать, чтобы понять что "мы" вообще делали.  
Комментарии: Все замечательно. Лишний раз убеждаюсь, что лекции по 20 минут удобнее часовых хотя бы с точки зрения поиска ошибок. В конце каждой лекции идет показ текущего состояния, что позволяет лучше ориентироваться. 
14 ФИНАЛЬНЫЙ УРОК 00:23:23 4 чел. ★ 5 $
15 VIP. Анимированный кружок 00:32:54 113 чел. ★ 4.9 $
16 VIP. Анимированный кубик 00:44:27 102 чел. ★ 5 $
  Итого:   16 видеоуроков общей продолжительностью 9 час. 36 мин. 2 чел. ★ 4.94  
  Финалисты:   Алексей В.,   Ильшат .

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




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

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

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

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