我正在用 C++ 制作一个小游戏,我想知道如何优化我的分支。看看这段代码:
if (
isUpPressed ||
isDownPressed ||
isLeftPressed ||
isRightPressed ||
isSpacePressed
) {
if (isUpPressed)
state |= State::MoveUp;
if (isDownPressed)
state |= State::MoveDown;
if (isLeftPressed)
state |= State::MoveLeft;
if (isRightPressed)
state |= State::MoveRight;
if (isSpacePressed)
state |= State::Jump);
} else
state = State::Still;
我想要实现的是:如果按下了上、下、左、右或空格,则设置state
为适当的值。如果这些条件都不成立,请将状态设置为State::Still
。我的代码有效,但感觉好像我做错了。一定会有更好的办法。我的问题是:
如何仅在所有指定条件都失败时执行块,如果一个或多个条件为真,则执行特定于每个条件的块,而不像我一样使用嵌套if
和大量运算符?||