feat(ch 5 & 6): examples added

This commit is contained in:
Rafa Muñoz
2025-01-06 11:32:00 +01:00
parent ef5b331c81
commit 61a60b9706
54 changed files with 2617 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
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;
}
}