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.
 
12013. Алекс Имаго
13863. Petro Sichkar
13863. Petro Sichkar
5193. Сергей
2 FREE Простое окно 00:03:02
96 чел. ★ 4.9 Free
  На этом уроке мы начинаем новый проект
и создадим JFrame приложение.
 
18042. Влад
10528. Денис
10528. Денис
8410. Дмитрий
3 Закрытие на выходе 00:03:00
91 чел. ★ 4.9 $
  На этом уроке мы настроим JFrame приложения.
Для этого пропишем необходимые параметры.
 
19022. Олег Чудновский
16653. Александр
2773. Никита
10162. Дмитрий
4 Полёт над классом 00:03:53
89 чел. ★ 4.8 $
  На этом слайде мы обсудим все поля и методы основного класса нашей запускаемой игры JavaSweeper, который наследуется от JFrame
 
18442. dASHKO
17181. Anna
18645. Sasha
16548. Hofflin
5 Пустая панель 00:02:33
88 чел. ★ 4.9 $
  На этом слайде мы добавим на нашу форму панель, установим ее размер и разместим ее по центру экрана
 
10895. Danil42Russia
6452. Кирилл Шмойлов
13665. Денис
3565. ron_in
6 Раздельная инициализация 00:02:23
88 чел. ★ 4.9 $
  На этом слайде мы займемся рефакторингом. Мы не будем добавлять новой функциональности, а просто красиво оформим то, что уже есть.
 
17948. Александр
8275. Tekashnik
8410. Дмитрий
16457. sergeykin
7 Метод рисования 00:01:59
88 чел. ★ 4.9 $
  На этом слайде мы наконец-то начнем рисовать. Создадим Paint-компонент для отображения рисунков на нашей панели и на форме.
 
10494. Алексей В.
18042. Влад
5923. Виктор Си
8066. Piligrim
8 Импорт картинок 00:01:22
86 чел. ★ 4.9 $
  На этом слайде мы добавим в наш проект картинки, которые потом будем показывать на панели во время игры.
 
15525. Владимир
7652. Петя
17548. Chipp
19022. Олег Чудновский
9 Загрузка и отображение 00:02:13
86 чел. ★ 4.9 $
  На этом слайде мы выведем картинку на панель
 
18645. Sasha
6275. Андрей
16457. sergeykin
7696. Vladimir Falejev
10 Угловая бомба 00:01:31
85 чел. ★ 4.9 $
  На этом слайде мы добавим еще пару картинок на нашу форму.
 
11197. Progresir
1901. Neverwinter 2
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
11 Константные размеры 00:02:42
85 чел. ★ 4.9 $
  На этом слайде мы добавим константы и немножко порефакторим.
 
14446. Егор
10162. Дмитрий
16653. Александр
16018. Andrej Gladkov
12 Перечисление кубиков 00:03:42
85 чел. ★ 4.9 $
  На этом слайде мы создадим перечисление Box
 
17438. Abc
17609. Андрей Гладков
8036. Владислав
8380. zhikharevav
13 Первый цикл 00:01:59
85 чел. ★ 4.9 $
  На этом слайде мы выведем все картинки на форме
 
6391. Владимир
11951. yerv
9838. VladYorkyee
18645. Sasha
14 Картинка в кубике 00:03:45
84 чел. ★ 4.9 $
  На этом слайде мы поместим картинку в каждый экземпляр перечисления Box.
 
7308. AZANIR
5193. Сергей
8380. zhikharevav
10494. Алексей В.
15 Источник ресурсов 00:01:53
79 чел. ★ 4.9 $
  На этом слайде мы сделаем загрузку картинок через систему ресурсов в языке Java
 
13665. Денис
5193. Сергей
7119. Новопашин Владимир
2146. Иван
16 Запускаемый jархив 00:02:55
73 чел. ★ 5 $
  На этом слайде мы создадим запускаемый JAR-архив для нашей программы

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