Как создать программу для компьютера

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

Продажа пакета приостановленна

Купить этот пакет можно только во время акций.

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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:05:24 19 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 10 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: ничего 
Комментарии: Отличный вебинар был =) 
2 Блок-схема 00:09:09 17 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 30 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: найти время 
Комментарии: разделил схему на 3 части, в каждой части основные моменты 
3 Окно проекта 00:13:51 16 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: использовать IntelliJ IDEA для разработки, создание базовой формы 
Сложности: ничего 
Комментарии: Отличное IDE, есть опыт использования Eclipse и Android Studio 
4 Радуга картинок 00:24:07 13 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 1 час. 10 мин. [Показать отчёт]
Научился: создавать кастомные панели, в которых можно рисовать 
Сложности: ничего 
Комментарии: создал кастомный класс панели, перенёс туда цикл рисования текстур боксиков добавил панель в форму тем самым нет необходимости в отступах и лэйбл отображается корректно внизу экрана =) з.ы. не мог, чтобы не сделать так, как планировалось! супер урок, идём дальше... 
5 Карта местности 00:18:01 13 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 30 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: найти время 
Комментарии: нужно создать второй массив для хранения данных о том, открыта клетка или нет, этот вариант предлагал на вебинаре и его же использовали в версии на C#, так что моё мнение не изменилось, а только подкрепилось =) 
6 Философия сапёра 00:09:44 12 чел. ★ 4.8 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: ничего новому 
Сложности: ничего 
Комментарии: То, что жеребёнок рождается и почти сразу начинает ходить, а человек рождается и по сути ничего пока не может, по той же причине рыбки после рождения сразу умеют дышать под водой, чего не может ни жеребёнок ни человек. Суть простая - в каждый объект мироздания закладывается не только "операционка" дос, виндоус, мак ось или *никс, но и уже присутствуют самые 2 важные вещи: начальная аппаратная комплектация и биос. от этого и зависит то, что в последствии потянет данная система, какой объём памяти и скорость процессора, какие средства ввода/вывода. Многие животные имеют шерсть, чтобы не замёрзнуть, когти и бивни как оружие, жабры для возможности дышать под водой, крылья чтобы парить в небесах, человеку же дан разум, чтобы придумать акваланг для дыхания под водой, самолёт для полётов в небе, корабль для плавания по воде и т.д. и т.п. поэтому сравнивать разные объекты бесполезно, каждый выполняет свою задачу, а вместе они создают баланс бесконечности =) 
7 Мины на панели 00:12:02 12 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 5 мин. [Показать отчёт]
Научился: ничего нового 
Сложности: ничего 
Комментарии: код был готов ещё до вебинара, поэтому просмотрел видео на скорости х2 и залил отчёт =) жаль что не удалось состыковаться и провести этот урок, много чего рассказать хотелось, поэтому пишут вкратце тут: решил я изучить вопрос с панелью после того, как на вебинаре Магистр пытался использовать paintComponent, но не вышло и использовали paint, а позже в одном из отчётов кто-то заметил, что игровым полем замазали statusBar и его стало не видно, попытавшись увеличить размер формы, ничего не вышло и я решил немного изучить вопрос, ушло на это не много времени, но зато узнал, что как и в C#, тут есть тоже панель, как раз то, что надо, провёл пару тестов и вуаля, и марджины не нужны и статусбар видно и метод pack помогает подогнать размеры формы, отличный урок получился. Спасибо, Евгений Витольдович! з.ы. pack сработал, потому что setResizable должен быть раньше под коду, когда перенесли его выше, сразу сработало как надо 
8 Мышечный адаптер 00:12:30 12 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 20 мин. [Показать отчёт]
Научился: повторение пройденного 
Сложности: ничего 
Комментарии: урок понравился тем, что не использовали для формирования поля боксики как было на C#, а сразу напрямую рисуем на панели, что ускоряет работу приложения в разы, идём дальше 
9 Правый флаг 00:15:44 11 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 30 мин. [Показать отчёт]
Научился: повторение пройденного 
Сложности: найти время 
Комментарии: в ротацию правой клавиши добавил вопросик обновление статусбара перенёс в отдельный метод в статусбаре видно размер поля и сколько установлено флажков из доступных (доступные это количество мин на поле) как обычно, если флажки кончились, то ставятся только вопросики =) 
10 Открывашка 00:16:46 11 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 1 час. 00 мин. [Показать отчёт]
Научился: повторил портирования с одного языка на другой 
Сложности: найти время 
Комментарии: добавил счётчик мин и флажков для отображения в статусбаре добавлена заготовка игровых фаз (игра, проигрыш, победа) генерация мин на поле происходит после первого клика первый клик никогда не попадает на мину createMap() переименовал в placeMines(), добавил необходимые параметры рефакторинг метода placeMines(), так же добавил комментарии addOne() переименовал в placeCounter() добавил метод onMap() добавлен метод обработки клика левой клавиши мыши методы rightButton() и leftButton() сделал приватными для открывания игрового поля добавлены 2 новых метода: changeTop() и changeMap() с необходимыми параметрами добавлен метод openCellsAround() для анализа и открытия клеток вокруг добавлен подсчёт неверно установленных флагов, при открытии отображается ложная мина рефакторинг обработки нажатий добавлена проверка, все ли пустые клетки открыты (в будущем для обработки победы) 
11 Волшебный метод 00:23:39 11 чел. ★ 4.8 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 3 час. 30 мин. [Показать отчёт]
Научился: повторению пройденного 
Сложности: остановиться допиливать игрушку =) 
Комментарии: Добавлен рекурсивный метод открывания соседних пустых клеток. Добавлено описание фаз игры. Добавлен метод открывания всех мин и отображение ложных мин при подрыве. Если подорвался на мине, под ней появляется красный фон, открываются все мины, открываются ложные мины и игра переключается в фазу поражения. Если открыты все пустые ячейки, игра переключается в фазу победы и помечаются все мины флажками. Добавлена заготовка типа сложности, но пока только Профессионал. Рефактор инициализации игрового поля перед началом игры. Добавлен метод startGame(), вызывается если проиграл или выиграл. Добавлен метод updateTitle() для обновления информации в тайтле. Добавлен метод cellClickCheck() для проверки фазы игры (если проиграл/выиграл начать игру с нуля). Пока идёт игра, обрабатываются нажатия левой и правой клавиш мыши, как только нарвался на мину или победил, обрабатывается только средняя клавиша мыши, запускающая игру с начала. Теперь в тайтле отображается сообщение о победе/поражении и информация о том, как начать сначала. Добавлен счётчика времени, активируется при первом клике по закрытому полю, останавливается при победе/поражении. В тайтле отображается сообщение о победе/поражении и информация о том, как начать сначала. Так же в тайтле отображается затраченного времени до победы/поражения, пока игра не начата заново.  
12 Условие победы! 00:19:06 11 чел. ★ 5 Done
  Отчёт отправил: 10558. Иван Воронин Решено за 1 час. 30 мин. [Показать отчёт]
Научился: работать со звуком в Java 
Сложности: найти время 
Комментарии: Добавлен звук тиканья таймера. Добавлен звук подрыва на мине. Текстуры перенесены в папку gfx. Звуковые эффекты перенесены в папку snd. Мин уменьшено с 99 до 40, для удобства тестирования. з.ы. так как задания текущего урока я выполнил в прошлом уроке, пришлось добавить в игру звук и порефакторить, чтобы не заливать пару скринов и писать, что всё это сделал ещё на прошлом уроке =) 
Видеообзор: https://youtu.be/r05eSApCHjI
  Итого:   12 видеоуроков общей продолжительностью 3 час. 00 мин. 11 чел. ★ 4.97  
  Финалисты:   Дмитрий,   Алексей В.,   Константин,   Новопашин Владимир,   Елена,   Иван Воронин,   Максим Лапшинов,   Сергей Соколов,   Tekashnik,   Babenko Oleg,   Reinis Stacevič .

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Играть с цыфорками
Трудности: Цыфорки
Всё отлично
Научился: Писать рекурсивные процедуры на Java
Трудности: ничего
всё отлично!