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

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

Морской Флот

Серия из 50 коротких уроков по созданию
многопользовательской "Морской Флот".
Будет серверная часть на PHP с Базой данных MySQL.
также будут использованы анимированные спрайты
для оформления клиентской части программы.


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


5,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:22:00 51 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 45 мин. [Показать отчёт]
Научился: радоваться новому курсу 
Сложности: нет 
Комментарии: пока нет 
2 Интерфейс - Первый кораблик 00:32:33 46 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 45 мин. [Показать отчёт]
Научился: Работать с bmp 
Сложности: сложно не было 
Комментарии: пока нет 
3 Интерфейс - А на море корабли 00:22:26 45 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 30 мин. [Показать отчёт]
Научился: Повторил 
Сложности: не было 
Комментарии: пока нет 
4 Графика - Карта Морского флота 00:31:14 35 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 05 мин. [Показать отчёт]
Научился: повторил пройденное 
Сложности: сложно не было 
Комментарии: пока нет 
5 Графика - Выстрелы по Кораблям 00:14:31 35 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 22 мин. [Показать отчёт]
Научился: повторил 
Сложности: решить задачку "семерых одним махом". )))) 
Комментарии: "Не надо отправлять энергию в прошлое..." - явно фраза с семинара в Алтае. Нам бы тоже подобные знания не повредили. 
6 Графика - Рефакторинг 00:26:11 34 чел. ★ 4.8 Done
  Отчёт отправил: 4342. Алекс Решено за 45 мин. [Показать отчёт]
Научился: Рефакторингу 
Сложности: Уследить за изменениями в коде 
Комментарии: замечаний нет 
7 Анимация - Полёт снаряда 00:08:33 30 чел. ★ 4.7 Done
  Отчёт отправил: 4342. Алекс Решено за 35 мин. [Показать отчёт]
Научился: = 
Сложности: ничего 
Комментарии: нет 
8 Анимация - Отображение кадров 00:31:33 30 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 55 мин. [Показать отчёт]
Научился: доводил до автоматизма еавыки 
Сложности: сложно не было 
Комментарии: замечаний нет 
9 Анимация - Полёт по таймеру 00:28:19 29 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 35 мин. [Показать отчёт]
Научился: Правильно мыслить 
Сложности: Сложно не было 
Комментарии: нет 
10 Архитектура - Перезагрузка проекта 00:24:35 29 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 40 мин. [Показать отчёт]
Научился: Начинать все заново 
Сложности: не было 
Комментарии: Непонятно, зачем нам городить огород с наследованием для класса Box только из-за разных картинок. Мы легко это можем реализовать свойством, в которое поместим значение перечисления (Enum-а). 
11 Архитектура - Карта Пиратов 00:34:23 29 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 55 мин. [Показать отчёт]
Научился: Мыслить в клиент-серверном режиме. 
Сложности: понять, почему именно такая матрица , почему Enum-ы именно с такими значениями. 
Комментарии: нет 
12 Архитектура - Наследие картинок 00:31:55 29 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 00 мин. [Показать отчёт]
Научился: прдолжил 
Сложности: не было 
Комментарии: я убекдился, так использовать наследование можно и нужно! И практично и красиво. 
13 Архитектура - Фабрика картинок 00:16:15 29 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 20 мин. [Показать отчёт]
Научился: продолжил 
Сложности: нет 
Комментарии: нет 
14 Архитектура - Мышкой по кораблям 00:21:27 29 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 15 мин. [Показать отчёт]
Научился: продолжил работать с делегатами 
Сложности: см. отзыв 
Комментарии: Ну не согласен я с таким применением делегатов. Все то преимущество и ту простоту, которое дает механизм делегатов при таком раскладе превращается в запутанное сложное спагетти. Ну ладно, Бог с ним, по каким то религиозным соображениям Витольдович не хочет применять события си шарпа (хотя здесь бы функционал собятия пригодился бы). Но уж больно на костылях как то все получилось прикручено, да еще и не туда. Позвольте мне нескромно предложить свою скромную версию:
Во первых, в чем суть расклада - нам нужно информацию о клике мышкой (какой океан, какая клетка) передать в нужный океан и изменить состояние связанных с ним данных. Сразу вопрос: при чем тут Form, зачем нам его в это впутывать? Так и сказал кто то из курсантов, делегат должен вызывать методы экземпляров класс океан. Как океаны должны узнавать что это относится именно к этому конкретному океану - это уже другой вопрос. Собственно для этого и существует механизм "издатель - подписчики".
Итак.
1. Где угодно вне класса объявляем наш делегат.
2. В классе PictureBox объявляем статический экземпляр делегата: public static deBoxClicked deClick;
3. Там же:
private void Box_MouseClick(object sender, MouseEventArgs e) { deClick.Invoke(place, mapx, mapy); }
4. В классе Ocean в функцию Create добавляем в конец: public void Create() { .............. Box.deClick += BoxClicked; }
5. Там же в классе Ocean: public void BoxClicked(int place, int mapx, int mapy) { if (this.place == place) MessageBox.Show("я " + title + " океан. " + "Я знаю, что щелкнули по МОЕЙ клетке " + " " + mapx + " " + mapy); }
Результат манипуляций на скриншоте 1.
. Думаю понятно, что целевой океан получает информацию о клике и дальше дело техники написать функцию изменение состояния именно этого океана.
Витольдович, сорри. Так мне не понравилась именно эта конкретная реализация, что вот родилось столько букв.  
15 База Морского Флота - INFO 00:11:16 35 чел. ★ 4.8 Done
  Отчёт отправил: 4342. Алекс Решено за 20 мин. [Показать отчёт]
Научился: планировать таблицу 
Сложности: укладывать ребенка 
Комментарии: нет 
16 База Морского Флота - SHIP 00:10:47 35 чел. ★ 4.8 Done
  Отчёт отправил: 4342. Алекс Решено за 15 мин. [Показать отчёт]
Научился: для разнообразия попробовал оранжевый цвет на схеме 
Сложности: выбрать между оранжевым и терракотовым 
Комментарии: все путем 
17 База Морского Флота - GAME 00:12:00 33 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 15 мин. [Показать отчёт]
Научился: обдумывать таблицы для клиент-серверной игры 
Сложности: нет 
Комментарии: Специально для Оли, поборнице прямых линий, нарисовал не в фотошопе, а в манга студии. 
18 База Морского Флота - phpMyAdmin 00:12:49 33 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 20 мин. [Показать отчёт]
Научился: Работать с Php myAdmin 
Сложности: не было 
Комментарии: нет 
19 База Морского флота - Экспресс SQL 00:40:56 31 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 55 мин. [Показать отчёт]
Научился: повторил основы SQL 
Сложности: не было 
Комментарии: нет 
20 База Морского Флота - Запросы SQL 00:41:23 30 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 10 мин. [Показать отчёт]
Научился: продолжил учиться составлять запросы 
Сложности: Не было 
Комментарии: Совсем маленькая корректировочка. Запрос определения окончания игры - "Сколько океанов, на которых есть живые корабли", на самом деле показывает сами океаны, а не их количество -"какие океаны, на которых есть живые корабли". Количество же таких океанов будет определять наверное таким запросом:
SELECT COUNT(*) AS Total
FROM (SELECT DISTINCT
ocean
FROM mad_ship
WHERE flag <> 'kill') AS Oceans
Кстати, все хотел попробовать вот такую штуку в комментариях:

Как по вашему мнению расшифровывается аббревиатура "ОС"?

Офицерский состав
Операционная система
Большой полосатый мух

 
21 Протокол - Список команд 00:12:40 24 чел. ★ 4.7 Done
  Отчёт отправил: 4342. Алекс Решено за 22 мин. [Показать отчёт]
Научился: Продолжил учиться мыслить в "клиент-серверном" режиме 
Сложности: Я ранее пытался изучать структуру xml-разметки, но из-за нехватки времени приостановил изучение. Поэтому посмотрим, как это реализуется здесь. 
Комментарии: Наверное, мы могли бы и не в xml - формате это делать, а скажем в jSon-е. В .Net есть работы и с тем и с этим. В связи с этим вопрос, чем в подобных случаях должен обуславливаться выбор.  
22 Протокол - Команды INFO и SHIP 00:53:55 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 10 мин. [Показать отчёт]
Научился: Продолжил учиться в клиент-серверном режиме 
Сложности: сложно не было 
Комментарии: Витольдович, вроде звучало 9 сентября - дата, до которой будет доступен хостинг. Уточни пожалуйста. У меня сейчас переезд. И заниматься практические некогда, краду время урывками. И перееду, поначалу интернета не будет, только на работе. Никак там продлить нельзя аренду? 
23 Протокол - Команда FIRE 00:56:38 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 20 мин. [Показать отчёт]
Научился: продолжил работать с запросами 
Сложности: сложно не было 
Комментарии: замечаний нет 
24 Протокол - Команда GAME 00:11:13 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 21 мин. [Показать отчёт]
Научился: Продолжил 
Сложности: не было 
Комментарии: нет 
25 Серверный флот - FTP подключение 00:06:50 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 10 мин. [Показать отчёт]
Научился: работать через Total Commander 
Сложности: не было 
Комментарии: нет 
26 Серверный флот - Как PHP дружит с MySQL 00:07:35 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 15 мин. [Показать отчёт]
Научился: коннектиться к БД в php 
Сложности: не было 
Комментарии: нет 
27 Серверный флот - Рефакторинг РНР-кода 00:20:37 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 30 мин. [Показать отчёт]
Научился: Работать с запросами в php 
Сложности: не было 
Комментарии: нет 
28 Серверный флот - Функция do_info 00:11:33 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 21 мин. [Показать отчёт]
Научился: Отправлять в ответ на GET - запрос xml разметку. 
Сложности: не было. 
Комментарии: Все чаще встречаются в последнее время слова "никогда так не делайте на практике..." и далее реализация того как не надо делать. Я понимаю, что хочется быстрее донести большой поток информации до слушателей, но... Неправильно это методологически. Мы только учимся, и запоминаем то, как сделали первый раз. И потом это вспомним. А слова "никогда так не делайте" забудутся. А вообще, если по теме, то НАКОНЕЦ ТО МЯСО! 
29 Серверный флот - Капитан очевидность 00:19:04 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 30 мин. [Показать отчёт]
Научился: фичам phpMyAdmin. Узнал про bigint, microtime. 
Сложности: не было 
Комментарии: нет 
30 Серверный флот - Функция do_ship 00:50:43 23 чел. ★ 5 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 30 мин. [Показать отчёт]
Научился: продолжил учиться php 
Сложности: не было 
Комментарии: Правильно ли я понимаю, что синтаксис языка php при составлении строки позволяет заключать переменную в кавычки и это все равно будет именно переменная, а не текст с именем этой переменной. Ну т.е. : "SELECT COUNT(*) FROM mad_ship WHERE ocean = '$ocean'". Для подобного же запроса в С# нам пришлось бы конкатенировать переменную ocean таким образом: + "'" + ocean + "'" +  
31 Серверный флот - Функция do_fire 00:46:57 23 чел. ★ 4.9 Done
  Отчёт отправил: 4342. Алекс Решено за 1 час. 25 мин. [Показать отчёт]
Научился: продолжил 
Сложности: не было 
Комментарии: нет 
32 Серверный флот - Функция do_game 00:14:08 22 чел. ★ 5 $
33 ПОЛУФИНАЛЬНЫЙ УРОК. Большая игра 00:19:58 21 чел. ★ 5 $
34 Клиентский флот - Подключение к серверу 00:16:05 23 чел. ★ 5 $
35 Клиентский флот - Парсинг XML 00:21:34 20 чел. ★ 5 $
36 Клиентский флот - Класс ServerInfo 00:25:00 20 чел. ★ 5 $
37 Клиентский флот - Класс ServerShip 00:34:41 20 чел. ★ 5 $
38 Клиентский флот - Класс ServerFire 00:31:08 19 чел. ★ 5 $
39 Клиентский флот - Класс ServerGame 00:37:13 18 чел. ★ 5 $
40 Одинокий капитан - Прицел 00:16:57 18 чел. ★ 5 $
41 Одинокий капитан - Выстрелы 00:15:24 18 чел. ★ 5 $
42 Одинокий капитан - Победа! 00:25:02 18 чел. ★ 5 $
43 Финишная миля. Перезагрузка. 00:04:15 17 чел. ★ 4.8 $
44 Финишная миля. Мой океан. 00:42:18 16 чел. ★ 4.9 $
45 Финишная миля. Найти победителя 00:20:28 16 чел. ★ 4.9 $
46 Свежий взгляд. Схема проекта. 00:14:46 15 чел. ★ 4.9 $
47 Свежий взгляд. Управление из таймера. 00:11:34 15 чел. ★ 5 $
48 Свежий взгляд. Ожидание запуска. 00:17:02 15 чел. ★ 5 $
49 Свежий взгляд. Размещение кораблей. 00:18:37 15 чел. ★ 5 $
50 Свежий взгляд. Завершение проекта. 00:21:42 15 чел. ★ 5 $
51 ФИНАЛЬНЫЙ УРОК. 00:03:29 8 чел. ★ 5 $
52 VIP урок. Змейка 01:08:56 1 чел. ★ 5 $
  Итого:   52 видеоурока общей продолжительностью 20 час. 53 мин. 1 чел. ★ 4.95  
  Финалисты:   Ильшат .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: тестировать свою программу, записывать видеообзор
Трудности: не вериться что это уже все, я уже с роднилась с этим классным куром!
УРА!!! УРА и еще раз УРА!!! Я сделала самую суперскую игру!!! Какая же я Умничка!!! Спасибо Женя за этот шикарный курс, пусть кто-то скажет что он и затянут и может быть кому-нибудь не понравятся то что мы переделывали, начинали несколько раз все с нуля, однако мне это все безумно понравилось и только благодаря этому мне все понятно как создается проект, как пишется программа, для меня это очень важно и ценно!!! Я получила отличный опыт и практику, море новых знаний и сейчас уже намного увереннее себя чувствую в программировании, мое количество уже переросло в качество и это меня делает очень счастливой, это стоит того!!! ❤️
Смотреть видеозапись: https://youtu.be/hEDdjHnTVMQ
Научился: В очередной раз записывать видеообзор
Трудности: придумать, что было самым сложным
Ну что хочется сказать, спасибо за курс! Очень, ёмкий, насыщенный полезный! Переплетение технологий легко наглядно и просто. Всем рекомендую)
Смотреть видеозапись: https://youtu.be/9eZbbzP2GPQ