package tutorialJava.capitulo5.simulacroExamen02_arkanoid; import java.util.Iterator; import tutorialJava.Utils; public class Juego { private Ladrillo ladrillos[] = new Ladrillo[20]; private Pelota pelota = new Pelota(); private Ladrillo ladrillosDestruidos[] = new Ladrillo[20]; private int contadorLadrillosDestruidos = 0; public Juego() { for (int i = 0; i < ladrillos.length; i++) { ladrillos[i] = new Ladrillo(); ladrillos[i].setNombre("L" + i); } } /** * */ public void jugar() { do { pelota.mueveAlAzar(); boolean colisionConLadrillos = false; for (Ladrillo l : ladrillos) { if (l.getPuntosVida() > 0) { if (pelota.chocaConLadrillo(l)) { l.quitoPuntoDeVida(); colisionConLadrillos = true; agregaLadrilloADestruidosSiCorresponde(l); } } } if (colisionConLadrillos == true) { muestraArrayLadrillos(); } } while (quedanLadrillos()); // Estadísticas System.out.println("Primero en ser destruido: " + ladrillosDestruidos[0].toString()); System.out.println("Último en ser destruido: " + ladrillosDestruidos[ladrillosDestruidos.length - 1].toString()); System.out.println("Orden de destrucción de los ladrillos"); muestraArrayLadrillosDestruidos(); } private void agregaLadrilloADestruidosSiCorresponde(Ladrillo l) { if (l.getPuntosVida() <= 0) { ladrillosDestruidos[contadorLadrillosDestruidos] = l; contadorLadrillosDestruidos++; } } private void muestraArrayLadrillosDestruidos() { for (Ladrillo l : ladrillosDestruidos) { System.out.print(l.toString() + "-"); } System.out.println(); } private void muestraArrayLadrillos() { for (Ladrillo l : ladrillos) { if (l.getPuntosVida() > 0) { System.out.print(l.toString() + "-"); } } System.out.println(); } private boolean quedanLadrillos() { for (Ladrillo l : ladrillos) { if (l.getPuntosVida() > 0) { return true; } } return false; } public Ladrillo[] getLadrillos() { return ladrillos; } public void setLadrillos(Ladrillo[] ladrillos) { this.ladrillos = ladrillos; } public Pelota getPelota() { return pelota; } public void setPelota(Pelota pelota) { this.pelota = pelota; } }