private void shipCrash(Ball ball) { ArrayList<Integer> lr = getPointListUp(ball.getRadio(), ball.getXC(), ball.getYC()); int r2 = (int) Math.pow(ball.getRadio(), 2); if (lr.contains(r2) && ball.getDY() >= 0) { ball.setDY(ball.getDY() * -1); ball.setAllFirst(); } }
private void verifyCrashes() { borderCrash(ball); // CRASHES TO THE SHIPBALL FALLING DOWN if ((ball.getYC() + ball.getRadio()) >= ship.sideY1 && ball.getDY() >= 0) { ship.shipCrash(ball); } // CRASHES TO THE WALL WITH BALL boolean cmpSideY2 = (ball.getYC() - ball.getRadio()) <= wall.sideY2 && ball.getDY() <= 0; boolean cmpSideY1 = (ball.getYC() + ball.getRadio()) >= wall.sideY1 && ball.getDY() >= 0; if (cmpSideY1 || cmpSideY2) { wall.blockListCrashes(ball); } }
public void run() { try { ball = new Ball(10, 500, 660, -1, -1, Color.white); ship = new Ship(500, 685, 120, 30, Color.cyan); wall.fillBockList(); wall.blockListUpdatepoints(); // sound.soundtrack(); margin(); while (true) { System.out.println(min); // playMusic(); try { // System.out.println("\n"); // graphDB.fillRect(0,0, width, height); graphDB.clearRect(26, 47, getWidth() - 326, getHeight() - 72); // CRASHES verifyCrashes(); // borderCrash(ball); // ship.shipCrash(ball); // wall.blockListCrashes(ball); // UPDATE ELEMENTS wall.blockListKill(ship); ball.wayCalculator(); wall.boomListUpdate(); ship.move(); ship.updateGuns(); ship.updatePoints(); // save ship points // PAINT ELEMENTS ship.paintAllGuns(graphDB); ship.paintShip(graphDB); ball.paintBall(graphDB, ball.getRadio(), ball.getXC(), ball.getYC()); wall.paintBlockList(graphDB); // --wall.painBlockMaze(graphDB); // efects wall.boomEfect(graphDB); repaint(); sleep(5); } catch (InterruptedException ex) { System.out.println("there is a error in the while.....!!!!"); } } } catch (Exception e) { System.out.println("there is a error!!!!"); } }