Си шарп с нуля

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

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса 512 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 512 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Через 30 дней будет списано 1,700 руб.
за продление подписки в Клуб на 30 дней +256 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления КФ.

Стоимость 1 дня: 57 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 512 руб./30 дней + 512 байт.
Последующие взносы - 1700 руб./месяц + 256 байт.



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

# Название видеоурока Решило Рейтинг Доступ
1 FREE 1. Консольная игра. Добро пожаловать! 00:06:21 46 чел. ★ 5 Free
  Дорога длиной в тысячу миль начинается с первого шага.

На этом уроке мы поговорим о предстоящем путешествии и сделаем наш первый шаг - создадим консольное приложение.
2 Марионетка 00:06:01 38 чел. ★ 5 $
  На этом слайде мы сделаем управление символом с клавиатуры.
3 Представление выделяется 00:04:02 38 чел. ★ 4.9 $
  Show must go on!
На этом слайде мы вынесем команды для работы с экранам в отдельный класс View.
4 Модель игры 00:06:57 35 чел. ★ 5 $
  На этом слайде мы выделим логику, модель в отдельный класс Game.
5 Контроллер не спешит 00:06:43 34 чел. ★ 4.9 $
  На этом слайде мы сформулируем задачи контроллера и выделим его в отдельный класс.
6 Цветной телевизор 00:03:50 32 чел. ★ 4.9 $
  На этом слайде мы создадим ещё одно представление и задействуем его в программе.
7 Видный интерфейс 00:04:45 31 чел. ★ 4.9 $
  На этом слайде мы создадим интерфейс IView и задействуем его в классе Game.
Класс Game теперь не зависит от конкретной реализации его представления.
Попробуйте сделать то же самое через абстрактный класс.
8 Игра в библиотеке 00:05:01 31 чел. ★ 4.9 $
  На этом слайде мы выделим логику игру в отдельную библиотеку.
9 2. Рефакторинг. Перечисление субъектов 00:05:24 24 чел. ★ 4.9 $
  Приступаем к рефакторингу.
На этом слайде мы составим список "главных героев", которые могут быть отображены на экране.
10 Показ героя на экране 00:06:31 22 чел. ★ 5 $
  На этом слайде мы задействуем перечисление субъектов в интерфейсе представления и во всех его реализациях.
11 Координатная структура 00:10:25 22 чел. ★ 5 $
  На этом слайде мы создадим структуру Coord для хранения координат объекта на карте.
12 Карта сокровищ 00:06:43 21 чел. ★ 5 $
  На этом слайде мы создадим класс Level, в котором будет храниться карта уровня.
Благодаря этому классы мы сможем узнать, что в какой клетке поля находится.
13 Шаги по карте 00:05:31 21 чел. ★ 5 $
  На этом слайде мы задействуем класс Level в классе логики Game
14 Генерация лабиринта 00:07:29 21 чел. ★ 5 $
  На этом слайде мы сгенерируем лабиринт и отобразим его на экране.
15 Координатный перебор 00:06:51 21 чел. ★ 5 $
  На этом слайде мы создадим в структуре Coord метод для перебора всех координат, ограниченных указанным размером
16 Подходящий размер! 00:04:50 21 чел. ★ 5 $
  На этом слайде мы добавим проверки размеров нашего уровня.
Для этого мы добавим в структуру Coord ещё один метод Coord.InSize().
17 Правила игры 00:10:18 20 чел. ★ 5 $
  На этом слайде мы добавим проверку правил игры, чтобы главный герой не мог забираться на стенки.
18 Дорога из жёлтого кирпича 00:01:42 20 чел. ★ 5 $
  На этом слайде мы разукрасим уровень - установим разные цвета для разных субъектов
19 Ищи ветра в поле 00:06:36 18 чел. ★ 5 $
  На этом слайде мы напишем метод, который найдёт месторасположение субъекта на карте.
Воспользуемся этим методом для инициализации первоначальных координат игрока.
20 Координатный рефакторинг 00:10:17 18 чел. ★ 5 $
  На этом слайде мы добавим в структуру Coord операторы == и !=,
а также добавим метод проверки нахождения координат на краю поля.
21 Собери монетки 00:17:17 18 чел. ★ 4.9 $
  На этом слайде мы добавим в игру монетки,
научимся их собирать и при этом добавлять новые.
22 3. Тестирование. Тестовый прогон 00:10:10 18 чел. ★ 5 $
  Мы приступаем к очередному этапу созданию программы - написание unit-тестов.
На этом слайде мы создадим класс тестирования для структуры Coord.
23 Тест обратной стороны Луны 00:08:20 18 чел. ★ 5 $
  На этом слайде мы напишем тесты для методов InSize() и OnSide().
24 Случайное тестирование 00:06:55 16 чел. ★ 5 $
  На этом слайде мы напишем тест для методов Coord.YieldCoords() и Coord.GetRandom()
25 Лабиринты тестирования 00:09:41 16 чел. ★ 5 $
  На этом слайде мы создадим тест для класса Level
26 Поиск монеток на поле Дураков 00:08:51 16 чел. ★ 5 $
  На этом слайде мы закончим создание тестов для класса Level
27 Внутренний мир Субъекта 00:03:26 15 чел. ★ 5 $
  На этом слайде мы изменим модификатор доступа для метода Level.SetSubject()
28 Прогулка за ручку 00:12:10 14 чел. ★ 5 $
  На этом слайде мы протестируем самый главнный класс Game в нашей библиотеке.
  Итого:   28 видеоуроков общей продолжительностью 3 час. 23 мин. 14 чел. ★ 4.98  
  Финалисты:   Trira,   Александр,   Слава,   Дмитрий Че,   Иван Воронин,   Andrew,   Дмитрий,   DimanDOS,   chip,   Tekashnik,   Александр,   vip,   Алексей В.,   Максим Лапшинов .

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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Узнал чуть больше об исключениях и научился их вызывать. Урок отличный, на все 5 звёзд!
Трудности: Да так то и ничего :)



Научился: В пространство имен LibraryGame добавили класс Subject для добавления в программу перечисления enum. nulls - ничего не передано space - пустое пространство block - стенка, куда ходить никак нельзя user1 - юзверь money - золотое руно. Цель - ограничить варианты передачи в метод указанной маской.