private void checkForBorderCollision() { // if the puck leaves the bottom of the screen if (puck.getCenter().y >= screenHeight) { puck.setSpeedX(0.0f); puck.setSpeedY(0.0f); fail = true; } // if the puck crashes against the wall float borderXLeft = (float) ((screenWidth * (screenHeight - 1.5 * puck.getCenter().y)) / (6 * screenHeight)); float borderXRight = screenWidth - borderXLeft; if (puck.getCollisionRect().left <= borderXLeft) { puck.setSpeedX(-puck.getSpeedX() * 0.9f); puck.setPosX((int) (borderXLeft + 2)); puck.playBarrierSound(); } if (puck.getCollisionRect().right >= borderXRight) { puck.setSpeedX(-puck.getSpeedX() * 0.9f); puck.setPosX((int) (borderXRight - puck.getWidth() - 2)); puck.playBarrierSound(); } }
private boolean checkForGoal() { // if the puck stops at the keeper boolean collision = false; if (rectCollision(keeper.getCollisionRect(), puck.getCollisionRect())) { puck.setSpeedX(0); puck.setSpeedY(0); fail = true; collision = true; // if the puck goes behind the line } else if (puck.getCollisionRect().top <= 150) { puck.setSpeedX(0); puck.setSpeedY(0); collision = true; if (puck.getCenter().x >= screenWidth / 2 + screenWidth / 9 || puck.getCenter().x <= screenWidth / 2 - screenWidth / 9) { fail = true; } else { goal = true; } } return collision; }
private void checkForDefenderCollision() { for (Defender defender : staticDefenderList) { if (rectCollision(defender.getCollisionRect(), puck.getCollisionRect())) { puck.setSpeedX(0.0f); puck.setSpeedY(0.0f); fail = true; } if (rectCollision(defender.getCollisionRect(), player.getCollisionRect())) { player.setSpeedX(0.0f); player.setSpeedY(0.0f); puck.setSpeedX(0.0f); puck.setSpeedY(0.0f); fail = true; } } for (MobileDefender defender : mobileDefenderList) { if (rectCollision(defender.getCollisionRect(), puck.getCollisionRect())) { puck.setSpeedX(0.0f); puck.setSpeedY(0.0f); fail = true; } if (rectCollision(defender.getCollisionRect(), player.getCollisionRect())) { player.setSpeedX(0.0f); player.setSpeedY(0.0f); puck.setSpeedX(0.0f); puck.setSpeedY(0.0f); fail = true; } } for (SmartDefender defender : smartDefenderList) { if (rectCollision(defender.getCollisionRect(), puck.getCollisionRect())) { puck.setSpeedX(0.0f); puck.setSpeedY(0.0f); fail = true; } if (rectCollision(defender.getCollisionRect(), player.getCollisionRect())) { player.setSpeedX(0.0f); player.setSpeedY(0.0f); puck.setSpeedX(0.0f); puck.setSpeedY(0.0f); fail = true; } } }