コード例 #1
0
ファイル: WorldManager.cpp プロジェクト: schen59/Pong
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
ファイル: Game.cpp プロジェクト: tliang1/CPP-SFMLv2.3.2-Pong
void Game::nextRound(Paddle &player, Paddle &cpu, Ball &ball)
{
	player.reset();
	cpu.reset();
	ball.reset();
}