Я новичок в подходе шаблона проектирования. Я разрабатываю игру под названием Xonix. Все подвижные объекты имеют одинаковую кодировку. Я хочу знать, когда уместно использовать шаблон Stategy в приведенном выше коде:
Движение виртуально.
void User::move(const dynamicO& mo, const staticO& so)
{
float x = 0, y = 0;
keyboard(x, y);
m_sprite.setPosition(x, y);
}
void User::keyboard(float& x, float& y)
{
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) { x = -18; y = 0; };
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) { x = 18; y = 0; };
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) { x = 0; y = -18; };
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) { x = 0; y = 18; };
}
Единственное, что отличается от одного объекта к другому, это клавиатура, в этом случае клавиатура предназначена только для пользователя , кроме того, что я пропустил некоторый дополнительный код, который не так важен для вопроса, он было больше похоже на общий вопрос.
Поэтому мой вопрос заключается в том, должен ли я использовать шаблон стратегии только на алгоритме клавиатура или использовать на шаге move , чтобы сохранить строки кодов из всех объектов и сосредоточиться их в одном файле?