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
  Отчёт отправил: 1901. Neverwinter 2 Решено за 1 час. 20 мин. [Показать отчёт]
Научился: Играть в Сокобан я умел. Вспомнил навыки. 
Сложности: Самое сложное было сначала найти игру - восновном предлагается только онлайн. Ну и уровни 8, 9 и особенно 10 были самыми сложными 
Комментарии: Я был очень впечатлён перспективой, увиденной на этом уроке... Неужели мы всё это сделаем? 
2 Сокобан - Подготовка - Картинки и лабиринт 00:04:56 76 чел. ★ 4.9 Demo
3 Сокобан - Редактор - Загрузка 00:33:25 76 чел. ★ 4.9 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 2 час. 15 мин. [Показать отчёт]
Научился: Научился делить строку на части, вспомнил как преобразовывать цифры из строки в число. 
Сложности: Найти ошибки в своей программе: когда у меня подчеркивает, а в образце - нет... 
Комментарии: Трудно мне... Не работал с ООП ни разу, привык к функциональному подходу, где в main() вся структура, как на ладони. Здесь с трудом видно, что за чем выполняется. Будет трудно управлять такой программой. Но я не могу (надеюсь - пока) предложить метода, который бы облегчил... Разве что нарисовать алгоритм (блок-схему) работы функций до создания программы... 
4 Сокобан - Редактор - Интерфейс 00:40:37 63 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 2 час. 45 мин. [Показать отчёт]
Научился: Пользоваться автоматическим конструктором кода из формы, добавлять ресурсы в код (например значки), динамически отрисовывать размер картинок. 
Сложности: Самым сложным было найти иконку к редактору. Ну, нету у меня иконок, нету!... 
Комментарии: А у меня, кстати, не было той ошибки, которая возникла на моменте 33:30. Не знаю, почему, но не было. 
5 Сокобан - Редактор - Редактирование 00:38:33 56 чел. ★ 4.9 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 1 час. 45 мин. [Показать отчёт]
Научился: Научился возвращать сообщение об ошибке. 
Сложности: Всё было самым сложным. Вообще всё. Голова пухнет. 1. toolWall.Checked = CurrentCell == Cell.wall; 2. x = ((Point)((PictureBox)sender).Tag).X; и т.д.... 
Комментарии: for (int x = 0; x < Math.Min(w, width); x++) for (int y = 0; y < Math.Min(h, height); y++) NewCell[x, y] = cell[x, y]; В уроке говориться, что мы можем вылезти за пределы массива, и поэтому используем Мин-функцию... А как мы можем выйти за пределы? 
6 Сокобан - Редактор - Сохранение 00:44:47 54 чел. ★ 4.9 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 3 час. 00 мин. [Показать отчёт]
Научился: Научился сохранять и загружать уровень, добавлять новый в файл с уже существующими. 
Сложности: Самое сложное было понять, как сохраняется и загружается уровень.... 
Комментарии: Так здорово, что получился готовый редактор!! 
7 Сокобан - Редактор - Улучшение 00:29:00 51 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Научился разделять строку буквой x. 
Сложности: Всё на уровне. 
Комментарии: string[] wh = toolStripTextBoxLabibntSize.Text.Split(dl, StringSplitOptions.RemoveEmptyEntries); зачем то что идет после dl? 
8 Сокобан - Создаём свои уровни 00:08:05 49 чел. ★ 4.9 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 3 час. 45 мин. [Показать отчёт]
Научился: Научился сам создавать простые уровни 
Сложности: Создавать уровни самому 
Комментарии: Было здорово попробовать поделать свои уровни в своём собственном редакторе. 
9 Сокобан - Игра - Интерфейс 00:43:45 52 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Познакомился с делегатами. 
Сложности: Самым сложным было понять, почему в функции InitPictures() panel подчеркивается красным. И почему Properties.Resources.игрок был тоже подчеркнут красным. 
Комментарии: ShowItem (new Place (5, 4), Cell.user) - вот строка и сразу 2 вопроса: 1. Мы при передаче в функцию (!!) используем new... это мы сразу в ней создаём, то что надо, аналогично for (int i=0; .... ? 2. Из-за того что user является как бы полем структуры Cell мы не можем обратиться к нему напрямую (не ставя слева точку и записывая имя структуры...)? Приятно взять, совершить простой (ну болеменее) набор действий и получить готовое окошко с кнопочкой))) Как будто уже готовая игра... Так и хочется нажать на кнопку "начать игру" и начать... игру))) 
10 Сокобан - Игра - Управление 01:06:38 45 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 3 час. 45 мин. [Показать отчёт]
Научился: Научился перехватывать стрелки клавиатуры. 
Сложности: Самое сложное было найти ошибку у себя, оставшуюся еще с редактора, когда следующий уровень, если его нет, не включало... 
Комментарии: Здорово! Теперь можно нажать на кнопку начать играть и начать!!!! .... .... Теперь надо сделать хак, чтобы можно было пропускать непройденные уровни.... 
11 Сокобан - Решалка - Тестер 00:59:55 40 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 2 час. 30 мин. [Показать отчёт]
Научился: Научился убирать лишние пробелы в строке. 
Сложности: Да вобщем-то только понять, как всё это работает. 
Комментарии: Точку переставили. "Яблоко" совмещается с точкой, а правильность решения не пишется! Зато когда "яблоко" доходит до начального места точки, выдаётся, что решение писал инвалид.... 
12 Сокобан - Решалка - Мышка 00:53:02 39 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Немножко познакомился с очередью. 
Сложности: Повторить не сложно, сложно будет всё это понять.... 
Комментарии: 1 for (int y = 0; y < h; y++) for (int x = 0; x < w; x++) зачем поменяли циклы местами? почему необходимо сначала по y считывать? 2 string[] info = lines[0].Split(); - что обозначает 0 в квадаратных скобках? знак пробела? знак переноса строки в юникоде? 3 map = new char[w, h]; - уже инициализировали map выше, зачем делать еще раз это со словом new? можно ли map = [w][h];? Вопросы есть еще, но пока не буду их задавать.... 
13 Сокобан - Решалка - Яблоко 00:44:23 38 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 2 час. 30 мин. [Показать отчёт]
Научился: Увидел, как можно разбивать программу на классы. 
Сложности: Было сложно. Очень сложно. 
Комментарии: Надо срочно (после окончания) заняться теорией ООП... И что-то писать самому... Общая идея то понятна, конечно, но детали реализации непостижимы. 
14 Сокобан - Решалка - Оптимизация 00:11:37 37 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 30 мин. [Показать отчёт]
Научился: Оптимизировать!)) 
Сложности: Ничего 
Комментарии: Ваще Абалденно!! Да!!!! Капец я напугался.. Думал это у меня лицензия закончилась)))))))))) 
15 Сокобан - Игра - Автоходы 00:42:22 36 чел. ★ 4.9 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 3 час. 15 мин. [Показать отчёт]
Научился: Всё было на базе известных знаний. 
Сложности: Самым сложным было НАЙТИ ТО, ЧТО БЫЛО ИЗМЕНЕНО в классе AppleSolver!!! 
Комментарии: Мы сделали уникальную функцию, которой нет нигде более! Сууупер. 
Видеообзор: http://www.youtube.com/watch?v=CNYTNgy_014
16 Сокобан - Редактор - На двоих 00:31:57 33 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Создавать уровни для двух игроков!! 
Сложности: Придумать свой уровень 
Комментарии: Чем дальше тем интереснее!!! У меня получилось добавить счетчик уровней! ЙЕССС!!! 
17 Сокобан - Игра - На двоих 00:15:40 33 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 30 мин. [Показать отчёт]
Научился: Научился параллельному перехвату клавиш. 
Сложности: Ничего. 
Комментарии: Блин! Неудобно так! Надо было сделать не 2 4 6 8 на нумападе, а 5 4 6 8! Ну да ладно, главное понятно, как это сделать! 
18 Сокобан - Телефон - TCP/IP протокол 00:47:44 44 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 2 час. 15 мин. [Показать отчёт]
Научился: Соединять 2 программы по TCP/IP. 
Сложности: Понять, как всё это работает. 
Комментарии: Просто супер! Полезность этого невозможно переоценить. Надеюсь в будущем улучшим, чтобы для нескольких клиентов тоже работало.  
19 Сокобан - Игра - На двоих по сети 00:56:59 32 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Соединять 2 программы по сети. 
Сложности: ВСЁ!! И особенно купить 2й компьютер и фотоаппарат для выполнения пунктов 14 и 15... Так и не получилось... 
Комментарии: про path = "3" так и не понял... Функция Recv() быстро работает и не дожидается - зависает, а path что? ....... Очень, очень сложный урок. 
20 Сокобан - Завершение 00:37:44 31 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 3 час. 00 мин. [Показать отчёт]
Научился: Узнал как в switch case можно делать "множественное наследование". 
Сложности: найти свои ошибки, когда не заработало. 
Комментарии: да! Да! ДА! ДА-А-А-А-А-А-А-А!!! Мы сделали это! Мы сделали!! Мы сделали это ВМЕСТЕ!!!! Единственное, что еще нужно добавить, так это редактор, чтобы файл levels каждый раз в ресурсы не копировать! Ну, портфолио пока нету, я с сокобана начал, в будущем добавлю и в портфолио. 
21 ФИНАЛЬНЫЙ урок. Видео-обзор проекта Сокобан 00:23:23 21 чел. ★ 5 Done
  Отчёт отправил: 1901. Neverwinter 2 Решено за 15 мин. [Показать отчёт]
Научился: Всё умел. 
Сложности: Ничего. 
Комментарии: Вот мой обзор на курс Сокобан. Надо бы поправить описание урока. А то там требуется обзор на Пасьянс домино... 
Видеообзор: http://youtu.be/4IVUSinMDbA
22 VIP. Бот для игры БАЛДА 01:22:57 4 чел. ★ 5 $
  Итого:   22 видеоурока общей продолжительностью 13 час. 48 мин. 4 чел. ★ 4.97  
  Финалисты:   zhikharevav,   Ильшат,   Максим,   Новопашин Владимир .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: подготавливать, прокачивась делать обзор своих результатов
Трудности: все сказать быстро и по существу, и все равно затянутый обзор получился покамест еще
Хочу сказать только еще в очередной раз СПАСИБО ЕВГЕНИЙ!!! А так же всем Вам однокурсникам, делайте, только делайте и у вас уже ВСЕ получается! :)
Смотреть видеозапись: http://youtu.be/sCvK9MKFskc
Научился: записывать видео
Трудности: загрузить на ютуб видео
все ок
Смотреть видеозапись: http://youtu.be/slTuoKOG8a8