private void goalIsDone() { if (puck.getTeamThatScored() == 0) { team0.addPoint(); } else if (puck.getTeamThatScored() == 1) { team1.addPoint(); } resetObjects(); }
private void checkCollisionWithObjectForPuck() { ArrayList<Player> playerArray = new ArrayList<>(); playerArray.addAll(team0.getPlayers()); playerArray.addAll(team1.getPlayers()); for (Player otherPlayer : playerArray) { puck.checkCollisionWithObject(otherPlayer, endTurnStepTime); } }
private void moveAllObjects(long timeStep) { ArrayList<Player> playerArray = new ArrayList<>(); playerArray.addAll(team0.getPlayers()); playerArray.addAll(team1.getPlayers()); for (Player player : playerArray) { player.moveObject(timeStep); checkCollisionWithOtherObjectForPlayer(player); } puck.moveObject(timeStep); checkCollisionWithObjectForPuck(); }
private boolean checkAnyMovement() { for (int i = 0; i < team0.getPlayers().size(); i++) { if (team0.getTeamMember(i).isMoving()) { return true; } } for (int i = 0; i < team1.getPlayers().size(); i++) { if (team1.getTeamMember(i).isMoving()) { return true; } } if (puck.isMoving()) { return true; } return false; }
private void endTurnLoop() { boolean readyToMove = false; if (!checkAnyMovement()) { if (testWithoutNetwork) { if (testIsReady) { readyToMove = true; } } else if (thisIsAServer) { readyToMove = server.isDataReady(); } else { readyToMove = client.isDataReady(); } } if (checkAnyMovement() || readyToMove) { moveAllObjects(endTurnStepTime); transferData2Paint(); paint.repaint(); if (puck.isGoalDone()) { goalIsDone(); } } }
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 transferData2Paint() { paint.setTeamA(team0); paint.setTeamB(team1); paint.setPuck(new GraphicalCircle(puck.getCoord(), puck.getDiameter())); }
private void resetObjects() { puck.reset(); team0.resetTeam(); team1.resetTeam(); paint.repaint(); }
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; } } }
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(); } }
public void collideWithPuck(Puck aPuck, Point aPoint) { aPuck.reverseY(); }