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

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

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

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

После взноса 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 Легендарная игра 00:02:13 103 чел. ★ 4.8 $
  Мы начинаем создание легендарной игровой программы
"Сапёр" на языке программирования Java.
2 Простое окно 00:03:02 90 чел. ★ 4.9 $
  На этом уроке мы начинаем новый проект
и создадим JFrame приложение.
3 Закрытие на выходе 00:03:00 86 чел. ★ 4.9 $
  На этом уроке мы настроим JFrame приложения.
Для этого пропишем необходимые параметры.
4 Полёт над классом 00:03:53 84 чел. ★ 4.8 $
  На этом слайде мы обсудим все поля и методы основного класса нашей запускаемой игры JavaSweeper, который наследуется от JFrame
5 Пустая панель 00:02:33 84 чел. ★ 4.9 $
  На этом слайде мы добавим на нашу форму панель, установим ее размер и разместим ее по центру экрана
6 Раздельная инициализация 00:02:23 84 чел. ★ 4.9 $
  На этом слайде мы займемся рефакторингом. Мы не будем добавлять новой функциональности, а просто красиво оформим то, что уже есть.
7 Метод рисования 00:01:59 84 чел. ★ 4.9 $
  На этом слайде мы наконец-то начнем рисовать. Создадим Paint-компонент для отображения рисунков на нашей панели и на форме.
8 Импорт картинок 00:01:22 82 чел. ★ 4.9 $
  На этом слайде мы добавим в наш проект картинки, которые потом будем показывать на панели во время игры.
9 Загрузка и отображение 00:02:13 82 чел. ★ 4.9 $
  На этом слайде мы выведем картинку на панель
10 Угловая бомба 00:01:31 81 чел. ★ 4.9 $
  На этом слайде мы добавим еще пару картинок на нашу форму.
11 Константные размеры 00:02:42 81 чел. ★ 4.9 $
  На этом слайде мы добавим константы и немножко порефакторим.
12 Перечисление кубиков 00:03:42 81 чел. ★ 4.9 $
  На этом слайде мы создадим перечисление Box
13 Первый цикл 00:01:59 81 чел. ★ 4.9 $
  На этом слайде мы выведем все картинки на форме
14 Картинка в кубике 00:03:45 80 чел. ★ 4.9 $
  На этом слайде мы поместим картинку в каждый экземпляр перечисления Box.
15 Источник ресурсов 00:01:53 75 чел. ★ 4.9 $
  На этом слайде мы сделаем загрузку картинок через систему ресурсов в языке Java
16 Запускаемый jархив 00:02:55 70 чел. ★ 5 $
  На этом слайде мы создадим запускаемый JAR-архив для нашей программы

Примечание.
При попытке запуска jar на линуксе появляется сообщение "is not marked as executable".
Необходимо запускать архив из командной строки:
  java -jar JavaSweeper.jar
Либо разрешить исполнение этого файла, чтобы запускать по клику мышкой:
 chmod +x JavaSweeper.jar
17 Карта классных сокровищ 00:04:48 67 чел. ★ 4.9 $
  На этом слайде мы разберем UML-схему нашего проекта
18 Наши координаты 00:03:24 62 чел. ★ 5 $
  На этом слайде мы создадим класс Coord и задействуем его в нашей программе
19 Статичная граница 00:03:12 62 чел. ★ 4.9 $
  На этом слайде мы создадим класс Ranges, который будет использоваться во многих классах нашего проекта и позволит задавать глобальные параметры и перебор всех координат.
20 Установка размеров 00:04:22 61 чел. ★ 4.9 $
  На этом слайде мы создадим класс Range с двумя статичными методами для установки и получения размеров нашего поля.
21 Полный список 00:04:28 57 чел. ★ 4.9 $
  На этом слайде мы добавим в класс Range список всех координат нашего поля и будем его использовать для перебора всех клеток
22 Радуга картинок 00:03:18 54 чел. ★ 4.9 $
  На этом слайде мы добавим иконку нашей программе и немножко пошалим с отображением картинок на экране
23 Фасадный класс 00:02:05 54 чел. ★ 4.9 $
  На этом слайде мы начнем создавать фасадный класс Game и напишем первые два метода этого класса
24 Игровая координата 00:04:07 54 чел. ★ 4.9 $
  На этом слайде мы создадим класс Game и реализуем в нем конструктор, а также метод getBox(), который по заданным координатам возвращает, что должно быть в указанной клетке нашего поля.
25 Матрица мира 00:04:32 53 чел. ★ 4.9 $
  На этом слайде мы создадим класс Matrix для хранения всех элементов нашего игрового поля
26 За гранью видимого 00:04:49 52 чел. ★ 4.9 $
  На этом слайде мы добавим в класс Matrix два метода - геттер и сеттер для получения и установки полей нашей игры
27 Бомбанутый класс 00:02:55 50 чел. ★ 5 $
  На этом слайде мы поговорим о классе Bomb, который будет использоваться для хранения нижнего слоя нашего поля, где находятся бомбы и числа вокруг них
28 Тестовая бомба 00:05:11 51 чел. ★ 5 $
  На этом слайде мы начнем создавать класс Bomb
29 Случайные бомборазмещения 00:04:35 51 чел. ★ 5 $
  На этом слайде мы разместим бомбы в случайных местах на нашей карте
30 Сравнение координат 00:03:09 50 чел. ★ 5 $
  На этом слайде мы исправим несколько ошибок и добавим в класс Coord метод для сравнения двух координат
31 Ограда из единиц 00:06:29 50 чел. ★ 4.9 $
  На этом слайде мы научимся проставлять единицы вокруг каждой бомбы
32 Следующая цифра 00:04:16 48 чел. ★ 5 $
  На этом слайде мы будем увеличивать цифры вокруг каждой новой размещенной бомбы
33 Дважды в одну воронку 00:05:52 47 чел. ★ 5 $
  На этом слайде мы исключим попадание двух бомб в одну воронку
34 Флаг над классом 00:09:18 46 чел. ★ 5 $
  На этом слайде мы перейдем к верхнему уровню нашей абстракции - классу Flag.
35 Королевская траншея 00:05:02 46 чел. ★ 5 $
  На этом слайде мы создадим методы start() и get() в класс Flag.
36 Клавишные инструменты 00:04:16 46 чел. ★ 5 $
  На этом слайде мы создадим два метода в классе Game - pressLeftButton() и pressRightButton()
37 Мышечный адаптер 00:06:27 45 чел. ★ 5 $
  На этом слайде мы, наконец, добавим интерактив в нашу программу и зарегистрируем адаптер мыши для опроса левой и правой кнопки.
38 Схема правой педали 00:02:24 45 чел. ★ 5 $
  На этом слайде мы разберем алгоритм нажатия правой кнопки мышки в игре JavaSweeper
39 Смена флагов 00:03:36 45 чел. ★ 5 $
  На этом слайде мы реализуем установку и удаление флажков и напишем реализацию функции pressRightButton()
40 Добро пожаловать! 00:04:24 45 чел. ★ 5 $
  На этом слайде мы добавим строчку состояния в нашу программу
41 Недетские состояния 00:02:52 45 чел. ★ 5 $
  На этом слайде мы создадим перечисление GameState, в котором будет храниться состояние игры
42 Актуальное информирование 00:06:07 45 чел. ★ 5 $
  На этом слайде мы сформируем сообщение о текущем статусе игры в зависимости от текущего состояния и выведем его на экран
43 Алгоритм открывашки 00:07:43 45 чел. ★ 5 $
  На этом слайде мы займемся обработкой нажатия левой кнопки мышки
44 Выбор из выбора 00:05:05 45 чел. ★ 5 $
  На этом слайде мы напишем метод openBox(), который перебирает все возможные состояния клеток и в зависимости от этого выполняет ту или иную операцию.
45 Нулевая рекурсия 00:04:01 45 чел. ★ 5 $
  На этом слайде мы рекурсивно откроем все клетки вокруг нулей.
46 Учёт зарытых флагов 00:04:19 45 чел. ★ 5 $
  На этом слайде мы будем считать количество флажков и закрытых клеток на нашем поле
47 Телеграмма о флажках 00:03:28 45 чел. ★ 5 $
  На этом слайде мы выведем сообщение пользователю, сколько флажков и сколько бомб есть на экране
48 День Победы! 00:05:25 45 чел. ★ 5 $
  На этом слайде мы проверим, а не победили ли мы!
49 Первая ошибка сапёра 00:06:13 45 чел. ★ 5 $
  На этом слайде мы зафиксируем поражение, когда игрок подорвался на бомбе.
50 Открываем карты 00:07:26 43 чел. ★ 5 $
  На этом слайде мы покажем расположение бомб после проигрыша.
51 Цифровой помощник сапёра 00:11:31 44 чел. ★ 5 $
  На этом слайде мы напишем помощник, который помогает открывать заведомо безопасные клетки.
52 Финальный аккорд 00:17:49 35 чел. ★ 5 $
  На этом видео мы проанализируем всё, что было сделано - пройдёмся по всему коду программы.
Также поговорим о создании Бота для игры Сапёр - как это можно сделать.
Ваше задание - записать видеообзор созданной игры, выложить
на youtube и разместить ссылку на видео в описании.
  Итого:   52 видеоурока общей продолжительностью 3 час. 50 мин. 35 чел. ★ 4.95  
  Финалисты:   Никита,   Владислав,   Иван Воронин,   1  ,   Александр Р.,   Danil42Russia,   Pavlin,   Андрей Шевченко,   Neverwinter 2,   Сергей Стефаненко,   Александр,   Михаил,   aNNiPAk,   Сергей,   VladYorkyee,   chokayes,   Александр,   Tekashnik,   Денис,   Vladimir Falejev,   Yefim,   Иван,   Новопашин Владимир,   sergeykin,   FireWolf,   Кирилл Шмойлов,   yerv,   Нюта,   Anna,   Алексей В.,   AZANIR,   Дмитрий,   zhikharevav,   Dmitry Sinitsin,   Андрей Гладков .

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





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

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

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

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


Научился: Скажу следующее: 1) Автор курса очень хорошо и доходчиво все объясняет 2) Проблем с написание никаких не возникло, это следует из пункта 1. 3) Способ предложенный автором по изучению языка под его руководством очень хорошо. Так как реально экономит время на изучение т.к. дает много базовой информации на примерах. Расширить которую уже достаточно легко используя интернет и книги т.к. для новой информации уже заложена основа. 4) Кратко о себе. Программирую 1С. Ранее в школьные годы турбопаскаль, бейсик, немного с++ и ассемблер. Потом сразу перешел на 1С т.к. на этом поприще было много хорошо оплачиваемой работы. 5) Стал изучать с# и java по причине того, что все больше и больше размываются границы по требованию к программисту прикладных направлений и необходимо хорошо владеть еще и другими часто используемыми языками. Планирую и далее здесь набираться опыта т.к. со свободным временем трудности, а здесь есть возможность быстро и под грамотным руководством заложить все необходимые основы



Научился: Краткость - залог успеха!. Этот ПОДАРОК мне очень понравился! Во время создания этой программы мне больше всего понравилось то, что мы делали её по правилам ООП. Для себя я открыл вариант создания функций, названия которых будут отображать смысл их работы. Пожалуй наиболее приятным было завершение этого курса, настроение очень сильно поднялось! Ещё раз ОГРОМНОЕ спасибо!
Трудности: Не в первый раз делаю обзоры, поэтому ничего :)