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

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

Морской Бой

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

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

Хочу купить!

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

Цена: 1200 p.


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

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

Отчёт отправил: 6614. Александр Выполнено за 1 час. 10 мин. [Показать отчёт]
Научился: спроектировал в первом приближении классы игры. вспомнил создание пользовательских типов (через структуры) пока создавал классы, понял, что русское название переменных - крайне неудобная вещь - постоянные переключения языка. 
Сложности: постоянно переключать язык 
Комментарии: не надо использовать русские переменные!! 
2 Море и Корабль 00:57:13 68 чел. ★ 5 Done
  На этом уроке мы создадим "ядро" программы, два основных класса - Корабль и Море.
А в конце урока протестируем их работу.
Отчёт отправил: 6614. Александр Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: переписал классы и методы, протестил 
Сложности: переключение языков 
Комментарии: йцукенг 
3 Редактор и Сетка 00:59:58 59 чел. ★ 5 Done
  На этом уроке мы разместим и настроим DataGridView.
Потом расширим класс Море до Редактора, добавив методы
для автоматического размещения всех кораблей.
Отчёт отправил: 6614. Александр Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: узнал про datagridview, заметил пару ошибок в коде на видео, решил переписать алгоритм случайной расстановки из-за неэфективности предложенного 
Сложности: неочевидное использование (и в принципе функциональность) методов грида. 
Комментарии: в дереве есть классы Sea, Ship - повторение предыд.урока 
4 Делегаты отображения 00:32:57 55 чел. ★ 5 Done
  На этом уроке мы перенесём функции из Моря в редактор и
создадим Делегаты для отображения Кораблей и Выстрелов.
Отчёт отправил: 6614. Александр Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: узнал про делегаты - крутая штука. также разделил (перенёс часть) функциональность Моря и Редактора. 
Сложности: переделал алгоритм случайной расстановки - отрабатывает за 20-50 итераций при расстановке 10 кораблей на поле 10х10 (против 15-250 итераций в реализации прошлого урока); имена переменных заменил на англ.; 
Комментарии: добавил кнопку для рандомного выстрела 
5 Установка кораблей 00:38:34 49 чел. ★ 4.9 Done
  На этом уроке мы дадим возможность пользователю
устанавливать корабли мышкой и с клавиатуры.
Отчёт отправил: 6614. Александр Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: поэкспериментировал с разными событиями грида, дописал забытые в моей английской версии функии Очистить**()  
Сложности: запутался с невызванным вовремя ресетом, долго мучился с ошибкой в public int FindNumber(int length) { for (int i = 0; i < total_ships; i++) if (length == ship_lengths[i]) if (NoShip(ship_lengths[i])) // <- argument must be number, not length!! return i; return -1; } 
Комментарии: no 
6 Олимпиада - Самый лучший алгоритм 00:49:59 44 чел. ★ 4.9 Done
  На участие в олимпиаде было прислано 10 работ.
В этом видео мы проводим тестирование всех программ.
Домашнее задание - составить словесный алгоритм ИИ.
Отчёт отправил: 6614. Александр Выполнено за 6 час. 00 мин. [Показать отчёт]
Научился: NEW: написал алгоритм, подробнее - в графе Замечания. Евгений Витольдович, пожалуйста, прочитайте) OLD: посмотрел варианты алгоритмов. почему-то перед уроком не продумал свой алгоритм, поэтому теперь невольно оглядываюсь на увиденное. понравилась аналитическая работа тёзки-земляка Александра-4394 и конечно же вариант Оранджа с весами рандомно расставленных кораблей (про хак с памятью и говорить нечего)) ) 
Сложности: вроде ничего. алгоритм хочу написать сначала сам, прежде чем смотреть следующий урок. за основу возьму рассуждения Александра - логично простреливать сначала четвёрки, затем тройки. Но корабли буду сразу добивать и главное - добавлять точки вокруг подбитых кораблей в список "не стрелять", сократив т.о. теоретически посчитанное число прострелов. 
Комментарии: написал-таки алгоритм сам. прикрепляю проект (и картинку-напоминалку про алгоритм) - там есть замечательная кнопка Kill 10 000 maps, которая практически повторяет последний тест из видеоурока - в цикле 10000 раз ставитрандомные корабли и пытается их убить. после нажатия на кнопку прога подвешивается на время, но по окончании циклов выдаёт результаты min/avg/max, которые, внимание!, лучше чем из видео!! Евгений, просьба к вам: посмотреть, проверить лично) если честно, сам не верю... (остальные кнопки вроде понятны) 
7 Олимпиада - Угадай число 00:23:26 51 чел. ★ 4.8 Done
  Класс Secret загадал число.
Вам нужно написать класс Strategy,
который сможет его отгадать.
Инструкции в видео-уроке.
Отчёт отправил: 6614. Александр Выполнено за 20 мин. [Показать отчёт]
Научился: дописал класс и метод угадывания - делением отрезка пополам. узнал крутую тему с возвратом параметра функции.  
Сложности: не забыть отловить крайние значения путём прибавления\вычитания единицы к верхней\нижней границе отрезка 
Комментарии: я так понимаю, что этот урок был перед тем, в котором тестировались алгоритмы морского боя. немного сбивает нарушенный порядок видеоуроков, видимо не уловил смысл такой перестановки 
8 Олимпиада - Создание ИИ - Стратегия 00:12:46 35 чел. ★ 5 Done
  Олимпиадная задача - создать алгоритм ИИ для игры в Морской бой.
Подробности на видео.
Отчёт отправил: 6614. Александр Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: переделал ранее написанную программу чтобы перенести алгоритм в проект ShipMission. 
Сложности: переделать добивание корабля чтобы каждый раз возвращать результат в Program.cs 
Комментарии: -- 
9 Олимпиада - Создание ИИ - Шаблон ударов 00:35:30 33 чел. ★ 4.9 Done
  Алгоритм искусственного интеллекта для игры в Морской бой состоит из двух этапов:
1. нанесение ударов по шаблону для поиска 4-палубного и 2-палубных.
2. добивание раненного корабля и пометка клеток вокруг потопленного корабля.
На этом уроке разберём и реализуем первый этап.
Отчёт отправил: 6614. Александр Выполнено за 2 час. 15 мин. [Показать отчёт]
Научился: я не стал создавать два лишних массива, а определял следующую точку математически (для 4х-палубных - начинаем с 4й точки на первой строке, далее для каждой строки первая точка сдвигается влево, отдаётся на выстрел каждая четвёртая на очередной строке. когда строки заканчивались, математически определял точки для поиска 2х-палубных аналогично) поэтому я не делал всего что связано с массивом put. в основном переделывал свой алгоритм, чтобы он работал в проекте ShipMission 
Сложности: долго отлавливал баги, связанные с заменой циклов while и переделыванием "кучи функций в одном потоке" на несколько функций, пошагово возварщающие нужные точки 
Комментарии: можно было бы не использовать массив put и ограничиться массивом shape, вкотором на очередном шаге ставить нули в нужных местах. 
10 Олимпиада - Создание ИИ - Добивание корабля 00:49:11 33 чел. ★ 4.9 Done
  Алгоритм искусственного интеллекта для игры в Морской бой состоит из двух этапов:
1. нанесение ударов по шаблону для поиска 4-палубного и 2-палубных.
2. добивание раненного корабля и пометка клеток вокруг потопленного корабля.
На этом уроке разберём и реализуем второй этап.
Отчёт отправил: 6614. Александр Выполнено за 1 час. 35 мин. [Показать отчёт]
Научился: доделал свой вариант реализации алгоритма в части добивания корабля. 
Сложности: для обеспечения "пошаговой обработки" выстрелов запихнуть в глобали то, что у меня изначально было в "общем потоке выполнения" реализовано через while 
Комментарии: а где же окончание видеокурса с работающей программой в виде того, что мы делали на первых уроках с dataGridView ?? О_о 
11 Рефакторинг кода 00:27:28 28 чел. ★ 5 $
  На этом уроке мы займёмся рефакторингом нашего проекта.
Создадим класс SeaGrid, в который перенесём некоторые
функции из класса формы.
12 Интерфейс игры 00:21:58 27 чел. ★ 5 $
  На этом уроке мы создадим интерфейс пользователя -
разместим несколько кнопочек и запрограммируем их.
Также создадим перечисление всех режимов игры.
13 Последний Бой! 00:26:59 27 чел. ★ 5 $
  На этом уроке мы закончим создание Морского боя.
Сделаем отображение выстрелов пользователя.
Подключим класс Mission и сделаем ход компьютера.
Ходы будут выполняться в порядке очереди.
Нам потребуется таймер для постепенного
отображения серии ходов компьютера.
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#.

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