功能也超出了它的预期

时间:2014-03-31 01:22:21

标签: c++

我使用x坐标来决定玩家的移动 int xCoord=36;
我每个周期都会调用以下方法 唯一的问题是,有时候调用它会移动两个空格,因为它应该移动更多的e.x. 20。

void game::processUserInput()
  {
    getUserInput();
      if(72-xCoord > 0)
        {
          if(isEventMoveRight() == true)
             {
               xCoord = xCoord+2;
             }
        }
       if(xCoord > 0)
        {
          if(isEventMoveLeft() == true)
             {
               xCoord = xCoord-2;
             }
        }   
   }

1 个答案:

答案 0 :(得分:0)

您的代码没有任何问题可能导致它在xCoord中添加或删除太多 - 您显然会像其他人评论的那样经常调用它。无论它值多少,你的代码都可以清理一下:

void game::processUserInput()
{
    getUserInput();
    if (isEventMoveRight() && xCoord < 72)
        xCoord += 2;
    else if (isEventMoveLeft() && xCoord > 0)
        xCoord -= 2;

}