0% found this document useful (0 votes)
9 views3 pages

Message

Uploaded by

alexromera2002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views3 pages

Message

Uploaded by

alexromera2002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

import java.io.

BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Scanner;

//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or


// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
static Scanner sc = new Scanner(System.in);

public static final String ANSI_BLACK_BACKGROUND = "\u001B[0m";


public static final String ANSI_GREEN_BACKGROUND = "\u001B[42m";
public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m";

public static void main(String[] args) {


try {
//Modifique la ruta si es necesario
FileReader listaPalabras = new FileReader("C:\\Users\\qdequ\\Fotitos\\
palabras.txt");
BufferedReader listaPro = new BufferedReader(listaPalabras);
String linea = listaPro.readLine();
String palabras = linea;
while (linea!=null){
linea= listaPro.readLine();
palabras += linea;
}
adivinaPalabra(escogerPalabra(palabras));

} catch (IOException e) {
throw new RuntimeException(e);
}

public static String escogerPalabra(String palabras){


Scanner cuenta = new Scanner(palabras);
int i = 0;
while (cuenta.hasNext()){
cuenta.next();
i++;
}
i = (int) ((Math.random() * i)+1);
Scanner eleccion = new Scanner(palabras);
for (int j = 0; j < i; j++) {
eleccion.next();
}
String elegida = eleccion.next();
String elegidaSincoma = "";
for (int j = 0; j < 5; j++) {
elegidaSincoma+= elegida.charAt(j);
}
return elegidaSincoma;
}

public static void adivinaPalabra (String palabro){


palabro = palabro.toUpperCase();
ArrayList<Character> descomposicion = new ArrayList<>();
for (int i = 0; i < palabro.length(); i++) {
descomposicion.add(palabro.charAt(i));
}
int vidas = 6;
System.out.println("Debes adivinar una palabra de "+palabro.length()+"
letras.");

//Bucle de juego
while(vidas>0) {
System.out.println("Vidas restantes: "+vidas);
String conjetura = sc.nextLine();
while (conjetura.length() != palabro.length()) {
System.out.println("La palabra introducida debe tener " +
palabro.length() + " carácteres");
conjetura = sc.nextLine();
}
conjetura = conjetura.toUpperCase();
if (conjetura.equals(palabro)) {
for (int i = 0; i < palabro.length(); i++) {
System.out.print(ANSI_GREEN_BACKGROUND + " " +
conjetura.charAt(i) + " " + ANSI_BLACK_BACKGROUND + " ");
}
System.out.println("\nHas ganado");
} else {
ArrayList<Character> colores = new ArrayList<>();
for (int i = 0; i < conjetura.length(); i++) {
colores.add('g');
}

ArrayList<Character> desconjetura = new ArrayList<>();


for (int i = 0; i < conjetura.length(); i++) {
desconjetura.add(conjetura.charAt(i));
}

for (int i = 0; i < palabro.length(); i++) {


if (desconjetura.get(i).equals(descomposicion.get(i))) {
colores.set(i, 'v');
} else if
(palabro.contains(Character.toString(desconjetura.get(i)))) {
colores.set(i, 'a');
}
}
for (int i = 0; i < palabro.length(); i++) {
if (colores.get(i).equals('a')) {
System.out.print(ANSI_YELLOW_BACKGROUND + " " +
desconjetura.get(i) + " " + ANSI_BLACK_BACKGROUND + " ");
} else if (colores.get(i).equals('v')) {
System.out.print(ANSI_GREEN_BACKGROUND + " " +
desconjetura.get(i) + " " + ANSI_BLACK_BACKGROUND + " ");
} else {
System.out.print(" " + desconjetura.get(i) + " ");
}
}
}
System.out.println();
vidas--;
}
System.out.println("La palabra que buscabas es :"+palabro);
}
}

You might also like