mirror of
https://gitlab.com/tutorial-java-rafa-munoz/tutorial-java-2024-25/tutorialjava2024-25.git
synced 2025-11-09 18:03:09 +01:00
100 lines
2.2 KiB
Java
100 lines
2.2 KiB
Java
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;
|
|
}
|
|
}
|