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

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

Явный Сапёр

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

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

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

Хочу купить!

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

Цена: 1000 p.


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

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

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

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Научился создавать внутренний класс панели в основном фрейме ява.
Картинки получились симпатичные.
Научился: Вызывать в java обработчик мыши
Трудности: Придумывать, что было самым сложным
Всегда очень радостно, когда что то получается, чего до этого ещё не делал))