本文整理汇总了C++中Paddle::X_Vel方法的典型用法代码示例。如果您正苦于以下问题:C++ Paddle::X_Vel方法的具体用法?C++ Paddle::X_Vel怎么用?C++ Paddle::X_Vel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Paddle
的用法示例。
在下文中一共展示了Paddle::X_Vel方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RightCollideWithWall
/**************************************************************************//**
* @author Paul Blasi
*
* @par Description:
* The action the right paddle is to take when it collides with any wall. Keeps
* the paddles from travelling through walls.
*
* @param[in] col - the type of collision that occurred
*
*****************************************************************************/
void RightCollideWithWall(CollisionTypeEnum col)
{
if (col == RIGHT_COLLISION)
{
if (RIGHT_PLAYER.X_Vel() > 0)
{
RIGHT_PLAYER.ResetXSpeed();
}
}
if (col == LEFT_COLLISION)
{
if (RIGHT_PLAYER.X_Vel() < 0)
{
RIGHT_PLAYER.ResetXSpeed();
}
}
if (col == TOP_COLLISION)
{
if (RIGHT_PLAYER.Y_Vel() > 0)
{
RIGHT_PLAYER.ResetYSpeed();
}
}
if (col == BOTTOM_COLLISION)
{
if (RIGHT_PLAYER.Y_Vel() < 0)
{
RIGHT_PLAYER.ResetYSpeed();
}
}
}
示例2: BallCollideWithRightPaddle
/**************************************************************************//**
* @author Paul Blasi, Caitlin Taggart
*
* @par Description:
* The action a ball is to take when it collides with the right paddle
*
* @param[in] col - the type of collision that occurred
*
*****************************************************************************/
void BallCollideWithRightPaddle(CollisionTypeEnum col)
{
BALL.BounceOffPaddle(col);
float ratio = ((RIGHT_PLAYER.Center.Y - BALL.Center.Y) / (RIGHT_PLAYER.Center.Y - RIGHT_PLAYER.Y_Max()));
BALL.BounceOffPaddle(ratio);
if (RIGHT_PLAYER.X_Vel() <= 0)
{
if (RIGHT_PLAYER.Velocity() > BALL.Velocity())
{
BALL.IncreaseSpeed((RIGHT_PLAYER.Velocity() - BALL.Velocity()) / 3);
}
else
{
BALL.DecreaseSpeed(-1 * (RIGHT_PLAYER.Velocity() - BALL.Velocity()) / 3);
}
}
if (LAST_PADDLE_COLLISION != "Right")
{
LEFT_PLAYER.ReduceSize();
RIGHT_PLAYER.ReduceSize();
}
LAST_PADDLE_COLLISION = "Right";
}
示例3: UpdatePaddles
/**************************************************************************//**
* @author Paul Blasi
*
* @par Description:
* Updates each of the paddles x and y speeds every 1/3rd of a second
*
*****************************************************************************/
void UpdatePaddles()
{
if ((KEYSTATE['w'] || KEYSTATE['W']) && !PAUSED)
{
LEFT_PLAYER.ChangeYSpeed(PADDLE_INC);
}
else if (LEFT_PLAYER.Y_Vel() > 0)
{
if (LEFT_PLAYER.Y_Vel() < PADDLE_DEC)
{
LEFT_PLAYER.ResetYSpeed();
}
else
{
LEFT_PLAYER.ChangeYSpeed(-1 * PADDLE_DEC);
}
}
if ((KEYSTATE['a'] || KEYSTATE['A']) && !PAUSED)
{
LEFT_PLAYER.ChangeXSpeed((-1)*PADDLE_INC);
}
else if (LEFT_PLAYER.X_Vel() < 0)
{
if (LEFT_PLAYER.X_Vel() > -1 * PADDLE_DEC)
{
LEFT_PLAYER.ResetXSpeed();
}
else
{
LEFT_PLAYER.ChangeXSpeed(PADDLE_DEC);
}
}
if ((KEYSTATE['s'] || KEYSTATE['S']) && !PAUSED)
{
LEFT_PLAYER.ChangeYSpeed(-1 * PADDLE_INC);
}
else if (LEFT_PLAYER.Y_Vel() < 0)
{
if (LEFT_PLAYER.Y_Vel() > -1 * PADDLE_DEC)
{
LEFT_PLAYER.ResetYSpeed();
}
else
{
LEFT_PLAYER.ChangeYSpeed(PADDLE_DEC);
}
}
if ((KEYSTATE['d'] || KEYSTATE['D']) && !PAUSED)
{
LEFT_PLAYER.ChangeXSpeed(PADDLE_INC);
}
else if (LEFT_PLAYER.X_Vel() > 0)
{
if (LEFT_PLAYER.X_Vel() < PADDLE_DEC)
{
LEFT_PLAYER.ResetXSpeed();
}
else
{
LEFT_PLAYER.ChangeXSpeed(-1 * PADDLE_DEC);
}
}
if (SPECKEYSTATE[GLUT_KEY_LEFT] && !PAUSED)
{
RIGHT_PLAYER.ChangeXSpeed(-1 * PADDLE_INC);
}
else if (RIGHT_PLAYER.X_Vel() < 0)
{
if (RIGHT_PLAYER.X_Vel() > -1 * PADDLE_DEC)
{
RIGHT_PLAYER.ResetXSpeed();
}
else
{
RIGHT_PLAYER.ChangeXSpeed(PADDLE_DEC);
}
}
if (SPECKEYSTATE[GLUT_KEY_RIGHT] && !PAUSED)
{
RIGHT_PLAYER.ChangeXSpeed(PADDLE_INC);
}
else if (RIGHT_PLAYER.X_Vel() > 0)
{
if (RIGHT_PLAYER.X_Vel() < PADDLE_DEC)
//.........这里部分代码省略.........