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

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

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

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

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

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

2,000 руб.


Для подписки на пакет необходимо авторизоваться.

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

# Название видеоурока Решило Рейтинг Доступ
1 Шарики. Вступление 00:12:27 95 чел. ★ 4.8 Done
  Отчёт отправил: 4972. looker Решено за 20 мин. [Показать отчёт]
Научился: Составлять алгоритм к программе. 
Сложности: Ничего. 
Комментарии: Я пока подготовил картинки шарика только 1-го цвета, зато самых разных размеров. Хочу в следующем уроке уже четко понять какой размер картинки нужен, и тогда сразу все остальные подготовлю. Скрин папки шариков приложу. 
2 Шарики. Анализ игры 00:39:03 87 чел. ★ 4.9 Done
  Отчёт отправил: 4972. looker Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Абсолютно новому ничему. Закрепил навык размещения pictureBox'ов на panel'e. Данный способ мне кажется самым "полезным". 
Сложности: Не запутаться во вложенных switch'ах. 
Комментарии: С картинками у меня проблемы. Но я качаю Photoshop, сделаю в нем клевейшие шарики! Всё будет замечательно!:)) Ещё, кстати, я сделал, чтобы размер формы подстраивался под размер поля игры. Очень удобно получилось. 1 строчку написал - и теперь тебе всё равно на любые изменения с полем игры - всегда будет красиво и аккуратно. 
3 Шарики. Логика игры 01:12:08 74 чел. ★ 4.9 Done
  Отчёт отправил: 4972. looker Решено за 3 час. 30 мин. [Показать отчёт]
Научился: Использовать делегат - мне понравилось. 
Сложности: До конца понять принцип работы с делегатами - с этим у меня до сих пор проблемы - по памяти врядли смогу правильно их использовать. Но эта сложность не урока как такового, а моего понимания. 
Комментарии: Всё ок. 
4 Шарики. Поиск пути 00:41:19 67 чел. ★ 4.9 Done
  Отчёт отправил: 4972. looker Решено за 2 час. 30 мин. [Показать отчёт]
Научился: Новому ничему. 
Сложности: Быть предельно внимательным. 
Комментарии: Всё ок. 
5 Шарики. Поиск линий 00:33:37 50 чел. ★ 4.9 Done
  Отчёт отправил: 4972. looker Решено за 24 час. 00 мин. [Показать отчёт]
Научился: Находить и исправлять недоделки в приложении. Проявлять фантазию))). Познакомился с сериализацией и десериализацией - ничего сложного и очень понравилось. Также могу сказать, что я понял одно из применений делегатов на практике. 
Сложности: Самым сложным оказалось окончательно реализовать идею сохранения результатов игры. Подробности ниже:). 
Комментарии: Что сделал/изменил в программе: 1. Исправил/доделал функцию сокращения линий шариков - ранее, при сокращении нескольких линий одновременно за 1 ход (т.е. одним шариком за 1 ход сокращается несколько линий), количество шариков, подлегаемых сокращению, подсчитывалось неправильно. Допустим, сокращается две линии - 5 шариков и 6 шариков - ранее, в массив удаляемых шариков записалось бы 11 шариков, что является неправильным. Или при сокращении линий из 5-ти и 5-ти шариков, в массив записалось бы 10 шариков. Правильно нужно было бы записать в первом случае в массив 10 шариков (11-1 шариков), а во втором случае 9 шариков. Так получается за счет того, что 1 шарик является общим для обоих линий, и он заносился в массив шариков дважды - с каждой линией по разу. Что самое интересное - на ход игры этот факт никак не влиял. Но мне для анимации прогресса игры в виде счета сокращенных линий (общее количество сокращенных шариков) это было критично. Поэтому пришлось переделать эту функциональность. 2. Добавил анимацию прогресса игры в виде счета сокращенных линий (общее количество сокращенных шариков) и отображения имени игрока. 3. Добавил "диалог" между программой и игроком при завершении игры с вопросами о сохранении игры и о создании новой игры. 4. Добавил возможность сохранения результата игры, статистику результатов сохраненных игр в виде таблицы рекордов, просмотр таблицы рекордов. Таблица рекордов автоматически сортируется при добавлении новой записи. Данная функциональность реализована в виде отдельного класса, специально для удобного интегрирования в другие приложения, требующие подобной функциональности. При реализации данной функциональности изначально хотел работать с пространством имен System.IO. В принципе все работало, но я захотел чтобы у меня был 1 файл, exe-шник и всё (чтобы нельзя было подделать таблицу рекордов через редактирование самого файла), но уперся в проблему, когда приложение во время выполнения пытается изменить само себя (ведь текстовый файл находится в ресурсах приложения). Долго бился с этим. В итоге вспомнил про сериализацию - в моем случае это является аналогом System.IO - также в итоге таблица рекордов сохраняется во внешний файл. НО - в итоге это вылилось в намного меньший объем кода, чем при использовании System.IO, и во внешний файл таблица рекордов записывается в виде потока байтов, что в самом файле выглядит в виде набора шестнадцатеричных чисел. Т.е. особо такой файл не подделаешь. Так, что я очень доволен своей работой!:))) 
6 ФИНАЛЬНЫЙ УРОК 00:23:23 29 чел. ★ 4.9 $
  Итого:   6 видеоуроков общей продолжительностью 3 час. 41 мин. 28 чел. ★ 4.89  
  Финалисты:   Алексей,   Елена,   Alcatraz,   Артём,   Тимур,   Tekashnik,   Максим,   Максим Лапшинов,   Виталий,   Lik_Kirill,   Dmitriy,   Никита,   Neverwinter 2,   zhikharevav,   Minergimn,   Евгений,   Ender,   Юрий,   Алексей В.,   Платон,   Rita,   MichGar,   Морозов Юрий Александрович,   DeeP,   Владимир,   Александр,   Дмитрий,   Михаил Новопашин .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился:  Зaписaть видeo oбзoр
Трудности:  Зaписaть видeo oбзoр
Klass!!!
Смотреть видеозапись: https://youtu.be/1c1mCTdzoFQ
Научился: Повторил запись видеообзоров ;)
Трудности: ничего.
Спасибо за курс, выходные не прошли даром!
Смотреть видеозапись: https://youtu.be/lX1-TzoZYUQ