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

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

Явный Сапёр

Создание легендароной игры "Сапёр"
на языке программирования Java.

На этом видеокурсе ты научишься создавать оконные
приложения на языке программирования Java,
работать с графикой, с матрицами,
составлять полезные алгоритмы.

Объём: 12 коротких видеоуроков
общей продолжительностью 3 часа.

Хочу купить!

Купить в рассрочку за мегахеши

Цена: 1000 p.


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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:05:24 20 чел. ★ 5 Done
  Мы начинаем создание игры "MineSweeper" на языке Java.
В этом уроке мы поиграем в эту игру и подготовим картинки.
Рекомендую самостоятельно нарисовать блок-схему игры.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 30 мин. [Показать отчёт]
Научился: играть более менее в сапера 
Сложности: выиграть  
Комментарии: нету 
2 Блок-схема 00:09:09 17 чел. ★ 5 Done
  На этом уроке мы составим блок-схему программы.
Что происходит в игре и как это всё связано друг с другом.
Обязательно нарисуйте схему от руки или на сайте draw.io.
В блок-схеме не хватает одного важно момента -
найдите, чего именно и дорисуйте на схеме.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 20 мин. [Показать отчёт]
Научился: рисовать блок схему 
Сложности: подумать что в схеме надо добавить  
Комментарии: нету 
3 Окно проекта 00:13:51 16 чел. ★ 5 Done
  На этом уроке мы начнём создание программы.
Создадим новый пустой Java-проект и создадим форму.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 15 мин. [Показать отчёт]
Научился: создал форму на java 
Сложности: небыло сложностей 
Комментарии: довно неиспользовал я некаких компонентов java swing можно все вспомнить  
4 Радуга картинок 00:24:07 13 чел. ★ 5 Done
  На этом уроке мы загрузим в проект все картинки.
Проинициализируем массив с картинками.
Напишем функцию paint() для их отображения.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 30 мин. [Показать отчёт]
Научился: как выводить в java картинки на экран 
Сложности: с картинками повозится немножко 
Комментарии: нету 
5 Карта местности 00:18:01 13 чел. ★ 5 Done
  На этом уроке мы создадим матрицу map,
в которую случайным образом разместим мины.
Потом напишем функцию addOne() для проставки
цифр вокруг мин и отобразим это всё на экране.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 20 мин. [Показать отчёт]
Научился: подсчету мин поблизости, недумал что будит так легко  
Сложности: нечего 
Комментарии: ответ на вопрос сделать массив boolean открыта или закрыта поле  
6 Философия сапёра 00:09:44 12 чел. ★ 4.8 Done
  На этом уроке мы возьмём новые картинки,
сконвертируем их в jpg чтобы убрать прозрачность.
После этого пофилософствуем об аналогии
компьютерного и реального мира.

Отчёт отправил: 5649. Максим Лапшинов Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: что да мы сами себя программируем 
Сложности: что самопрограммирования себя дается очень сложно  
Комментарии: можно себя программировать но сложно дается и в большинство степени знаем что надо себя менять но не перепрограммируем мы сами себя ну вот посмотрел 2 первые серии футурамы на английском с русскими субтитрами как то не зацепило  
7 Мины на панели 00:12:02 12 чел. ★ 5 Done
  На этом уроке мы создадим подкласс MinePanel.
Именно на этой панели мы будем размещать картинки.
Сделаем всё необходимое, чтобы программа заработала.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 15 мин. [Показать отчёт]
Научился: вспомнил про работу с панелей 
Сложности: нечего 
Комментарии: вспомнил про панель 
8 Мышечный адаптер 00:12:30 12 чел. ★ 5 Done
  На этом уроке мы добавим подкласс-адаптер
для обработки нажатий кнопки мышки.
Сделаем вычисление координат
и простые действия по нажатию
левой и правой кнопки мышки.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 15 мин. [Показать отчёт]
Научился: узнал про адаптеры как обрабатывается щелчок мыши 
Сложности: нечего  
Комментарии: все понравилось 
9 Правый флаг 00:15:44 11 чел. ★ 5 Done
  На этом уроке мы сделаем обработку правой кнопки мышки.
Для этого нам придётся добавить дополнительный массив,
в котором будет записано, что видно сверху нашего поля.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 20 мин. [Показать отчёт]
Научился: как будут обрабатыватся закрытые и открытые поля, разместить и убрать флаг 
Сложности: нечего 
Комментарии: все хорошо 
10 Открывашка 00:16:46 11 чел. ★ 5 Done
  На этом уроке мы сделаем фишку автоматического
открытия плашек для клеток, вокруг которых уже
все мины проставлены. В стандартном сапёре эта
функция вызывается двойным щелчком мышки.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 30 мин. [Показать отчёт]
Научился: узнал что если щелкнуть по клетке и рядом флаг есть то клетки откроются которые есть рядом незнал об этом и пару раз сыграл в сапера рефакторить код написать функции реализована открытие близ лежайших клеток 
Сложности: нечего  
Комментарии: даже недумал что по щелчку реализовано открытие близ лежащих клеток, поигрался так пару раз и нарвался что нетам мину поставил и клетки открылись и я проиграл изза того что открылась мина  
11 Волшебный метод 00:23:39 11 чел. ★ 4.8 Done
  На этом уроке мы создадим
волшебный метод cellOpen().
Именно в нём кроется вся магия логики игры.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 30 мин. [Показать отчёт]
Научился: открывать рекурсивно ячейки  
Сложности: нечего 
Комментарии: красиво получилось 
12 Условие победы! 00:19:06 11 чел. ★ 5 Done
  На этом уроке мы закончим создание сапёра -
сделаем проверку на окончание игры,
поздравление с победой, с проигрышем,
и запрограммируем начало новой игры.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 20 мин. [Показать отчёт]
Научился: создание сапера как считается где находится мина как рекурсивно открывать клетки играть в сапера  
Сложности: нечего 
Комментарии: понравился курс изза того что реализован почти весь функционал есть много возможностей рефакторить код можно легко добавить функционал новый готовая игра которую можно переносить и на другие платформы и языки программирования спасибо за курс  
  Итого:   12 видеоуроков общей продолжительностью 3 час. 00 мин. 11 чел. ★ 4.97  
  Финалисты:   Дмитрий,   Алексей В.,   Константин,   Новопашин Владимир,   Елена,   Иван Воронин,   Максим Лапшинов,   Сергей Соколов,   Tekashnik,   Babenko Oleg,   Reinis Stacevič .

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




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

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

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

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


Научился: Išmokau ir supratau kaip reikia žaisti minesweeper, pilnai supratau visus programos elementus ir komponentus.
Трудности: Nieko, viskas buvo lengva, nes prieš tai viskas buvo gerai paaiškinta.
lange NR1. programa kuri išveda "" :)!!!!YOU WIN GAME!!!! :) "", kai minesCount ==0, bet galima kiekviena karta kai su palite pastatai ant langelio veliava, minesCount-- mažėja vienetu, todėl galima neatverti ne vieno lango ir iškart pastatyti veliavu kiek yra N_MINES ir tu laimejai. lange NR2. žaidimas baigtas kai paspaudi ant minos. lange NR3. žaidimo eigoje vaizduojamas minu skaičius. iki lango numeris 4 yra keli žaidimo trukumai. Pirmas kai pastatai veliavą ir paspaudi ant skaičiaus atsidaro aplink jo laukai, kartai atsidaro miną, nes veliava pastatyta ne tinkamoje vietoje, bet žaidimas tesiasi ir neatsiveria visos minos. antras minusas laimėjus ar pralaimėjus žaidimą, ir statusvbar išvedus tekstus, su pelite galima atidaryneti laukus ir statyti veliavas. trečias minusas kad galima pristatyti veliavų ir taip laimeti, bet neatvesus jokio lauko. Aš šituos trukumus pašalinau ir langai NR4 ir NR5 gerai funkcianuoja. Kad tai butu pašalinta aš padariau programoje šiuos pakeitimus sukuriau kintamaji private int opencell =0; metoduose leftButton() ir rightButton() parašiau šias kodo eilutes if(minesCount==0) opencell = OpenTopCell(); if(( N_ROWS * N_COLS - opencell==N_MINES)) { result = 1; statusbar.setText(" :)!!!!YOU WIN GAME!!!! :) "); } metode openNear() parašiau: if (top[mx][my] == IMG_OPEN) { if (map[mx][my] == IMG_MINE) openAllMines(); } metode openAllMines() parašiau result = -1; statusbar.setText("GAME OVER"); sukuriau metoda OpenTopCell public int OpenTopCell()// Metodas skaičiuojantis atvertus laukus { int t=0; for(int y = 0; y < N_ROWS; y++) for(int x = 0; x < N_COLS; x++) if(top [x][y]== IMG_OPEN) t++; return t; } ir į mousePressed() parašiau kiekvienam mygtukui: if(result!=1 && result!=-1) pakeitimai pavaizduoti faile NR2.


Научился: Добавлять мины на поле и рисовать цифры вокруг них =) Решил поменять картинки на другие, вроде бы лучше стало =)
Трудности: сложностей не возникло
крутой урок