Merge branch 'devsave' of collaborating.tuhh.de:czg6669/breakout into devsave
This commit is contained in:
commit
68f60a866f
@ -457,11 +457,11 @@ void BALL_MoveAwayFromBoundaries(Ball * obj){
|
|||||||
bool BALL_CollideWithPaddle(Ball * obj, Paddle * paddle){
|
bool BALL_CollideWithPaddle(Ball * obj, Paddle * paddle){
|
||||||
if (RECT_Collide(&(obj->TargetRect), &(paddle->TargetRect))) {
|
if (RECT_Collide(&(obj->TargetRect), &(paddle->TargetRect))) {
|
||||||
Vector ballCenter = BALL_GetCenter(obj);
|
Vector ballCenter = BALL_GetCenter(obj);
|
||||||
if (ballCenter.y > (paddle->TargetRect).y) // if the ball hits the paddle from the sides (or the bottom (?))
|
if ((ballCenter.x) > ((paddle->TargetRect).x) || (ballCenter.x) < ((paddle->TargetRect).x + (paddle->TargetRect).w)) // if the ball hits the paddle from the sides (or the bottom (?))
|
||||||
BALL_CollideWithRect(obj, &(paddle->TargetRect));
|
BALL_SteerMomentum(obj, paddle); // Sets it to unit vector!
|
||||||
else
|
else
|
||||||
BALL_SteerMomentum(obj, paddle); // Sets it to unit vector!
|
BALL_CollideWithRect(obj, &(paddle->TargetRect));
|
||||||
// Following assumes that the paddle position was udated before the ball was updated
|
// Following assumes that the paddle position was udated before the ball was updated
|
||||||
while (RECT_Collide(&(obj->TargetRect), &(paddle->TargetRect))) { // Move away from rect in small steps
|
while (RECT_Collide(&(obj->TargetRect), &(paddle->TargetRect))) { // Move away from rect in small steps
|
||||||
(obj->Location) = VECTOR_Add((obj->Location), (obj->Momentum));
|
(obj->Location) = VECTOR_Add((obj->Location), (obj->Momentum));
|
||||||
BALL_MoveAwayFromBoundaries(obj);
|
BALL_MoveAwayFromBoundaries(obj);
|
||||||
|
@ -135,6 +135,7 @@ void GAMEOVER_MouseClicked(SDL_MouseButtonEvent b, Scenery * scenery){
|
|||||||
GAME_ChangeState(Highscores);
|
GAME_ChangeState(Highscores);
|
||||||
} else if (clickInRect(b, &GAMEOVER_RestartButtonRect)) {
|
} else if (clickInRect(b, &GAMEOVER_RestartButtonRect)) {
|
||||||
printf("Restart was called from gameover!\n");
|
printf("Restart was called from gameover!\n");
|
||||||
|
GAMEOVER_UploadState = Initial;
|
||||||
GAME_Restart();
|
GAME_Restart();
|
||||||
GAME_ChangeState(Game);
|
GAME_ChangeState(Game);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user