import java.util.Scanner; public class InicioJuego{ public static void main(String[] args) { //Preparamos las herramientas int cantidadJugadas = 0; boolean ganador = false; Scanner teclado = new Scanner(System.in); VacaYToro proceso = new VacaYToro(); Verificador verificar = new Verificador(); Html escribirArchivo = new Html(); int probar = 0; int cantVacas = 0; int cantToros = 0; //Preparamos la pagina html escribirArchivo.introHtml(); escribirArchivo.preparacionEscribirLineaJuego(); //Creamos el numero a adivinar aleatoriamente //Primero obtenemos un numero aleatorio que sus 4 digitos sean distintos boolean terminar = false; int numeroAdivinar = 0; while(!terminar){ numeroAdivinar=0; for(int i = 0;i < 4;i++){ numeroAdivinar = numeroAdivinar*10; numeroAdivinar+= (int)9*Math.random(); } terminar = verificar.verificar(numeroAdivinar); } System.out.println("Numero a adivinar: "+ numeroAdivinar); escribirArchivo.escribirLineaJuego("Numero a adivinar: "+ numeroAdivinar); //Ahora vamos a realizar el juego //El while termina cuando se logro todos los intentos posibles o cuando hay un ganador while(cantidadJugadas<12 && !ganador){ try{//El try se usa para ver si el jugador carga un numero o una palabra alfanumerica //El while termina cuando el jugador carga un numero de 4 digitos todos distintos, y si se cargo la cantidad de //digitos correctos. terminar = false; while(!terminar){ System.out.print("Intento "+(cantidadJugadas+1)+": "); probar = teclado.nextInt(); escribirArchivo.escribirLineaJuego("Intento "+(cantidadJugadas+1)+": " + probar); terminar = verificar.verificar(probar); if(!terminar){ System.out.println("El numero cargado es incorrecto. Solo tiene 4 digitos y tienen que tener distintos valores"); System.out.println("Intente de nuevo"); } } //Se obtiene la cantidad de toros y la cantidad de vacas cantVacas = proceso.cantidadVaca(numeroAdivinar,probar); cantToros = proceso.cantidadToro(numeroAdivinar,probar); if(cantToros==4){ System.out.println("Respuesta: " + cantToros + " toros, " + cantVacas + " vacas."); escribirArchivo.escribirLineaJuego("Respuesta: " + cantToros + " toros, " + cantVacas + " vacas."); System.out.println("Por lo tanto, gano en el intento " + ""+ (cantidadJugadas + 1)); escribirArchivo.escribirLineaJuego("Por lo tanto, gano en el intento " + ""+ (cantidadJugadas + 1)); ganador = true; break; }else{ System.out.println("Respuesta: " + cantToros + " toros, " + cantVacas + " vacas."); escribirArchivo.escribirLineaJuego("Respuesta: " + cantToros + " toros, " + cantVacas + " vacas."); } cantidadJugadas++; proceso.vaciarContador();//Reinicia el contador para ver la cantidad de vacas y toros en el proximo intento. }catch(Exception e){//Esto capta el error de cuando el jugador no ingreso un numero System.out.println("Tiene que cargar un numero, no una palabra alfanumerica o equivalente"); break; } }//Se imprime el mensaje de perdedor si no gano el juego if(!ganador){ System.out.println("No gano el juego"); escribirArchivo.escribirLineaJuego("No gano el juego"); } System.out.println("Fin del juego"); escribirArchivo.escribirLineaJuego("Fin del juego"); escribirArchivo.cerrarHtml(); teclado.close(); } }