示例#1
0
void WorldManager::updateObjects() {
	Ball *ball = mWorld->getBall();
	Paddle *leftPlayer = mWorld->getLeftPlayer();
	Paddle *rightPlayer = mWorld->getRightPlayer();
	if (isBallHitByLeftPaddle() || isBallHitByRightPaddle()) { 
		ball->reverseHorizontalDirection();
		putBallAtPaddleEdge();
		ball->setSpeed(ball->getSpeed() + SPEED_INC_STEP);
	    leftPlayer->setSpeed(leftPlayer->getSpeed() + SPEED_INC_STEP);
	    rightPlayer->setSpeed(rightPlayer->getSpeed() + SPEED_INC_STEP);
	} 
	if (isBallCollideWithTopWall() || isBallCollideWithBottomWall()) {
		ball->reverseVerticalDirection();
		putBallAtWallEdge();
	}
	if (isBallCollideWithLeftWall() || isBallCollideWithRightWall()) {
		ball->reset();
		leftPlayer->reset();
		rightPlayer->reset();
	}
}
示例#2
0
void Game::nextRound(Paddle &player, Paddle &cpu, Ball &ball)
{
	player.reset();
	cpu.reset();
	ball.reset();
}