Базовый курс С++ Часть #95. Финальная настройка и завершение проекта

preview_player
Показать описание
Самые лучшие бесплатные курсы по C++, Ассемблеру и Unreal Engine 5!

Часть #95. Финальная настройка и завершение проекта (Базовый курс программирования на С++)

00:00 - Финальная настройка и завершение проекта
00:19 - Обновим план
01:31 - Сохраним все исходные файлы в формате Юникода
04:31 - Уберём комментарии "//!!! Надо сделать!"
06:09 - Исправим наследование швабры AsMop
07:42 - Представим строками заголовок и класс окна
12:25 - Убираем закомментированный код
19:10 - Исправим количество жизней
20:11 - Смотрим в оригинальной игре количество очков за кирпичи
26:50 - Исправим подсчёт очков в Update_Score()
30:26 - Исправим подсчёт очков в On_Hit()
32:35 - Проверим подсчёт очков
35:16 - Подсчитаем вероятность выпадения букв в оригинальной игре
39:21 - Установим вероятность выпадения буквы
40:00 - Установим лимит монстров
43:18 - Баг: чёрные кирпичи
45:29 - Перенесём оттенки угасающего цвета в конфиг
53:36 - Исправим Draw_Brick_Letter(), чтобы убрать точки на экране
57:32 - Баг: редактирование имени не прекратилось
59:13 - Поиграем в нашу игру
59:48 - Баг: активные кирпичи не заканчивают свою анимацию
01:03:21 - Играем 1-й уровень
01:05:03 - Баг: мячик зациклился при отражении от платформы
01:12:58 - Баг: гейты открываются, не выпуская монстров
01:19:46 - Баг: мячик на парашюте летит вверх
01:22:30 - Баг: мячик застрял на платформе
01:29:37 - Баг: 8-й уровень не закончился
01:35:20 - Вынесем код в метод Set_Floor_State()
01:37:52 - Увеличим максимальное количество активных кирпичей
01:39:07 - Исправим баг с отражением мячика на парашюте от пола
01:41:46 - Исправим баг с пикселями, остающимися от парашюта
01:46:02 - Воспроизведём зацикленность мячика на тестовом уровне
01:56:47 - Добавим метод Detect_Hits_Cycling()
01:59:50 - Добавим циклический буфер координат
02:05:06 - Сканируем массив окнами в поисках паттерна
02:11:13 - Добавим оператор сравнения в APoint
02:12:34 - Добавим метод Set_As() в APoint
02:13:55 - Проверяем алгоритм поиска паттерна
02:20:48 - Смотрим на стили окна в MSDN
02:23:05 - Уберём ресайз окна нашей программы
02:24:24 - Исправим ускорение мячика
02:25:28 - Обновим план и скомпилируем игру в релизе
02:27:40 - Мы заканчиваем наш проект!

Рекомендации по теме
Комментарии
Автор

Добрый день, Александр. Я наконец закончил ваш курс.
- 95 уроков,
- 6 месяцев.
Было сложно, но хочу похвалиться, я ни разу не смерджил ваши архивы со своими. Я повторял за вами, и где-то 1 раз в 30 роликов полностью сравнивал ваш и мой проекты в Beyond Compare.
Чаще всего расхождения были в названиях переменных, но и пару методов я всё же делал по своиму, соблюдая конечно заложенную вами логику.
Я планирую построить проект, на основе Popcorn и сделать новую игру. Другими словами я продолжу этот проект, то что получилось, ляжет фундаментом, а сверху накручу
дополнительной логики чтоб по итогу вышла совсем новая игра.
Огромное спасибо Александр, за потрясный курс и за тот самый фундамент.
Курс по с++ в универе железно убедил меня в том что я гуманитарий, но вы своим курсом доказали мне обратное.

P.S. Чуточку мотивации тем, что думает что етовотвсё сложно и вообще, где взять время на курс. Делюсь просто моим кейсом.
Мне 22 и я год назад окончил универ и устроился в сферу телекоммуникационных технологий(благодаря мне вы можете звонить по трубке и серфить тик ток). Так вот работа
затрачивает огромное количество умственных ресурсов т.к. приходится буквально круглыми сутками читать документацию к тому же на английском чтоб хотя бы разобраться что как работает.
После такой работы, очевидно не остается сил и ресурсов на курс, ибо он так же требует анализа того что говорит и делает Александр. Но всё же я нашел выход - заниматься ранним утром. То есть, чтобы заниматься курсом я начал ложиться в 9 вечера и вставать в 4. Тогда с 4 до 7 утра есть достаточно времени, чтобы пройти 1 урок. К тому же таким ранним утром никто вас не будет отвлекать, ибо все нормальные люди спят. Таким образом курс опосредованно повлиял на улучшение моего распорядка дня, ибо до этого для меня типичным было ложиться к 1 ночи.

I_Scandal
Автор

Отличная база по C++ и векторной графике! Мне особенно понравилось разъяснение автором и соблюдение код-стайла. Это очень помогает в чтении и понимании кода. Кроме того, хотел бы отметить четкую структуру уроков и полезные примеры, которые дополняют материал. Большое спасибо за такой информативный и понятный курс!

Get_Boros
Автор

Это один из лучших практических курсов по С++ в YouTube!!!
Скоро хочу начать 📚

weekendshow
Автор

Спасибо большое за курс! Как появится время, более детально его изучу, а нового материала (95 видео) для ознакомления и детального изучения мне не будут лишними =)

qector
Автор

Я начинал этот курс год назад, но на этапе прототипа отошел от Windows и векторной графики. Сейчас вернулся к проекту, настроил мультиплатформенную компиляцию, взял для рендеринга SDL2, написал свой умный указатель для правильного управления памятью, написал свой GameLoop, написал простую физическую симуляцию и только что наконец скомпоновал это все в простую платформу, кирпичики и шарик, который летает по полю и ломает кирпичи)
Буду добавлять еще что-то дальше, изначально это research-проект и я все делаю в строгом ООП. Просто очень круто понимать, что вот без движков и всего такого (ну кроме SDL) сделал игру со всем своим. Но смотря на то что вы сделали за 2 года курса челюсть отваливается, это ж сколько всего сложного да еще и графика векторная! Я смог сделать свое просто из-за опыта 2.5 года в Unity, так бы не смог. К слову мне 16

atennop
Автор

Ну наконец-то, дошёл, прошёл, благодарю Вас за этот наикрутейший курс)))

dotv
Автор

Господи всё!!!Я полностью прошел курс. Блин даже немного огорчился, что курс закончен. Я наверное в самом начале напишу небольшое ревью, мне много что хочется сказать по поводу курса тем кто только начинает его, ну и лично вам Александр.

dalexgames
Автор

Ваш канал очень мотиврует! Пожалуйста продолжайте снимать ролики. Безумно интересно и познавательно. Спасибо вам огромное!!

Jason-zzrs
Автор

Йухууууу! Congratulations! Вот это курсище!

channelname
Автор

Наконец-то настал этот день, я все закончил. Без двух дней потратил год, параллельно изучая анриал и различные библиотеки С++, детально разбирая порой по неделе один урок — вынес огромный багаж знаний с вашего курса, Огромное спасибо за ваш труд. Ранее сложные темы с книг, такие как классы, наследование — не мог понять долго, сейчас лузаю как семечки!) Очень приятно, когда автору самому нравится писать этот проект — отражается и на ученика.
Есть несколько вопросов: пожалуйста скажите, какие библиотеки стоит выучить на сегодняшний момент времени кроме СТЛ? И довольно сложная тема с unordered контейнерами, часто ли в профессии приходится использовать их и насколько они важны (на собеседованиях слышал часто любят спрашивать)? Ещё раз спасибо!

allmight
Автор

Этот день настал!
Я долго думал дойду ли я до конца, но я справился :)

Александр, спасибо Вам огромное за этот самый лучший и объёмный курс по плюсам в ютубе 🥰

Вам желаю дальнейших творческих и материальных успехов во всех ваших проектах ❤

arseny.a
Автор

Ну, что же, вот и закончил я учиться по этому курсу. Большому, сложному. До этого таких больших проектов я, конечно, не писал.

Низкий поклон Автору за то, что создал и выложил pro bono такой классный курс. Чего-то подобного ранее я не находил.
Также отдельно хочу поблагодарить Автора за то, что он уделил некоторое своё время лично мне и несколько раз ответил на мои вопросы, возникающие в процессе обучения.

Позволю себе написать несколько предложений.


ПРЕДЛОЖЕНИЯ:
Что ИМХО, можно было бы сделать лучше или чем дополнить курс (не факт, что предложения верные!!! Я не считаю, что знаю точно, как лучше, это лишь моё предположение!)

1. Подробнее объяснять синтаксические модели, в т.ч. напоминать по несколько раз (не десять раз за час, а, скажем, раз в 5-10 уроков повторять, почему это так, а не иначе)
Если бы я сейчас проходил этот курс, я бы делал пометки на моментах с объяснениями, чтобы просмотреть их еще раз все разом. Особенно по сложным моментам (всякие поинтеры на поинтеры и т.д.)
1.1 Чаще повторять «что и как называется, почему так». Скажем, рассказать, что такое директива препроцессора не один раз где-то в начале, а раз 5 за проект, скажем, каждые 20 уроков (мб с какими-то дополнениями и т. д.). Также с прочими неочевидными вещами, например, почему нужно создавать дефиницию-заглушку для виртуальной функции, чем отличаются параметры в конструкторе после ":" и в теле "функции" конструктора, зачем мы разделяем файлы на header и cpp прочие «нубские» вопросы.
1.2 Фичи новых стандартов так же парой отдельных уроков в дополнение к курсу на примере уже написанной программы.
1.3 Как вариант, сделать на основе этой программы разбор популярных элементов STL отдельными видео. Да, часть STL используется в процессе курса, но занимает очень небольшой % от времени курса, а потом и забывается - помнишь, что делать нужно вот так, а почему и что это значит - уже не помнишь.

2. Как вариант "притягивать за уши" различные алгоритмы. Да, пусть задачу можно решить более простым способом, но написав 100 однообразных циклов вряд ли научишься чему-то новому. Возможно, можно использовать (пусть и не оптимальные, излишне сложные) алгоритмы для решения конкретных задач в учебных целях.
В тех же алгоритмах, что используются, упоминать вычислительную сложность и т. д.
Мне кажется это хорошей идеей, т.к. это будет гораздо проще понять (вспомнить) на примере кода, который уже 100 раз видел и написал.
3. Включать сторонние инструменты, в т.ч. изучая их. Например, git - не из-за того, что это необходимо, а просто для изучения "походя", при этом на практике. Например, мы думаем сделать какую-то фичу (скажем, добавить монстра) - делаем новую ветку, пилим фичу, потом мёрджим её с мастер. А где-то, когда подход оказался неверным, не удаляем код, а откатываемся на несколько коммитов.
3.1 Может быть, еще какие-то сторонние инструменты. СУБД, CI/CD, я не знаю, многопоток замутить с тредами и мютексами =)
4. Тёмный фон IDE :D Если Автору он не принципиально неприятен, то ночью было бы куда удобнее.
4.1 Хм… Интересно, можно ли написать какой-то скрипт, чтобы у всех видео заменить rgb 255, 255, 255, скажем на, 125, 125, 125. Думаю, что да, но вряд ли из-за алгоритмов сжатия ютуба он будет работать корректно.
5. Если это возможно, то разрешение выше не помешало бы. Да, конечно, всё видно и картинка, в целом, статичная, но в 1080р смотреть было бы приятнее. А в 4к (даже на 1080р мониторе) — еще приятнее. Причина — ютуб меньше режет битрейт у видео с более высоким разрешением. Т.е. видео, залитое в 4к, которое смотрят на 1080р мониторе, выглядит гораздо лучше.

alexandrmakarov
Автор

Это победа. Спустя 8 месяцев я смог закончить курс. Вообще изначально я искал программу для моделирования так как учусь на инженера-строителя, но вышло все так что я залез в дебри С++, но ни чуть не жалею. Наверное это самое крутое что я когда-либо делал. Местами конечно было не очень ясно, но я стал понимать как пишутся программы, как соблюдается порядок кода с помощью Код Стайлов и всего прочего. Буду и дальше покорять мир программирования своим ходом, хочу написать еще пару программ и пройти другие курсы нашего сенсея.
Александер, спасибо Вам большое!

uiopijlk
Автор

Отличный курс. Жаль программирование меня совсем не привлекает. Но тем, кто данной темой интересуется должно в самый раз зайти.

saltmann
Автор

Многоуважаемый Александр. Спасибо Вам большое, я наконец-то прошел этот курс, и мне очень понравилось делать игры после него. Он был со мной на протяжении много времени, в первых видео я почти не понимал ничего и мог только повторять за вами, а потом начала писать собственные алгоритмы. Скажите, что Вы можете посоветовать делать дальше, мне сильно нравится с++, но он сейчас достаточно непопулярный, особенно на украинском рынке. У меня была идея начать писать свои игры на Юнити, Си шарп, ведь знания Си шарпа могут еще пригодиться на бэкенде, если не получится вступить в игровую индустрию. Хотя очень хочу пройти Ваш курс по ассемблеру (интересна эта тема) и Анриалу, но не знаю, выгодно ли это сейчас для поиска работы... Мне 19 лет, учусь в Сумах на специальности Компьютерные науки, 3 курс

СтепанБоднар-уэ
Автор

Дякую, дуже детальний та якісний курс

РоманУстименко-йч
Автор

Когда планируете выпускать новые видео на канале?

rockstar
Автор

Добрый день! Скажите пожалуйста, будут ли еще видео по языку С++ ? Спасибо.

bogdanbanan
Автор

привет, подскажи пожалуйста, курсы Pytonа достаточно чтобы начать свой путь в сфере программирования? или лучше не рисковать в свои 30 лет и начать с чего то более легкого, фронтент, php, тестировка?

standalonecomplex