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

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

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

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

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

После взноса  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:05:24
1 тест
23 чел. ★ 4.8 Done
  Мы начинаем создание игры "MineSweeper" на языке Java.
В этом уроке мы поиграем в эту игру и подготовим картинки.
Рекомендую самостоятельно нарисовать блок-схему игры.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 14 мин. [Показать отчёт]
Научился: InellijIdea найдена в курсе, как IDE для выполнения уроков - надеюсь здесь не будет сюрпризов, как вчера, когда класс локализации курсора не отрабатывал как в уроке Со второго раза удалось открыть поле и не подорваться 
2 Блок-схема 00:09:09
1 тест
19 чел. ★ 5 Done
  На этом уроке мы составим блок-схему программы.
Что происходит в игре и как это всё связано друг с другом.
Обязательно нарисуйте схему от руки или на сайте draw.io.
В блок-схеме не хватает одного важно момента -
найдите, чего именно и дорисуйте на схеме.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 25 мин. [Показать отчёт]
Научился: paint в Java перерисовывает всю палитру, а не отдельные элементы, как в дотнет Блок-схема позволяет абстрагироваться от деталей и сформировать общую картину требуемого от программы draw.io - суперресурс для блок-схем, если нужно что-то приличнее каракулей от руки ) 
3 Окно проекта 00:13:51
1 тест
18 чел. ★ 5 Done
  На этом уроке мы начнём создание программы.
Создадим новый пустой Java-проект и создадим форму.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 46 мин. [Показать отчёт]
Научился: в Java есть 2 основных пакета для создания графических интерфейсов (Graphics User Interface): Abstract Windows Toolkit (AWT, использует виджеты операционной системы) и Swing. Для группировки компонент интерфейса используются контейнеры (Container) Для создания основного контейнера для приложения наиболее распространенный контейнер - это JFrame (есть еще JWindows и JApplet) Результат работы JFrame - на иллюстрациях к отчету 
4 Радуга картинок 00:24:07
1 тест
16 чел. ★ 5 Done
  На этом уроке мы загрузим в проект все картинки.
Проинициализируем массив с картинками.
Напишем функцию paint() для их отображения.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 2 час. 0 мин. [Показать отчёт]
Научился: https://prog-cpp.ru/miner/ - картинки доступны здесь Прозрачностью они уже не наделены, потому можно просто посмотреть на борьбу Евгения Витольдовича с непослушными транспарентными картинками ) Вывод на форму картинок по вертикали начинается с края формы, оттого требуется дополнительный марджин либо паддинг Вывод на форму осуществляется методом drawImage графики Graphics g 
5 Карта местности 00:18:01
16 чел. ★ 5 Done
  На этом уроке мы создадим матрицу map,
в которую случайным образом разместим мины.
Потом напишем функцию addOne() для проставки
цифр вокруг мин и отобразим это всё на экране.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 42 мин. [Показать отчёт]
Научился: по памяти от курса майнсвипера, функционал игры был разделен на «этажи», на надводный слой, видимый всегда и на подводный слой, где могли быть мины Заполнение минами сейчас сделали рандомом, вокруг них в цикле обходятся все клетки и в них добавляется по единичке, единицы суммируются, если мины рядом 
6 Философия сапёра 00:09:44
15 чел. ★ 4.9 Done
  На этом уроке мы возьмём новые картинки,
сконвертируем их в jpg чтобы убрать прозрачность.
После этого пофилософствуем об аналогии
компьютерного и реального мира.

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: не важно, что ты скажешь собеседнику, важно что он услышит и тем более поймет История развития науки подтверждает, что гранит был крепок и давались победы никак не на блюдечке с голубой каемочкой Главный тормоз на пути развития Человека - его лень. Действительно, проще делать привычные манипуляции руками, чем попробовать сформировать новую картину мироздания и оседлать эту действительность. Кто в здравом уме, по времена Ивана Великого мог подумать, что граждане массово станут летать по небу и ездить в туристические маршруты на Северный полюс? За одни слова такие полагалось отлучение от всего чего возможно и всяческие ай-яй-яи. А тут дожили до того, что от большого ума уже от самолетов призывают отказываться) Океан, врут небось, изучен на 5 процентов всей своей площади под водой - это сколько еще не открыто и не понято. Потенциал огромен, но лень, но мракобесие и призывы поворачивать назад. А тащить себя к знаниям, как тот барон Мюнхаузен - это человека должна тема зацепить, войти как говорят младые, и воодушевить. Тогда прорыв возможен, но не гарантирован. Смотрю за «прогрессом» мобильников последние годы - ничего принципиально нового, одни украшательства и точение воды в ступе. Та же песня с автомобилями - из года в год перерисовывают мордахи, прикручивают ненужные опции, реагируют на конъюнктуру усыхающегося рынка, а о принципиально новых решениях - ни-ни. Те же машинки Тесла, как пишут, под днищем таскают тысячу - другую батареек 18650, как у меня в фонарике. Туда бы ядерный двигун с ежегодной заменой безопасных ТВЭЛов - вот бы прорыв... Стены и цепи излишни, когда тюрьма в голове определяет границы допустимого. 
Сложности: А возможно действительно, если не все, то многое, что и не приснится ))) 
Видеообзор: jga9v1RUVQg
7 Мины на панели 00:12:02
1 тест
15 чел. ★ 5 Done
  На этом уроке мы создадим подкласс MinePanel.
Именно на этой панели мы будем размещать картинки.
Сделаем всё необходимое, чтобы программа заработала.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 23 мин. [Показать отчёт]
Научился: класс созданный внутри класса имеет доступ к полям и методам родительского без дополнительных модификаторов доступа сразу Метод pack(); при расчёте размера окна учитывает лишь ранее добавленные элементы и элементы добавленные строками ниже им не учитываются 
8 Мышечный адаптер 00:12:30
1 тест
14 чел. ★ 5 Done
  На этом уроке мы добавим подкласс-адаптер
для обработки нажатий кнопки мышки.
Сделаем вычисление координат
и простые действия по нажатию
левой и правой кнопки мышки.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 3 час. 17 мин. [Показать отчёт]
Научился: после добавления привязки к панели в операторе panel.addMouseListener(new MinesAdapter()); ушла ошибка нажатия клавиши мыши в пределах лейбла в подвале окна игры MouseEvent.BUTTON1 - событие нажатия ЛКМ Батон2 - ПКМ ) Возможность ставить отметки на ячейках наводит на мысли, как переделать игру в подобие ведомости по пройденным шагам в моей подработке, где множество объектов требует координации и учета, но это так, задел на будущее. Однако, в своей учебе я начал нащупывать привязку к нуждам в реальной жизни, что приободряет ) e.getButton()== MouseEvent.BUTTON3 - это сила! 
9 Правый флаг 00:15:44
1 тест
13 чел. ★ 5 Done
  На этом уроке мы сделаем обработку правой кнопки мышки.
Для этого нам придётся добавить дополнительный массив,
в котором будет записано, что видно сверху нашего поля.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 49 мин. [Показать отчёт]
Научился: cчетчик мин плюсует и минусует успешно, вплоть до того, что смело и без ошибок уходит в минуса ) Массив отвечающий за второй слой подвергается проверке ветвлением ифэлзом, в зависимости от открытости ставит флаг либо его убирает Маус бат0н три == это правая клавиша мыши или тачпада 
10 Открывашка 00:16:46
1 тест
13 чел. ★ 5 Done
  На этом уроке мы сделаем фишку автоматического
открытия плашек для клеток, вокруг которых уже
все мины проставлены. В стандартном сапёре эта
функция вызывается двойным щелчком мышки.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 58 мин. [Показать отчёт]
Научился: при соответствии количества флагов около клетки номеру (цифре) клетки - открываем рядом стоящие клетки Реализовали пересчетом в цикле окружающих клеток и суммированием в переменную count 
Сложности: Найти причину малого количества мин на игровом поле 
11 Волшебный метод 00:23:39
1 тест
13 чел. ★ 4.8 Done
  На этом уроке мы создадим
волшебный метод cellOpen().
Именно в нём кроется вся магия логики игры.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 16 мин. [Показать отчёт]
Научился: рекурсия начинается с операторов прекращения рекурсии, затем в цикле перебирает ячейки справа и слева на единичку, в подцикле ячейки сверху и снизу по одной, если не вышли за пределы игрового поля, то открывает ячейки, вызывая саму себя со сдвигом на единицу снова. Так и открывает, пока не сработает останов, прописанный в начале метода Если его не прописать, этот останов, то конца и края работе рекурсивной функции не будет никогда ) 
Сложности: Понять, почему при увеличении переменной N_MINES не растет ожидаемо количество мин на игровом поле. Вопрос все еще открытый, советы приветствуются. 
12 Условие победы! 00:19:06
1 тест
13 чел. ★ 5 Done
  На этом уроке мы закончим создание сапёра -
сделаем проверку на окончание игры,
поздравление с победой, с проигрышем,
и запрограммируем начало новой игры.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 51 мин. [Показать отчёт]
Научился: сообщение о победе или проигрыше реализовано тернарным оператором Проверки условия для развития игры выполнено на основе анализа содержимого ячеек массивов map и top (нижний и верхний этажи соответственно) Верхний этаж (top) имеет свойство открываться, показывая текущее состояние массива map В массиве map хранятся мины либо пустые ячейки 
  Итого:   12 видеоуроков 3 час. 00 мин.
10 тестов
13 чел. ★ 4.96  
  Финалисты:   Дмитрий,   Алексей В.,   Константин,   Новопашин Владимир,   Елена,   Иван Воронин,   Максим Лапшинов,   Сергей Соколов,   Tekashnik,   Babenko Oleg,   Reinis Stacevič,   Dmitry Sinitsin,   Anatoli .

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





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

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

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

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


Научился: Научился писать рекурсивную функцию открытия ячейки.
Ура! Игра почти готова!


Научился: Labai įdomi tema, kad mes galime programuot save. Aš pritariu jai, nes kiekvienas gali iškelti sau tikslą(Project) ir kurti programą, kad pasiekti tikslą. Žmogus turi input(jutimo organai) Procesor(Smegenis) output(veiksmai), viskas tai saveikauja tarpusavyje. Bet manau ne žmonės ar gyvunus reikia liginti su mašinom, o mašinas su gyvunais. Nes žmogus sukuria kaska pagal pavyzdį, tai ką jis jau buvo pamates, jautes, užuodes. PVZ.: kompiuteris neirašo balsą, garsa jai neprijungtas mikrofonas, taip pat ir kurčias žmogus negali kurti muzikos mintise, nes jis jos negirdejo. Automatizavime naudojamos shemos, kurios pavaizduoja tam tikro veiksmo procesa ir kas kaip ir su kuo saveikauja. Tai reikia, kad tinkamai atlikti procesu automatizavimą, tai gyvu butibių ir mašinų schemų veikimo principas beveik vienodas. Programavimas man, tai programa kuri atlieka užduoti ir kaip galima greičiau ir efektiviau, kuo daugiau programuoji, sprendi iškilusias problemas, naujas užduotis. Tuo labiau tu tas žinias gali naudoti savo givenime. Nes dauguma žmonių jau yra užprogramuoti visuomenes, tevu, mokyklos, jie gyvena diena nuo denuos ta pačia diena, ir jie nesprendža problemų, jie netobuleja, negauna žinių kaip siekti tikslo, keisti savo gyvenimą.
warhammer mechanicus, tai žmonės kurie save paverte mašinomis.