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

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

Морской Бой

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

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

Хочу купить!

Купить в рассрочку за мегахеши

Цена: 1200 p.


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

# Название видеоурока Решило Рейтинг Доступ
1 Планирование 00:40:08 73 чел. ★ 4.9 Done
  Мы начинаем создание игровой программы Морской Бой.
1. Создать объектную модель.
2. Реализовать классы Корабль и Море.
3. Спроектировать интерфейс игры. DataGridView.
4. Написать Искусственный интеллект.
5. Реализовать игру с компьютером.
6. Реализовать сетевую версию игры на двоих.

Отчёт отправил: 7980. Сергей Лузум Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Разрабатывать программу в самых общих чертах, не вдаваясь ни в какие подробности. 
Сложности: Понять ход мысли, необходимый для такого моделирования. 
Комментарии: Описан очень важный этап создания программы. Скорее всего, будет доходить на протяжении всего курса... 
2 Море и Корабль 00:57:13 68 чел. ★ 5 Done
  На этом уроке мы создадим "ядро" программы, два основных класса - Корабль и Море.
А в конце урока протестируем их работу.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: - Создавать пользовательские типы; - работать с перечислениями, - делать textBox-ы многострочными и заполнять их (+ знакомство с Environment); - вспомнил, как работать с двумерными массивами и функциями. 
Сложности: Вылавливать "баги" при проверочном запуске. 
Комментарии: Оценил в полной мере полезность проверки классов на форме (наглядно). 
3 Редактор и Сетка 00:59:58 59 чел. ★ 5 Done
  На этом уроке мы разместим и настроим DataGridView.
Потом расширим класс Море до Редактора, добавив методы
для автоматического размещения всех кораблей.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: 1. Работа с DataGridView. 2. Взаимодействие между классами (в том числе между потомками и родительскими). 3. Повторил работу с цветом, строками и массивами. 
Сложности: Разобраться с наследованием свойств классом Редактор. Долго вылавливал ошибку с "null reference exception" из-за создания нескольких экземпляров sea_user. 
Комментарии: Всё понятно и интересно!) 
4 Делегаты отображения 00:32:57 55 чел. ★ 5 Done
  На этом уроке мы перенесём функции из Моря в редактор и
создадим Делегаты для отображения Кораблей и Выстрелов.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Узнал, что такое делегаты, для чего они нужны и как с ними работать. 
Сложности: Всё понятно! 
Комментарии: Всё понятно! 
5 Установка кораблей 00:38:34 49 чел. ★ 4.9 Done
  На этом уроке мы дадим возможность пользователю
устанавливать корабли мышкой и с клавиатуры.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Более подробно изучил DataGridView и попрактиковался в самостоятельном программировании. 
Сложности: Ничего. 
Комментарии: Всё хорошо!) 
6 Олимпиада - Самый лучший алгоритм 00:49:59 44 чел. ★ 4.9 Done
  На участие в олимпиаде было прислано 10 работ.
В этом видео мы проводим тестирование всех программ.
Домашнее задание - составить словесный алгоритм ИИ.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: Искать разные способы решения поставленной задачи. Сравнивать эффективность разных алгоритмов с помощью C#. Эффективно играть в Морской бой. :-) 
Сложности: Придумать свой эффективный алгоритм, отличающийся от предложенных. Пока не удалось. Предположения: - задействовать random, чтобы защититься от искусственно подобранных "контррасстановок"; - перед каждым выстрелом находить возможное расположение кораблей; - стремиться к равномерному обстрелу вертикалей и горизонталей; - возможно, использовать заготовленные шаблоны совместно с random. 
Комментарии: Понравился алгоритм Orange. Свой пока сделаю простым. 1. Создадим матрицу 10 × 10, в которой номерами установим порядок обстрела всех точек. - Правило обстрела выберем по диагоналям с постепенно уменьшающимся интервалом. - Оставшиеся часть матрицы заполним, отразив первую зеркально. 2. Будем последовательно перебирать в заданном порядке я чейки для обстрела. 3. Стреляем, если ячейка имеет статус "неизвестно". 4. Если ранили, то добиваем корабль. - проверяем ячейки по горизонтали и по вертикали от раненой; - если снова попали, запоминаем направление, а соседние ячейки в другом измерении помечаем "мимо";; - если после этого промах - добиваем в обратную сторону; 
7 Олимпиада - Угадай число 00:23:26 51 чел. ★ 4.8 Done
  Класс Secret загадал число.
Вам нужно написать класс Strategy,
который сможет его отгадать.
Инструкции в видео-уроке.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 15 мин. [Показать отчёт]
Научился: Разминка 
Сложности: Ничего. 
Комментарии: Не стал мудрить, решил простейшим способом. 
8 Олимпиада - Создание ИИ - Стратегия 00:12:46 35 чел. ★ 5 Done
  Олимпиадная задача - создать алгоритм ИИ для игры в Морской бой.
Подробности на видео.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 6 час. 00 мин. [Показать отчёт]
Научился: Отслеживать логику программы. 
Сложности: Пожалуй, нормально обработать добивание. Проверку на соседние корабли смог сделать только на этапе проверки выстрела. Заранее отметить поля "мимо" , как планировал вначале, не удалось. 
Комментарии: Интересная задача на логику!!!)) Алгоритм получился частично рандомным. Предложенный пример решается за 33 или 71 ход 
9 Олимпиада - Создание ИИ - Шаблон ударов 00:35:30 33 чел. ★ 4.9 Done
  Алгоритм искусственного интеллекта для игры в Морской бой состоит из двух этапов:
1. нанесение ударов по шаблону для поиска 4-палубного и 2-палубных.
2. добивание раненного корабля и пометка клеток вокруг потопленного корабля.
На этом уроке разберём и реализуем первый этап.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Грамотно раскладывать свой алгоритм на отдельные методы. 
Сложности: Ничего. 
Комментарии: Было очень интересно сравнить структуру своего кода для Mission.cs с предложенным здесь. 
10 Олимпиада - Создание ИИ - Добивание корабля 00:49:11 33 чел. ★ 4.9 Done
  Алгоритм искусственного интеллекта для игры в Морской бой состоит из двух этапов:
1. нанесение ударов по шаблону для поиска 4-палубного и 2-палубных.
2. добивание раненного корабля и пометка клеток вокруг потопленного корабля.
На этом уроке разберём и реализуем второй этап.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Алгоритмизация... 
Сложности: Не запутаться, так как алгоритм начал сильно расходиться с моим - появилось много нового. 
Комментарии: Всё отлично! 
11 Рефакторинг кода 00:27:28 28 чел. ★ 5 Done
  На этом уроке мы займёмся рефакторингом нашего проекта.
Создадим класс SeaGrid, в который перенесём некоторые
функции из класса формы.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Посмотрел, как трансформируются отдельные методы при переносе из одного класса в другой: что в них остаётся неизменным, а что обновляется, как это влияет на остальную программу. В итоге, надеюсь, ещё лучше усвоил механизмы передачи данных внутри программы. 
Сложности: Ничего. 
Комментарии: С этого момента я начал знакомство с видеокурсом - это был мой первый вебинар. Сейчас смог сравнить уровень понимания материала: примерно 20-30% тогда и , кажется, 100% сейчас!))) 
12 Интерфейс игры 00:21:58 27 чел. ★ 5 Done
  На этом уроке мы создадим интерфейс пользователя -
разместим несколько кнопочек и запрограммируем их.
Также создадим перечисление всех режимов игры.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Повторил работу с элементами формы и её событиями. 
Сложности: Ничего. 
Комментарии: 1. Был "глюк" со случайной расстановкой кораблей - у пользователя и компьютера очень легко было получить совпадающие случайные расстановки. Решил только многократным вызовом sea_comp.ПоставитьСлучайно(); Для верности число повторов тоже сделал случайным (10..20). 2. Сброс сетки компьютера при нажатии Старт. (В классе SeaGrid добавил функцию ClearGrid()). 3. "Секретная кнопка" использует массив карта_кораблей и по точкам вызывает ShowCompShip(Точка place, int nr) 
13 Последний Бой! 00:26:59 27 чел. ★ 5 Done
  На этом уроке мы закончим создание Морского боя.
Сделаем отображение выстрелов пользователя.
Подключим класс Mission и сделаем ход компьютера.
Ходы будут выполняться в порядке очереди.
Нам потребуется таймер для постепенного
отображения серии ходов компьютера.
Отчёт отправил: 7980. Сергей Лузум Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Самое главное - подключать другие классы к готовой программе. 
Сложности: В некоторых случаях обыграть компьютер!)) 
Комментарии: Ура! Свершилось!) Игра заработала, да ещё и серьёзным соперником оказалась!!! 
14 ФИНАЛЬНЫЙ УРОК 00:23:23 11 чел. ★ 5 $
  Записать видео обзор Морского боя. созданного на этом курсе.
15 VIP. Анимированный кружок 00:32:54 119 чел. ★ 4.9 $
  На этом уроке мы создадим двигающийся кружок,
из которого потом сделаем анимированый кубик.

Задание:
Создать два класса с наследованием.
Сделать плавное перемещение кружка.
16 VIP. Анимированный кубик 00:44:27 108 чел. ★ 5 $
  На этом уроке мы создадим массив из кружков,
они будут сначала двигаться случайно, похоже на бильярд.
Дальше мы создадим правила для их передвижения
и в конечном итоге реализуем анимированный игральный кубик.

Задание:
Нарисовать верхнюю сторону игрального кубика
с шестью анимированными точками для смены чисел.
  Итого:   16 видеоуроков общей продолжительностью 9 час. 36 мин. 8 чел. ★ 4.95  
  Финалисты:   Алексей В.,   Ильшат,   Станислав,   Tekashnik,   Новопашин Владимир,   LINKI,   Dimon,   Yefim .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Запиливать видос.
Трудности: Что творится с моим организмом - все слова разом пропадают и несу какой-то бред.
Следующий курс - куда укажет улиточная судьба.
Научился: Записывать Видеообзор
Трудности: Записывать Видеообзор
Попробовал Адобе Премьер Про, будем дальше экспериментировать)) Курс хороший и алгоритмы есть и визуализация и делегаты и события всё супер))