Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import java.util.ArrayList;
- import java.util.Scanner;
- /**
- Juego de David
- El metodo jugar elige una palabra aleatoria de una lista de posibles
- palabras y permite al usuario o bien ir indicando letras. Si la letra no esta
- en la palabra el jugador va perdiendo vida. Si esta se muestra la palabra
- con las letras que el usuario haya indicado.
- Si el jugador pierde toda su vida se acaba el juego. Si acierta la palabra
- antes de que se le acabe la vida se le concede un bonus de vida y
- se vuelve a empezar.
- */
- public class Juego {
- // No admite palabras mayores de 10 letras
- public void jugar() {
- // Esta parte del código crea las variables iniciales y las palabras
- // disponibles.
- ArrayList<String> palabras = new ArrayList<String>();
- palabras.add("Cacao");
- palabras.add("Leche");
- palabras.add("Apple");
- palabras.add("Valve");
- int health = 100;
- int aciertos = 0;
- // En el siguiente bucle es donde se realiza la mayor parte del algoritomo
- // se crean las variables necesarias, y mediante bluces y condicionales
- // se comprueba si la letra / palabra introducida por el usuario es
- // válida o coincide.
- while (true) {
- Random rnd = new Random();
- int numeroIA = rnd.nextInt(4);
- String palabraTemp = palabras.get(numeroIA);
- Scanner input = new Scanner(System.in);
- ArrayList<String> resultado = new ArrayList<String>();
- for (int contador = 0; contador < palabraTemp.length(); contador++) {
- resultado.add("_");
- }
- while (health > 0 && aciertos != palabraTemp.length()) {
- System.out.println("Introduce una letra");
- String entradaUser = input.next().toLowerCase();
- boolean find = false;
- if (entradaUser.equals(palabraTemp.toLowerCase())) {
- aciertos = palabraTemp.length();
- }
- else {
- for (int contador = 0; contador < palabraTemp.length(); contador++) {
- if (entradaUser.equals(palabraTemp.substring(contador, (contador + 1)).toLowerCase())) {
- find = true;
- for (int contador2 = 0; contador2 < palabraTemp.length(); contador2++) {
- if (entradaUser.equals(palabraTemp.substring(contador2, (contador2 + 1)).toLowerCase())) {
- aciertos++;
- resultado.set(contador2, entradaUser);
- }
- contador = palabraTemp.length();
- }
- }
- }
- if (find) {
- System.out.println("Has encontrado " + aciertos + " letras");
- for (int contador = 0; contador < resultado.size(); contador++) {
- System.out.print(resultado.get(contador));
- }
- }
- else {
- health = health - 10;
- System.out.println("No has acertado, di otra letra");
- }
- }
- }
- if (health == 0) {
- System.out.println("Has perdido");
- }
- else {
- System.out.println("Has ganado");
- System.out.println("Se te dará un bonus de vida de 80 puntos para que puedas seguir jugando");
- health += 80;
- aciertos = 0;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement