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.
 
5760. Мариша
14712. Программист
13863. Petro Sichkar
13863. Petro Sichkar
2 FREE Простое окно 00:03:02
96 чел. ★ 4.9 Free
  На этом уроке мы начинаем новый проект
и создадим JFrame приложение.
 
9838. VladYorkyee
8036. Владислав
14462. Роман
15525. Владимир
3 Закрытие на выходе 00:03:00
91 чел. ★ 4.9 $
  На этом уроке мы настроим JFrame приложения.
Для этого пропишем необходимые параметры.
 
10558. Иван Воронин
5426. Руслан Агафонов
3922. Александр
11868. Андрей Суслов
4 Полёт над классом 00:03:53
89 чел. ★ 4.8 $
  На этом слайде мы обсудим все поля и методы основного класса нашей запускаемой игры JavaSweeper, который наследуется от JFrame
 
13665. Денис
9457. Дмитрий
13813. Александр
24765. Anatoli
5 Пустая панель 00:02:33
88 чел. ★ 4.9 $
  На этом слайде мы добавим на нашу форму панель, установим ее размер и разместим ее по центру экрана
 
16015. Andrej Petrunev
11147. Сергей
9457. Дмитрий
17425. ser2018
6 Раздельная инициализация 00:02:23
88 чел. ★ 4.9 $
  На этом слайде мы займемся рефакторингом. Мы не будем добавлять новой функциональности, а просто красиво оформим то, что уже есть.
 
9838. VladYorkyee
16533. Андрей Шевченко
18042. Влад
17548. Chipp
7 Метод рисования 00:01:59
88 чел. ★ 4.9 $
  На этом слайде мы наконец-то начнем рисовать. Создадим Paint-компонент для отображения рисунков на нашей панели и на форме.
 
8118. 1  
10494. Алексей В.
1901. Neverwinter 2
1570. Сарапульцев Константин
8 Импорт картинок 00:01:22
86 чел. ★ 4.9 $
  На этом слайде мы добавим в наш проект картинки, которые потом будем показывать на панели во время игры.
 
11868. Андрей Суслов
17948. Александр
11481. Точка
5081. Михаил
9 Загрузка и отображение 00:02:13
86 чел. ★ 4.9 $
  На этом слайде мы выведем картинку на панель
 
16568. Игорь Тюлькин
1901. Neverwinter 2
8410. Дмитрий
6603. Sardelia
10 Угловая бомба 00:01:31
85 чел. ★ 4.9 $
  На этом слайде мы добавим еще пару картинок на нашу форму.
 
7308. AZANIR
17255. Слава
16066. Bodrik_torf
14446. Егор
11 Константные размеры 00:02:42
85 чел. ★ 4.9 $
  На этом слайде мы добавим константы и немножко порефакторим.
 
7696. Vladimir Falejev
11147. Сергей
8118. 1  
1806. Аристарх
12 Перечисление кубиков 00:03:42
85 чел. ★ 4.9 $
  На этом слайде мы создадим перечисление Box
 
8066. Piligrim
24765. Anatoli
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
13 Первый цикл 00:01:59
85 чел. ★ 4.9 $
  На этом слайде мы выведем все картинки на форме
 
9838. VladYorkyee
6452. Кирилл Шмойлов
6580. konstantin
19022. Олег Чудновский
14 Картинка в кубике 00:03:45
84 чел. ★ 4.9 $
  На этом слайде мы поместим картинку в каждый экземпляр перечисления Box.
 
6580. konstantin
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
11868. Андрей Суслов
15 Источник ресурсов 00:01:53
79 чел. ★ 4.9 $
  На этом слайде мы сделаем загрузку картинок через систему ресурсов в языке Java
 
17609. Андрей Гладков
16014. Kiril Krutiajev
10895. Danil42Russia
689. Igorenzia
16 Запускаемый jархив 00:02:55
73 чел. ★ 5 $
  На этом слайде мы создадим запускаемый JAR-архив для нашей программы

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