C# обучение для чайников

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

Игра СОКОБАН

Приглашаю пройти видеокурс по созданию полноценной игровой программы СОКОБАН.
Мы вместе, за руку, пройдём по всем этапам создания законченной интеллектуальной игры.
1. Создание редактора уровней.
2. Придумывание этих самых уровней.
3. Создание собственно игры.
4. Решение олимпиадной задачки для добавления ИИ.
5. Переделка игры в режим "на двоих".
6. Написание класса Phone для связи двух программ по сети.
7. Создание сетевой версии игры Sokoban.
8. Оформление итоговой программы.

Открытие 27 ноября в 18:00

Название: Игра Сокобан
Объём: 21 видеоурок.
Доступ: 30 дней

5,000 руб


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Сокобан - Вступление 00:11:09 114 чел. ★ 4.8 Done
  Отчёт отправил: 2146. Иван Решено за 4 час. 00 мин. [Показать отчёт]
Научился: :) 
Сложности: Успеть сфоткать, пока телефон не разрядился. 
Комментарии: Давно уже в телефон загружена. 
2 Сокобан - Подготовка - Картинки и лабиринт 00:04:56 74 чел. ★ 4.9 Done
  Отчёт отправил: 2146. Иван Решено за 40 мин. [Показать отчёт]
Научился: Готовимся 
Сложности: Придумать тематику 
Комментарии: Ура! Начинаю очень интересный курс! 
3 Сокобан - Редактор - Загрузка 00:33:25 73 чел. ★ 4.9 Done
  Отчёт отправил: 2146. Иван Решено за 50 мин. [Показать отчёт]
Научился: Закрепил модификатор out очень удобная штука. 
Сложности: Вылавливать ошибки, как всегда не быстро. 
Комментарии: Все получается! Жду визуализацию. 
4 Сокобан - Редактор - Интерфейс 00:40:37 59 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Вычислять место положение боксиков. Еще раз прошел динамическое размещение компонентов.  
Сложности: С видео все просто. И ошибки быстро находятся 
Комментарии: Наконец, добрался до компьютера, где стоит студия. Спасибо за урок. Уже вывели картинки - результат стал виден! Вдохновляет! 
5 Сокобан - Редактор - Редактирование 00:38:33 53 чел. ★ 4.9 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Использовать двойное приведение типов. Очень понравилась запись toolWall.Checked = current_cell == Cell.wall; позволяющая обойтись без switch. 
Сложности: Что увлекательно, то несложно. 
Комментарии: Урок очень понравился! Приведение приведения вообще восхитило! Функция ResizeLevel тоже с изюминкой. Спасибо за бесценный урок! 
6 Сокобан - Редактор - Сохранение 00:44:47 52 чел. ★ 4.9 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Хороший пример использования ref. 
Сложности: Функция Сохранение файла 
Комментарии: Понравилось , как происходит сохранение файла. Редактор получается непростой. Осталось не понятно int w = cell.GetLength(0); int h = cell.GetLength(1); Что значит 0, а что значит 1 в скобках? А может просто надо утром посмотреть видео. 
7 Сокобан - Редактор - Улучшение 00:29:00 51 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Понравилось использование Math.Min и Math.Max 
Сложности: Сложно не было. 
Комментарии: Получился отличный редактор!  
8 Сокобан - Создаём свои уровни 00:08:05 49 чел. ★ 4.9 Done
  Отчёт отправил: 2146. Иван Решено за 40 мин. [Показать отчёт]
Научился: Собирать все вместе. 
Сложности: Все отлично.  
Комментарии: Продвигаемся вперед! 
9 Сокобан - Игра - Интерфейс 00:43:45 51 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 15 мин. [Показать отчёт]
Научился: Повторил вызов формы, загрузку из файла. 
Сложности: Сложного ничего не было. 
Комментарии: Не удержался, и попробовал вывести уровень из файла, пока без возможности загрузки других уровней. 
10 Сокобан - Игра - Управление 01:06:38 44 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Очень понравилась идея двухслойности! (map и top)  
Сложности: Наверное , самая сложная функция - step 
Комментарии: Здорово получилось! Белка ходит, ящики передвигает! Спасибо за замечательный урок! Если бы делал сам, то вряд ли до такой реализации додумался. 
11 Сокобан - Решалка - Тестер 00:59:55 38 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 10 мин. [Показать отчёт]
Научился: осознал разницу File.ReadAllText и File.ReadAllLines. 
Сложности: Сложно было не запутаться с ax,ay,bx,by,ex,ey,px,py 
Комментарии: Спасибо за урок. Алгоритм показался не очень сложным. Хотя, когда пришел на этот поект, это было бы сложно. 
12 Сокобан - Решалка - Мышка 00:53:02 37 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 00 мин. [Показать отчёт]
Научился: очень понравилось использовать List и Queue! 
Сложности: C таким уроком все просто. 
Комментарии: Отличный урок! Чем дальше , тем интереснее. Добавил в тестер вывод самого пути, как шла мышка.  
13 Сокобан - Решалка - Яблоко 00:44:23 36 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 40 мин. [Показать отчёт]
Научился: Очень насыщенный урок. Научился волновому поиску пути да еще и с тяжелым ящиком!!! 
Сложности: Под диктовку, с паузами делать одно удовольствие! 
Комментарии: Очень красивое решение получилось. Надо бы его еще не один раз пересмотреть, чтобы проникнуться идеей. Не просто 10 звезд, а 20!!! 
14 Сокобан - Решалка - Оптимизация 00:11:37 36 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 30 мин. [Показать отчёт]
Научился: Практика использования stopwatch. Практика использования четырехмерных массивов. Практика использования Dictionary 
Сложности: Не сложно , но позновательно! 
Комментарии: Спасибо! Очень понравились оптимизации. Особенно ценно, что не сразу был дан вариант с квадромассивом, а до этот показали и Dictionary. На маленьком лабиринте цифры не так впечатляют, но огромный лабиринт пока не удалось нарисовать. 
15 Сокобан - Игра - Автоходы 00:42:22 35 чел. ★ 4.9 Done
  Отчёт отправил: 2146. Иван Решено за 1 час. 20 мин. [Показать отчёт]
Научился: Потренировался подключать классы. 
Сложности: Разобраться, что надо сначала спрятать ящик, а потом показать ( top[start.x, start.y] = Cell.abox;) 
Комментарии: Удивительный результат! Все работает. Спасибо за подробные объяснения - все было понятно! Играть с такими дополнениями одно удовольствие, только успевая мышкой щелкать! 
16 Сокобан - Редактор - На двоих 00:31:57 33 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 40 мин. [Показать отчёт]
Научился: Все исправил, все заработало 
Сложности: Придумать второго персонажа 
Комментарии: Интересные дополнения. 
17 Сокобан - Игра - На двоих 00:15:40 33 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 30 мин. [Показать отчёт]
Научился: Добавлять второго игрока 
Сложности: Оказалось, что переделывать игру на двоих проще, чем я думал. 
Комментарии: Здорово получается. Белке повезло, за нее можно играть мышью. 
18 Сокобан - Телефон - TCP/IP протокол 00:47:44 44 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 30 мин. [Показать отчёт]
Научился: Еще раз повторил использование делегатов. Использование abstract и override 
Сложности: Использование abstract и override 
Комментарии: Этот урок делал в другом проекте, как vip урок. Очень хорошо, что он тут тоже есть. 
19 Сокобан - Игра - На двоих по сети 00:56:59 32 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Очень интересно исследовать, как работают классы между собой. 
Сложности: Так писать программу - совсем просто. Но так все соединить вместе - очень сложно. Интересно придумано с синхронной сменой уровней! 
Комментарии: Ух! Вот это урок! Столько всего важного и интересного. Удивительно, что класс phone передает всего то по одному байтику. А наши человечки бегают уже вместе! Спасибо за замечательный курс. Все очень понравилось! 
20 Сокобан - Завершение 00:37:44 31 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 2 час. 30 мин. [Показать отчёт]
Научился: Повторил пройденное. Потренировался с делегатами. 
Сложности: Попытка сделать чат не увенчалась успехом 
Комментарии: Спасибо за подробные уроки! Хорошая практика с делегатом, с абстрактным классом, и еще со многими другими вещами. И хорошо, что этот курс я взял в конце, а то многое бы просто не понял. Отличная игра получилась! 
21 ФИНАЛЬНЫЙ урок. Видео-обзор проекта Сокобан 00:23:23 21 чел. ★ 5 Done
  Отчёт отправил: 2146. Иван Решено за 40 мин. [Показать отчёт]
Научился: Доводить курс до конца. 
Сложности: записывать ночью 
Комментарии: Замечательный курс. Тут и создание классов, и их взаимодействие - очень было полезно все это сделать. 
Видеообзор: https://youtu.be/Q0CazQPvgNg
22 VIP. Бот для игры БАЛДА 01:22:57 4 чел. ★ 5 $
  Итого:   22 видеоурока общей продолжительностью 13 час. 48 мин. 4 чел. ★ 4.97  
  Финалисты:   zhikharevav,   Ильшат,   Максим,   Новопашин Владимир .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторил создание видео обзоров.
Трудности: Кратко рассказать про пройденный курс)
Данный курс я начал проходить во время новогоднего марафона программиста, где была хорошая поддержка Евгения Витольдовича и марафонцев. В целом, очень достойный курс, хорошие дополнения, такие как автоходы, игра на двоих, по сети. Спасибо, Евгений Витольдович!)
Смотреть видеозапись: https://youtu.be/J7pDmAqdUFU
Научился: Всем здравствуйте! При разработке моей игры CounterStrike Sokoban я научился многим вещам, таким как работать с панелями, создавать их программно, размещение картинок, загрузка данных из файлов и ресурсов, динамически изменять картинки в связи с заданными условиями. Научился работать с классами, подклассами, с приватными и глобальными переменными, в одном проекте использовать несколько форм одновременно. Узнал о таком методе поиска маршрута как "Поиск в ширину" и смог его реализовать в своей игре для увеличения комфортности игры. Научился передавать данными между компьютерами и завязывать всё это в одной форме, т.е. два человека на различных компьютерах управляют одной и той же формой. Мне как программисту этот видеокурс принес много нового и, порой, неожиданного в изучении возможностей языка C#. При написании других проектов ловлю себя на мысли, что вспоминаю как это было реализовано в CounterStrike Sokoban и понимаю что это возможно - это раз, что это не сложно - это два, и всё это реально можно сделать, главное применить капельку фантазии, а базу Евгений Витольдович уже заложил. P.S. для новичков по поводу доработок - ВОЗМОЖНОСТИ БЕЗГРАНИЧНЫ, они ОГРАНИЧЕНЫ ЛИШЬ ВАШЕЙ ФАНТАЗИЕЙ! Ваяйте, создавайте, не пугайтесь трудностей, они лишь у вас в голове!
Трудности: Учиться с Евгением Витольдовичем легко и быстро, главное не гоните лошадей, одно-два занятия в день легко усваиваются, если больше - можете пропустить что-то важное!
В видео не сказал ещё что редактор уровней для одиночной и для многопользовательской игры разные уровни редактирует, разные создает на диске, и если они есть то тоже никак не пересекаются с одиночной игрой
Смотреть видеозапись: https://youtu.be/NSwo5RVoHUI