Базовый курс С++ #50. Рефакторинг движения, этап 1

preview_player
Показать описание
Часть #50. Рефакторинг движения, этап 1. (Базовый курс программирования на С++)
Самые лучшие бесплатные курсы по C++, Ассемблеру и Unreal Engine 5!

00:00 - Рефакторинг движения, этап 1
00:35 - Воспроизводим ошибку с пролётом мячика через платформу
08:15 - Два вида событий, приводящих к смещению объектов в нашей игре
10:09 - Анализируем текущий способ обработки нажатия клавиш
13:00 - Делаем обработку события отжатия клавиш WM_KEYUP
14:53 - Рефакторим метод On_Key_Down()
16:40 - Добавим перечисление EPlatform_Moving_State
18:54 - Добавим в метод AsPlatform::Move() поддержку состояния движения платформы
21:18 - Добавим переменную для скорости платформы
23:27 - Переносим переменную X_Step в константы
24:18 - Смещаем платформу в методе Play_Level()
28:04 - Добавим в платформу метод Advance()
33:13 - Проверяем смещение платформы
36:18 - Добавим метод Get_Middle_Pos()
40:05 - Убираем красные следы, появившиеся из-за ошибки округления
45:13 - Выносим код в метод Get_Normal_Platform_Image()
51:21 - Проверяем попадание мячиков внутрь платформы
53:02 - Вынесем в конфиг константу D_Global_Scale

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

Середина проекта позади. Хочу поделиться своими впечатлениями от пройденного.
С началом изучения курса была эйфория, при мыслях, что смогу стать программистом. Примерно в 12 уроку из-за сложности начало казаться, что не смогу стать программистом. И даже были помыслы все бросить, но каждый раз я говорил себе, что пройду еще 2 урока, а потом приму решение. Так, тихим сапом, добрался до 37 урока.
На этом рубеже опять нахлынули сомнения, типа куда я лезу, в свои 50 лет?
Я составил список освоенных к тому времени навыков, hard skillов и я понял, что уже зашел очень далеко и оглядываться и отступать глупо.
Сегодня с радостью смотрел 50 урок! Сомнений нет, я буду писать код. Ситуация насчет найма 50-ти летнего "джуна", конечно выглядит смешно, но это не важно. Я просто решил стать программистом.
Мой девиз: все получится, потому что я сделаю так, чтоб все получилось.

KonstantinPt
Автор

Автор рассказал в этом уроке, как шаг за шагом изобретал архитектуру нашего проекта. Ни чего, что я его сейчас назвал нашим?🙏
Я почти 30 лет занимаюсь предпринимательством и запустил с нуля 6 проектов.
Когда начинаешь какое то дело, только в общих чертах имеешь представление о том, как оно будет работать, выглядеть... И запустив его в работу ведешь непрерывный процесс совершенствования. Я называю это путем прилаживания. Это очень похоже на тот подход, который использован при создании этого проекта. Благодарю вас.

KonstantinPt
Автор

Мне в данном случае вообще не важно, правильно или нет построена архитектура программы, потому что мы учимся программированию, а не пишем игру. Любой рефакторинг, лично я встречаю с удовольствием, потому что он показывает взаимосвязи с разных сторон. И открывает новые способы реализации программы. Это дополнительный опыт.

KonstantinPt
Автор

Кстати, сегодня коснулись Main(), поэтому вспомнил свой вопрос. Раньше я встречал программы в книгах, написанные внутри int Main() {}.
Поскольку мы используем несколько файлов для написания кода, я так и не понял, наш код находится внутри мэйна?

KonstantinPt
Автор

Александр скажите пожалуйста где можно ознакомится с информацией по вопросу задержки нажатия клавиш со стрелками.

сергейкотовский-ин
Автор

Ну всё. Чёрный пояс по рефакторингу не за горами.

P. S.: Экватор пройден. Теперь моя совесть позволит мне начать баловаться с UE. Уи-и-и!)

JeKaTrigger