Курсы обучения программированию

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

Шарики - 5 в ряд

Серия уроков по созданию известной игры «Шарики» или Lines.
Цель игры - составить как можно  больше линий из 5 шариков одинакового цвета.

После прохождения курса у вас будет полноценная игра.
Используемые технологии и алгоритмы:
+ анализ игры и составление блок-схемы
+ динамическое размещение рисунков на экране
+ алгоритм поиска «вширь» для прокладывания пути
+ алгоритм поиска линий из 5+ шариков одного цвета

Объём курса: 5 уроков.

Хочу купить!

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

Цена: 800 p.


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

# Название видеоурока Решило Рейтинг Доступ
1 Шарики. Вступление 00:12:27 112 чел. ★ 4.9 Done
  Правила игры
Поле 9 на 9.
Шарики шести цветов.
За один ход можно переместить один шарик с одного места на другое.
Шарик можно перемещать только на свободные клетки, двигаясь вверх/вниз/влево/вправо.
Линии из 5+ шариков исчезают, а игрок получает доп. ход.
После каждого хода в случайных местах появляются три новых шарика.
Цель игры — продержаться как можно дольше, собрать как можно больше линий.
Подсчёт очков не регламентирован, есть разные варианты.

Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт]
Научился: срисовывать. 
Сложности: Вперед! 
Комментарии: Только вперед! 
2 Шарики. Анализ игры 00:39:03 102 чел. ★ 5 Done
  Анализ игры и динамическое создание поля из картинок.
Отчёт отправил: 2146. Иван Выполнено за 50 мин. [Показать отчёт]
Научился: Повторил динамическое размещение элементов. 
Сложности: Не запутаться в своих названиях фалов. 
Комментарии: Здорово! Обещаю к концу шарики сделать по-круглее :) 
3 Шарики. Логика игры 01:12:08 88 чел. ★ 4.9 Done
  На этом уроке мы реализуем логику программы.
Вся логика программы реализуется в отдельном классе.
Сделаем, чтобы программа отрабатывала все состояния.
Шарики можно будет выбирать, пермещать,
будут появляться следущие шарики.
Отчёт отправил: 2146. Иван Выполнено за 50 мин. [Показать отчёт]
Научился: Повторил делегаты, свитчи. Интересная реализация. Хороший пример получился, как логику отделять от отображения. 
Сложности: Все получается. 
Комментарии: Очень интересно!Спасибо за урок. Эта программа уже дается легче, чем год назад. 
4 Шарики. Поиск пути 00:41:19 81 чел. ★ 5 Done
  Реализация самого сложного алгоритма:
поиск кратчайшего пути для перемещения шарика.

Отчёт отправил: 2146. Иван Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Использовать алгоритм волна. 
Сложности: Наверное сложное - реализовать записывание пути. Очень много понадобилось дополнительных переменных. 
Комментарии: Спасибо! Красиво получается. 10 звезд! 
5 Шарики. Поиск линий 00:33:37 65 чел. ★ 5 $
  Реализация последнего алгоритма.
Поиск линий из 5+ шариков и анимация их удаления.
6 ФИНАЛЬНЫЙ УРОК 00:23:23 42 чел. ★ 5 Done
  Записать видеообзор созданной игры.

Какой курс ты будешь проходить следующим?
Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт]
Научился: :) 
Сложности: Все успеть. 
Комментарии: К сожалению обзор получился коротким, так как надо убегать на работу. Вчера тоже не успел, написать отчет на предпоследний урок, так как добрался до компьютера только после часа ночи, а успеть хочется.  
Видеообзор: https://youtu.be/ZoqEkuzy-us
7 VIP. Говорящие часы. Запись голоса 00:57:32 71 чел. ★ 4.9 Done
  На уроке создаём программу для записи звуковых файлов,
которые будут использованы для создания говорящих часов.
Отчёт отправил: 2146. Иван Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Пользоваться библиотекой NАudio для записи и воспроизведения звука. Отличная штука! Очень удобная! Так же узнал что для двумерных массивов размер определяется как Length / 2. Главное забыл: научился подключать сторонние библиотеки!!! 
Сложности: Делегаты, которые просто пришлось тупо скопировать. Этот EventHandler загадочный! Он мне напомнил EventListner, когда пытался сделать программу для android. 
Комментарии: Понравилось мне использовать двумерные массивы. Наконец, увидел, что в c# тоже используют Dispose(); В С++ с этим, кажется, строже. Понравился урок 
8 VIP. Говорящие часы. Воспроизведение 00:38:41 65 чел. ★ 5 Done
  На уроке пишем программу,
которая показывает и говорит текущее время
Отчёт отправил: 2146. Иван Выполнено за 3 час. 30 мин. [Показать отчёт]
Научился: Впервые увидел, как процесс запускается в отдельно потоке. И вообще впервые использовал поток. Это еще предстоит освоить 
Сложности: 1. Thread. 2. Масштабировать шрифт, т.к. Font.Size не прокатило. Оказалось надо создать новый экземпляр шрифта (Font lbl = new Font("Tahoma", p);) переменнная p у меня как раз и меняется в зависимости от размера формы 3. разбирался, как сделать окно настроек модальным, оказалось просто надо писать не Show(), а DialogShow(); 
Комментарии: Еще немного закопался с изменением размера шрифта, пришлось не один раз залезть в гугл, чтобы придумать к чему привязать размер. Добавил контекстное меню( 1 пункт settings), через который открывается 2 форма с выбором интервала объявления времени. К записи аудофайлов привлек своих детей, которые с большой радостью начитали мне и часы и минуты, теперь время мне говорят детскими голосами 
  Итого:   8 видеоуроков общей продолжительностью 5 час. 18 мин. 18 чел. ★ 4.97  
  Финалисты:   Елена,   Alcatraz,   Артём,   Tekashnik,   Никита,   Владимир,   Сергей Д.,   Новопашин Владимир,   Александр,   Neverwinter 2,   Иван Воронин,   Yefim,   Сергей Стефаненко,   Денис,   Dimon,   Алексей|BrisK|Кривицкий,   chokayes,   chip .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Для добавление count использовал делегат "CountAdd"//скриншот 1. Сохраняется результат в отдельный файл. Ну вот и конец создания этой программы. Во время её создания я стал лучше работать с enum, delegate, struct. + программа в копилку. Огромное спасибо за такую классную игру!

Научился: Записывать видео и не сбиваться в речи - деражаться уверенно.
Следующий курс будет Морской бой.