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

Формула программиста

основатель — Волосатов Евгений Витольдович

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

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

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

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

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

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

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


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

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

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

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

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







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Легендарная игра 00:02:13
1 тест
109 чел. ★ 4.8 Free
  Мы начинаем создание легендарной игровой программы
"Сапёр" на языке программирования Java.
 
17785. Антон
10528. Денис
9913. vip
8036. Владислав
2 FREE Простое окно 00:03:02
96 чел. ★ 4.9 Free
  На этом уроке мы начинаем новый проект
и создадим JFrame приложение.
 
16014. Kiril Krutiajev
19022. Олег Чудновский
1901. Neverwinter 2
1806. Аристарх
3 Закрытие на выходе 00:03:00
91 чел. ★ 4.9 $
  На этом уроке мы настроим JFrame приложения.
Для этого пропишем необходимые параметры.
 
16653. Александр
689. Igorenzia
10895. Danil42Russia
6391. Владимир
4 Полёт над классом 00:03:53
89 чел. ★ 4.8 $
  На этом слайде мы обсудим все поля и методы основного класса нашей запускаемой игры JavaSweeper, который наследуется от JFrame
 
11589. Yefim
16548. Hofflin
8410. Дмитрий
18442. dASHKO
5 Пустая панель 00:02:33
88 чел. ★ 4.9 $
  На этом слайде мы добавим на нашу форму панель, установим ее размер и разместим ее по центру экрана
 
7119. Новопашин Владимир
10494. Алексей В.
13665. Денис
11582. Родион
6 Раздельная инициализация 00:02:23
88 чел. ★ 4.9 $
  На этом слайде мы займемся рефакторингом. Мы не будем добавлять новой функциональности, а просто красиво оформим то, что уже есть.
 
16015. Andrej Petrunev
11147. Сергей
16496. Pavlin
16548. Hofflin
7 Метод рисования 00:01:59
88 чел. ★ 4.9 $
  На этом слайде мы наконец-то начнем рисовать. Создадим Paint-компонент для отображения рисунков на нашей панели и на форме.
 
7119. Новопашин Владимир
11481. Точка
18042. Влад
10494. Алексей В.
8 Импорт картинок 00:01:22
86 чел. ★ 4.9 $
  На этом слайде мы добавим в наш проект картинки, которые потом будем показывать на панели во время игры.
 
11147. Сергей
13665. Денис
16018. Andrej Gladkov
16014. Kiril Krutiajev
9 Загрузка и отображение 00:02:13
86 чел. ★ 4.9 $
  На этом слайде мы выведем картинку на панель
 
459. Сергей Сергеевич
7652. Петя
10162. Дмитрий
16018. Andrej Gladkov
10 Угловая бомба 00:01:31
85 чел. ★ 4.9 $
  На этом слайде мы добавим еще пару картинок на нашу форму.
 
5923. Виктор Си
10080. FireWolf
14393. Aleksei Matveev
7652. Петя
11 Константные размеры 00:02:42
85 чел. ★ 4.9 $
  На этом слайде мы добавим константы и немножко порефакторим.
 
1232. Фомичева Наталья
7119. Новопашин Владимир
11868. Андрей Суслов
10895. Danil42Russia
12 Перечисление кубиков 00:03:42
85 чел. ★ 4.9 $
  На этом слайде мы создадим перечисление Box
 
16653. Александр
16018. Andrej Gladkov
7696. Vladimir Falejev
4720. Нюта
13 Первый цикл 00:01:59
85 чел. ★ 4.9 $
  На этом слайде мы выведем все картинки на форме
 
17438. Abc
5485. Эдуард
8410. Дмитрий
2146. Иван
14 Картинка в кубике 00:03:45
84 чел. ★ 4.9 $
  На этом слайде мы поместим картинку в каждый экземпляр перечисления Box.
 
8275. Tekashnik
11147. Сергей
17609. Андрей Гладков
1570. Сарапульцев Константин
15 Источник ресурсов 00:01:53
79 чел. ★ 4.9 $
  На этом слайде мы сделаем загрузку картинок через систему ресурсов в языке Java
 
19022. Олег Чудновский
986. Антон Лазарец
17609. Андрей Гладков
13131. Сергей Стефаненко
16 Запускаемый jархив 00:02:55
73 чел. ★ 5 $
  На этом слайде мы создадим запускаемый JAR-архив для нашей программы

Примечание.
При попытке запуска jar на линуксе появляется сообщение "is not marked as executable".
Необходимо запускать архив из командной строки:
  java -jar JavaSweeper.jar
Либо разрешить исполнение этого файла, чтобы запускать по клику мышкой:
 chmod +x JavaSweeper.jar
 
7308. AZANIR
11147. Сергей
4753. Андрей
1570. Сарапульцев Константин
17 Карта классных сокровищ 00:04:48
70 чел. ★ 4.9 $
  На этом слайде мы разберем UML-схему нашего проекта
 
8066. Piligrim
10080. FireWolf
8275. Tekashnik
7696. Vladimir Falejev
18 Наши координаты 00:03:24
65 чел. ★ 5 $
  На этом слайде мы создадим класс Coord и задействуем его в нашей программе
 
7119. Новопашин Владимир
5193. Сергей
10895. Danil42Russia
10895. Danil42Russia
19 Статичная граница 00:03:12
65 чел. ★ 4.9 $
  На этом слайде мы создадим класс Ranges, который будет использоваться во многих классах нашего проекта и позволит задавать глобальные параметры и перебор всех координат.
 
12013. Алекс Имаго
7119. Новопашин Владимир
16457. sergeykin
13131. Сергей Стефаненко
20 Установка размеров 00:04:22
64 чел. ★ 4.9 $
  На этом слайде мы создадим класс Range с двумя статичными методами для установки и получения размеров нашего поля.
 
17609. Андрей Гладков
8275. Tekashnik
6452. Кирилл Шмойлов
16014. Kiril Krutiajev
21 Полный список 00:04:28
60 чел. ★ 5 $
  На этом слайде мы добавим в класс Range список всех координат нашего поля и будем его использовать для перебора всех клеток
 
16653. Александр
13665. Денис
10558. Иван Воронин
16457. sergeykin
22 Радуга картинок 00:03:18
57 чел. ★ 4.9 $
  На этом слайде мы добавим иконку нашей программе и немножко пошалим с отображением картинок на экране
 
7696. Vladimir Falejev
13665. Денис
13665. Денис
10558. Иван Воронин
23 Фасадный класс 00:02:05
57 чел. ★ 4.9 $
  На этом слайде мы начнем создавать фасадный класс Game и напишем первые два метода этого класса
 
1570. Сарапульцев Константин
8275. Tekashnik
14446. Егор
9457. Дмитрий
24 Игровая координата 00:04:07
57 чел. ★ 4.9 $
  На этом слайде мы создадим класс Game и реализуем в нем конструктор, а также метод getBox(), который по заданным координатам возвращает, что должно быть в указанной клетке нашего поля.
 
13131. Сергей Стефаненко
5081. Михаил
17609. Андрей Гладков
9752. chokayes
25 Матрица мира 00:04:32
56 чел. ★ 4.9 $
  На этом слайде мы создадим класс Matrix для хранения всех элементов нашего игрового поля
 
459. Сергей Сергеевич
16457. sergeykin
1570. Сарапульцев Константин
12013. Алекс Имаго
26 За гранью видимого 00:04:49
55 чел. ★ 4.9 $
  На этом слайде мы добавим в класс Matrix два метода - геттер и сеттер для получения и установки полей нашей игры
 
459. Сергей Сергеевич
13863. Petro Sichkar
13863. Petro Sichkar
17181. Anna
27 Бомбанутый класс 00:02:55
53 чел. ★ 5 $
  На этом слайде мы поговорим о классе Bomb, который будет использоваться для хранения нижнего слоя нашего поля, где находятся бомбы и числа вокруг них
 
17425. ser2018
17348. Дмитрий
6452. Кирилл Шмойлов
17947. Dmitry Sinitsin
28 Тестовая бомба 00:05:11
54 чел. ★ 5 $
  На этом слайде мы начнем создавать класс Bomb
 
16548. Hofflin
7119. Новопашин Владимир
6391. Владимир
11589. Yefim
29 Случайные бомборазмещения 00:04:35
54 чел. ★ 5 $
  На этом слайде мы разместим бомбы в случайных местах на нашей карте
 
13131. Сергей Стефаненко
4720. Нюта
11951. yerv
11589. Yefim
30 Сравнение координат 00:03:09
53 чел. ★ 5 $
  На этом слайде мы исправим несколько ошибок и добавим в класс Coord метод для сравнения двух координат
 
10895. Danil42Russia
13863. Petro Sichkar
16014. Kiril Krutiajev
17425. ser2018
31 Ограда из единиц 00:06:29
53 чел. ★ 4.9 $
  На этом слайде мы научимся проставлять единицы вокруг каждой бомбы
 
24765. Anatoli
8118. 1  
12013. Алекс Имаго
16653. Александр
32 Следующая цифра 00:04:16
51 чел. ★ 5 $
  На этом слайде мы будем увеличивать цифры вокруг каждой новой размещенной бомбы
 
13131. Сергей Стефаненко
16533. Андрей Шевченко
16548. Hofflin
13863. Petro Sichkar
33 Дважды в одну воронку 00:05:52
49 чел. ★ 5 $
  На этом слайде мы исключим попадание двух бомб в одну воронку
 
17425. ser2018
16457. sergeykin
2773. Никита
17609. Андрей Гладков
34 Флаг над классом 00:09:18
48 чел. ★ 5 $
  На этом слайде мы перейдем к верхнему уровню нашей абстракции - классу Flag.
 
16496. Pavlin
9096. Александр Р.
2146. Иван
10162. Дмитрий
35 Королевская траншея 00:05:02
48 чел. ★ 5 $
  На этом слайде мы создадим методы start() и get() в класс Flag.
 
7308. AZANIR
1232. Фомичева Наталья
15525. Владимир
9096. Александр Р.
36 Клавишные инструменты 00:04:16
48 чел. ★ 5 $
  На этом слайде мы создадим два метода в классе Game - pressLeftButton() и pressRightButton()
 
6391. Владимир
16548. Hofflin
17181. Anna
8118. 1  
37 Мышечный адаптер 00:06:27
47 чел. ★ 5 $
  На этом слайде мы, наконец, добавим интерактив в нашу программу и зарегистрируем адаптер мыши для опроса левой и правой кнопки.
 
10895. Danil42Russia
10895. Danil42Russia
9096. Александр Р.
17947. Dmitry Sinitsin
38 Схема правой педали 00:02:24
47 чел. ★ 5 $
  На этом слайде мы разберем алгоритм нажатия правой кнопки мышки в игре JavaSweeper
 
9752. chokayes
17348. Дмитрий
17181. Anna
9838. VladYorkyee
39 Смена флагов 00:03:36
47 чел. ★ 5 $
  На этом слайде мы реализуем установку и удаление флажков и напишем реализацию функции pressRightButton()
 
10080. FireWolf
2146. Иван
1901. Neverwinter 2
7119. Новопашин Владимир
40 Добро пожаловать! 00:04:24
47 чел. ★ 5 $
  На этом слайде мы добавим строчку состояния в нашу программу
 
16496. Pavlin
16457. sergeykin
3922. Александр
16653. Александр
41 Недетские состояния 00:02:52
47 чел. ★ 5 $
  На этом слайде мы создадим перечисление GameState, в котором будет храниться состояние игры
 
16066. Bodrik_torf
10162. Дмитрий
16014. Kiril Krutiajev
16496. Pavlin
42 Актуальное информирование 00:06:07
47 чел. ★ 5 $
  На этом слайде мы сформируем сообщение о текущем статусе игры в зависимости от текущего состояния и выведем его на экран
 
13131. Сергей Стефаненко
8380. zhikharevav
9096. Александр Р.
2146. Иван
43 Алгоритм открывашки 00:07:43
47 чел. ★ 5 $
  На этом слайде мы займемся обработкой нажатия левой кнопки мышки
 
8380. zhikharevav
6391. Владимир
9838. VladYorkyee
10895. Danil42Russia
44 Выбор из выбора 00:05:05
47 чел. ★ 5 $
  На этом слайде мы напишем метод openBox(), который перебирает все возможные состояния клеток и в зависимости от этого выполняет ту или иную операцию.
 
17425. ser2018
16014. Kiril Krutiajev
13131. Сергей Стефаненко
8118. 1  
45 Нулевая рекурсия 00:04:01
47 чел. ★ 5 $
  На этом слайде мы рекурсивно откроем все клетки вокруг нулей.
 
10494. Алексей В.
16066. Bodrik_torf
11951. yerv
8118. 1  
46 Учёт зарытых флагов 00:04:19
47 чел. ★ 5 $
  На этом слайде мы будем считать количество флажков и закрытых клеток на нашем поле
 
10162. Дмитрий
8275. Tekashnik
10080. FireWolf
9838. VladYorkyee
47 Телеграмма о флажках 00:03:28
47 чел. ★ 5 $
  На этом слайде мы выведем сообщение пользователю, сколько флажков и сколько бомб есть на экране
 
7119. Новопашин Владимир
16457. sergeykin
16653. Александр
13131. Сергей Стефаненко
48 День Победы! 00:05:25
47 чел. ★ 5 $
  На этом слайде мы проверим, а не победили ли мы!
 
2146. Иван
1901. Neverwinter 2
13665. Денис
6391. Владимир
49 Первая ошибка сапёра 00:06:13
47 чел. ★ 5 $
  На этом слайде мы зафиксируем поражение, когда игрок подорвался на бомбе.
 
9752. chokayes
10558. Иван Воронин
9838. VladYorkyee
986. Антон Лазарец
50 Открываем карты 00:07:26
45 чел. ★ 5 $
  На этом слайде мы покажем расположение бомб после проигрыша.
 
2146. Иван
8118. 1  
16653. Александр
10558. Иван Воронин
51 Цифровой помощник сапёра 00:11:31
46 чел. ★ 5 $
  На этом слайде мы напишем помощник, который помогает открывать заведомо безопасные клетки.
 
10494. Алексей В.
10080. FireWolf
9752. chokayes
16014. Kiril Krutiajev
52 Финальный аккорд 00:17:49
35 чел. ★ 5 $
  На этом видео мы проанализируем всё, что было сделано - пройдёмся по всему коду программы.
Также поговорим о создании Бота для игры Сапёр - как это можно сделать.
Ваше задание - записать видеообзор созданной игры, выложить
на youtube и разместить ссылку на видео в описании.
 
11147. Сергей
17609. Андрей Гладков
8036. Владислав
11951. yerv
  Итого:   52 видеоурока 3 час. 50 мин.
1 тест
35 чел. ★ 4.96  
  Финалисты:   Никита,   Владислав,   Иван Воронин,   1  ,   Александр Р.,   Danil42Russia,   Pavlin,   Андрей Шевченко,   Neverwinter 2,   Сергей Стефаненко,   Александр,   Михаил,   Hofflin,   Сергей,   VladYorkyee,   chokayes,   Александр,   Tekashnik,   Денис,   Vladimir Falejev,   Yefim,   Иван,   Новопашин Владимир,   sergeykin,   FireWolf,   Кирилл Шмойлов,   yerv,   Нюта,   Anna,   Алексей В.,   AZANIR,   Дмитрий,   zhikharevav,   Dmitry Sinitsin,   Андрей Гладков .

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





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

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

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

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


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



Научился: Просьба за то, что не снял видеообзор камни не кидать xD Была проделана большая работа. Данный курс был разбит на короткие уроки в котором не было воды. Его можно сравнить с хороший книгой, прочитав один раз, хочется прочитать опять. Но понимая, что вложил 0 усилий что бы сделать данную игру, приходят мысли что надо сесть осмыслить и сделать самому. Спасибо Евгению Витольдовичу за данный курс. На этом всё)