diff --git a/src/tutorialJava/capitulo5/ejercicios/bloque01_ArrayPersonas/Persona.java b/src/tutorialJava/capitulo5/ejercicios/bloque01_ArrayPersonas/Persona.java new file mode 100644 index 0000000..2946f1b --- /dev/null +++ b/src/tutorialJava/capitulo5/ejercicios/bloque01_ArrayPersonas/Persona.java @@ -0,0 +1,82 @@ +package tutorialJava.capitulo5.ejercicios.bloque01_ArrayPersonas; + +public class Persona { + + private String nombre; + private String apellidos; + private String dni; + private String direccion; + private String telefono; + + + public Persona() { + + } + + + public Persona(String nombre, String apellidos, String dni, String direccion, String telefono) { + super(); + this.nombre = nombre; + this.apellidos = apellidos; + this.dni = dni; + this.direccion = direccion; + this.telefono = telefono; + } + + + public String getNombre() { + return nombre; + } + + + public void setNombre(String nombre) { + this.nombre = nombre; + } + + + public String getApellidos() { + return apellidos; + } + + + public void setApellidos(String apellidos) { + this.apellidos = apellidos; + } + + + public String getDni() { + return dni; + } + + + public void setDni(String dni) { + this.dni = dni; + } + + + public String getDireccion() { + return direccion; + } + + + public void setDireccion(String direccion) { + this.direccion = direccion; + } + + + public String getTelefono() { + return telefono; + } + + + public void setTelefono(String telefono) { + this.telefono = telefono; + } + + + @Override + public String toString() { + return "Persona [nombre=" + nombre + ", apellidos=" + apellidos + ", dni=" + dni + ", direccion=" + direccion + + ", telefono=" + telefono + "]"; + } +} diff --git a/src/tutorialJava/capitulo5/ejercicios/bloque01_ArrayPersonas/Principal.java b/src/tutorialJava/capitulo5/ejercicios/bloque01_ArrayPersonas/Principal.java new file mode 100644 index 0000000..38a6fbb --- /dev/null +++ b/src/tutorialJava/capitulo5/ejercicios/bloque01_ArrayPersonas/Principal.java @@ -0,0 +1,63 @@ +package tutorialJava.capitulo5.ejercicios.bloque01_ArrayPersonas; + +import java.util.Scanner; + +public class Principal { + + private static Persona personas[] = new Persona[3]; + + + public static void main(String[] args) { + int opcion = 0; + Scanner sc = new Scanner(System.in); + + do { + opcion = muestraMenu(); + + switch (opcion) { + case 1: + for (int i = 0; i < personas.length; i++) { + personas[i] = new Persona(); + System.out.println("Introduzca nombre de persona"); + personas[i].setNombre(sc.nextLine()); + System.out.println("Introduzca apellidos de persona"); + personas[i].setApellidos(sc.nextLine()); + System.out.println("Introduzca dni de persona"); + personas[i].setDni(sc.nextLine()); + System.out.println("Introduzca dirección de persona"); + personas[i].setDireccion(sc.nextLine()); + System.out.println("Introduzca telefono de persona"); + personas[i].setTelefono(sc.nextLine()); + } + + break; + case 2: + for (int i = 0; i < personas.length; i++) { + System.out.println(personas[i].toString()); + } + break; + } + + } while (opcion != 0); + + } + + /* + * + */ + public static int muestraMenu() { + Scanner sc = new Scanner(System.in); + System.out.println("\n\nMenú" + + "\n0.- Salir" + + "\n1.- Introducir datos" + + "\n2.- Visualizar datos" + + "\n\tIntroduzca su opción: "); + return Integer.parseInt(sc.nextLine()); + } + +} + + + + + diff --git a/src/tutorialJava/capitulo5/independenceDayConHerencia/Malvado.java b/src/tutorialJava/capitulo5/independenceDayConHerencia/Malvado.java new file mode 100644 index 0000000..1df0755 --- /dev/null +++ b/src/tutorialJava/capitulo5/independenceDayConHerencia/Malvado.java @@ -0,0 +1,15 @@ +package tutorialJava.capitulo5.independenceDayConHerencia; + +import tutorialJava.Utils; + +public class Malvado extends Personaje { + + public Malvado() { + super(); + } + + public Malvado(String nombre) { + super(nombre); + } + +} diff --git a/src/tutorialJava/capitulo5/invasionTierra/CampoBatalla.java b/src/tutorialJava/capitulo5/invasionTierra/CampoBatalla.java new file mode 100644 index 0000000..453a23b --- /dev/null +++ b/src/tutorialJava/capitulo5/invasionTierra/CampoBatalla.java @@ -0,0 +1,110 @@ +package tutorialJava.capitulo5.invasionTierra; + +import tutorialJava.Utils; + +public class CampoBatalla { + private String nombre; + private Humano[] humanos = new Humano[20]; + private Malvado[] malvados = new Malvado[20]; + + /** + * + */ + public CampoBatalla() { +// Inicializo el array de humanos, al ultimo humano le duplico el valor de puntos de vida + for (int i = 0; i < humanos.length; i++) { + humanos[i] = new Humano(); + humanos[i].setNombre("Humano-" + i); + } + Humano ultimoHumano = humanos[humanos.length - 1]; + ultimoHumano.setPuntosVida(ultimoHumano.getPuntosVida() * 2); +// humanos[humanos.length - 1].setPuntosVida(humanos[humanos.length - 1 ].getPuntosVida() * 2); + +// Inicializo el array de Malvados + for (int i = 0; i < malvados.length; i++) { + malvados[i] = new Malvado(); + malvados[i].setNombre("Malvado-" + i); + } + Malvado ultimoMalvado = malvados[malvados.length - 1]; + ultimoMalvado.setPuntosVida(ultimoMalvado.getPuntosVida() * 2); + } + + /** + * + */ + public void mezclaHumanos() { + for (int i = 0; i < humanos.length; i++) { + int indiceAlAzar1 = Utils.obtenerNumeroAzar(0, humanos.length - 1); + int indiceAlAzar2 = Utils.obtenerNumeroAzar(0, humanos.length - 1); + + Humano aux = humanos[indiceAlAzar1]; + humanos[indiceAlAzar1] = humanos[indiceAlAzar2]; + humanos[indiceAlAzar2] = aux; + } + } + + /** + * + */ + public void mezclaMalvados() { + for (int i = 0; i < malvados.length; i++) { + int indiceAlAzar1 = Utils.obtenerNumeroAzar(0, malvados.length - 1); + int indiceAlAzar2 = Utils.obtenerNumeroAzar(0, malvados.length - 1); + + Malvado aux = malvados[indiceAlAzar1]; + malvados[indiceAlAzar1] = malvados[indiceAlAzar2]; + malvados[indiceAlAzar2] = aux; + } + } + + /** + * + * @return + */ + public Humano getPrimerHumanoVivo() { + for (int i = 0; i < humanos.length; i++) { + if (humanos[i].isVivo() == true) { + return humanos[i]; + } + } + return null; + } + + + public Malvado getPrimerMalvadoVivo() { + for (int i = 0; i < malvados.length; i++) { + if (malvados[i].isVivo() == true) { + return malvados[i]; + } + } + return null; + } + + + public void muestraEstadoActual() { + for (int i = 0; i < humanos.length; i++) { + System.out.print(humanos[i] + " - "); + } + System.out.println(); + for (int i = 0; i < malvados.length; i++) { + System.out.print(malvados[i] + " - "); + } + System.out.println("\n"); + } + +} + + + + + + + + + + + + + + + diff --git a/src/tutorialJava/capitulo5/invasionTierra/Humano.java b/src/tutorialJava/capitulo5/invasionTierra/Humano.java new file mode 100644 index 0000000..ad4bb5a --- /dev/null +++ b/src/tutorialJava/capitulo5/invasionTierra/Humano.java @@ -0,0 +1,51 @@ +package tutorialJava.capitulo5.invasionTierra; + +import tutorialJava.Utils; + +public class Humano { + private String nombre; + private int puntosVida; + private boolean vivo; + + + public Humano () { + puntosVida = Utils.obtenerNumeroAzar(50, 100); + vivo = true; + } + + public void recibirDisparo() { + puntosVida -= Utils.obtenerNumeroAzar(5, 25); + if (puntosVida <= 0) { + vivo = false; + puntosVida = 0; + } + } + + public String getNombre() { + return nombre; + } + + public void setNombre(String newNombre) { + nombre = newNombre; + } + + public int getPuntosVida () { + return puntosVida; + } + + public void setPuntosVida(int newPuntosVida ) { + puntosVida = newPuntosVida; + } + + public boolean isVivo() { + return vivo; + } + + public void setVivo(boolean newVivo) { + vivo = newVivo; + } + + public String toString() { + return nombre + ":" + puntosVida + ":" + vivo; + } +} diff --git a/src/tutorialJava/capitulo5/invasionTierra/Malvado.java b/src/tutorialJava/capitulo5/invasionTierra/Malvado.java new file mode 100644 index 0000000..66fa76b --- /dev/null +++ b/src/tutorialJava/capitulo5/invasionTierra/Malvado.java @@ -0,0 +1,50 @@ +package tutorialJava.capitulo5.invasionTierra; + +import tutorialJava.Utils; + +public class Malvado { + private String nombre; + private int puntosVida; + private boolean vivo; + + public Malvado() { + puntosVida = Utils.obtenerNumeroAzar(50, 100); + vivo = true; + } + + public void recibirDisparo() { + puntosVida -= Utils.obtenerNumeroAzar(5, 25); + if (puntosVida <= 0) { + vivo = false; + puntosVida = 0; + } + } + + public String getNombre() { + return nombre; + } + + public void setNombre(String newNombre) { + nombre = newNombre; + } + + public int getPuntosVida () { + return puntosVida; + } + + public void setPuntosVida(int newPuntosVida ) { + puntosVida = newPuntosVida; + } + + public boolean isVivo() { + return vivo; + } + + public void setVivo(boolean newVivo) { + vivo = newVivo; + } + + public String toString() { + return nombre + ":" + puntosVida + ":" + vivo; + } +} diff --git a/src/tutorialJava/capitulo5/invasionTierra/Principal.java b/src/tutorialJava/capitulo5/invasionTierra/Principal.java new file mode 100644 index 0000000..cdca158 --- /dev/null +++ b/src/tutorialJava/capitulo5/invasionTierra/Principal.java @@ -0,0 +1,62 @@ +package tutorialJava.capitulo5.invasionTierra; + +import java.util.Scanner; + +import tutorialJava.Utils; + +public class Principal { + + public static void main (String[] args) { + Scanner sc = new Scanner(System.in); + CampoBatalla campo = new CampoBatalla(); + + campo.mezclaHumanos(); + campo.mezclaMalvados(); + + campo.muestraEstadoActual(); + + do { + // Disparar sobre el primera malvado. Necesito que haya + // un humano vivo + if (campo.getPrimerHumanoVivo() != null) { + campo.getPrimerMalvadoVivo().recibirDisparo(); + } + + // Antes de disparar sobre un humano, debo comprobar que existe + // al menos un malvado vivo + if (campo.getPrimerMalvadoVivo() != null) { + campo.getPrimerHumanoVivo().recibirDisparo(); + } + + campo.muestraEstadoActual(); +// sc.nextLine(); + + } while (campo.getPrimerHumanoVivo() != null && + campo.getPrimerMalvadoVivo() != null); + + // Muestro el ganador + if (campo.getPrimerHumanoVivo() != null) { + System.out.println("\nHan ganado los humanos"); + } + else { + if (campo.getPrimerMalvadoVivo() != null) { + System.out.println("\nHan ganado los malvados"); + } + else { + System.out.println("\nEmpate"); + } + } + } + + +} + + + + + + + + + +