Где правильное место в функции, чтобы использовать шаблон стратегии - PullRequest
0 голосов
/ 04 июня 2019

Я новичок в подходе шаблона проектирования. Я разрабатываю игру под названием 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 , чтобы сохранить строки кодов из всех объектов и сосредоточиться их в одном файле?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...