From 8fecac91a660965340a5b2269b60aacbfd90acc6 Mon Sep 17 00:00:00 2001 From: roshka Date: Tue, 9 Oct 2018 17:39:38 -0300 Subject: [PATCH] Trabajo HTML --- Cuestionario.txt | 41 +++++++++++++++++++++++++++++++++++++++++ README.md | 40 ++++++++++++++++++++++++++++++++++++++++ biografia.html | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ clausura.html | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ hola.html | 4 ++++ wu-e001/Html.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wu-e001/InicioJuego.java | 43 +++++++++++++++++++++++++++++++++++++++++++ wu-e001/Juego.java | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wu-e001/Tablero.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ wu-e001/favicon.ico | Bin 0 -> 3630 bytes wu-e002/Html.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wu-e002/InicioJuego.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wu-e002/VacaYToro.java | 39 +++++++++++++++++++++++++++++++++++++++ wu-e002/Verificador.java | 21 +++++++++++++++++++++ wu-e002/bull-icon_34111.ico | Bin 0 -> 67646 bytes 15 files changed, 829 insertions(+) create mode 100644 Cuestionario.txt create mode 100644 README.md create mode 100644 biografia.html create mode 100644 clausura.html create mode 100644 hola.html create mode 100644 wu-e001/Html.java create mode 100644 wu-e001/InicioJuego.java create mode 100644 wu-e001/Juego.java create mode 100644 wu-e001/Tablero.java create mode 100644 wu-e001/favicon.ico create mode 100644 wu-e002/Html.java create mode 100644 wu-e002/InicioJuego.java create mode 100644 wu-e002/VacaYToro.java create mode 100644 wu-e002/Verificador.java create mode 100644 wu-e002/bull-icon_34111.ico diff --git a/Cuestionario.txt b/Cuestionario.txt new file mode 100644 index 0000000..8388e89 --- /dev/null +++ b/Cuestionario.txt @@ -0,0 +1,41 @@ +Respuesta cuestionario +1 - El motor de renderizado es "el pintor" de la pantalla, que toma las intruccione de marcas (como Html, XML, etc.), elementos de formateo (CSS, XSL, etc.) y elementos multimedia (como imagenes, fotos, videos, etc.) y lo dibuja en entorno como en un navegador web de acuerdo a "su talento o capacidad artistica". Es como si un cliente encarga a un pintor en como quiere su pintura. +2 - Le pido al niño, por ejemplo, que dibuje una casa con un fondo de dia, y que debe contener el fondo de dia. Luego tambien dibujo lo mismo. Le hago comparar ambos dibujos y le digo: ¿Ves que ambos dibujos son distintos aunque tengan los mismos elementos?. Le hago comparar "mi sol con su sol por ejemplo". Y entonces le digo: Esta diferencia de como dibujamos es el capacidad del motor de renderizado. +3 - + Rendering Engine de Google Chrome: Blink + Rendering Engine de Google Chrome para Android: WebView + Rendering Engine de Google Chrome para iOS: WKWebView + Rendering Engine de Safari para mac OS: Webkit, nitro + Rendering Engine de Safari para iOS: WebKit + Rendering Engine de Firefox: Quantum layout engine + Rendering Engine de Firefox para Android: Quantum layout engine + Rendering Engine de Firefox para iOS: WebKit-based rendering framework instead of Gecko. + Rendering Engine de Internet Explorer: Trident + Rendering Engine del Opera: Presto +4 - + @ Ebook reader al leer el formato .epub. + @ Dispositivos GPS, como el formato GPX para los dispositivos Garmin. +5 - Ambos son lenguajes de marcado, pero se diferencia en su proposito. Mientras que el HTML es unicamente para la creación de páginas web, el XML sirve mas para propositos universales, como por ejemplo, el diseño de la interfaz de las aplicaciones android. +6 - El webserver es la aplicación que está ejecutandose en el lado de la maquina servidor, y procesa las instrucciones HTTP obtenidas de la maquina cliente. El HTML es el resultado del proceso de la instrucción HTTP, y dicha resultado envia el servidor al cliente para que el motor de renderizado procese dicho HTML, y muestre en pantalla en su navegador web. +7 - + Version: HTML 2.0 + Fecha de lanzamiento: 1995 + Primeros Navegadores que la soportaron: Internet Explorer, Netscape, Mosaic, Opera + Cambios más resaltantes con respecto a las versiones anteriores: Esta es la primera versión + + Version: HTML 3.2 + Fecha de lanzamiento: 1997 + Primeros Navegadores que la soportaron: Internet Explorer, Netscape, Mosaic, Opera + Cambios más resaltantes con respecto a las versiones anteriores: agrega características ampliamente implementadas, como tablas, applets y flujo de texto en torno a las imágenes, al tiempo que ofrece una completa compatibilidad hacia atrás con el estándar HTML 2.0 existente. También ya soporta applets de java. + + Version: HTML 4.1 + Fecha de lanzamiento: 24 de diciembre del 1999 + Primeros Navegadores que la soportaron: Internet Explorer, Opera, Mozilla. + Cambios más resaltantes con respecto a las versiones anteriores: HTML 4 admite más multimedia opciones, lenguajes de script, hojas de estilo, mejores facilidades de impresión y documentos que son más accesibles para los usuarios con discapacidades. HTML 4 también da grandes pasos hacia la internacionalización de documentos, con el objetivo de hacer que la Web sea verdaderamente mundial. + + Version: HTML 5.0, 5.1, 5.2, .... + Fecha de lanzamiento: a partir de finales de octubre del 2014 + Primeros Navegadores que la soportaron: Internet Explorer, Firefox, Chrome, Safari + Cambios más resaltantes con respecto a las versiones anteriores: Esta es la primera versión + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e5cec01 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# Cuestionario html-e001.pdf + + El cuestionario es el archivo **cuestionario.txt**. + Está en formato unicode-8. + Está enumerado de la misma forma que el pdf. + + +# Ejercicio + +## Poner en *hola.html* un iconito distinto al iconito blanco por defecto + + El archivo resultante es **hola.html** que está en la carpeta base. + +## Completar la tabla de posiciones del *CLAUSURA* con todos lo demas datos: PJ, PG, PP, PE, GF, GC + + El archivo resultante es **clausura.html** que está situado en la carpeta base. + +## Hacer un HTML, con una tabla que tenga la lista de todos nosotros, con sus respectivos correos, colegio, anho de graduacion y un link a una pagina donde este la informacion completa de cada persona. Esa pagina tiene que tener una foto (aunque sea ficticia) y una pequena biografia (aunque sea inventada) de cada uno. Mantener el mismo formato en todas las paginas de los perfiles de cada uno. En el perfil, que haya un LINK al perfil publico de Facebook. + + El archivo resultante es **biografia.html** que está situado en la carpeta base + +## Modificar el programa de wu-e001 para que, al final del juego, genere un archivo HTML con el tablero final del TATETI, que se llame tateti.html + + El la carpeta **wu-e001**, que está en la carpeta base, está todas los codigos **.java** para que puedan ejecutarse el programa. + El archivo **InicioJuego.java** es el archivo donde está situado el main, por lo que genera la clase principal una vez precompilado. + El archivo **Html.java** contiene todos los modulos necesarios para crear el archivo HTML. + El archivo **Juego.java** contiene todos los modulos que controla el juego, desde recibir las posiciones hasta verificar si existe ganador. + El archivo **Tablero.java** contiene todos los moudulos que nos permite dibujar el tablero en la consola como en el archivo HTML. + El archivo **favicon.ico** es el archivo favicon del HTML resultante. + +## Modificar el programa de wu-e002 para que, al final del juego, genere un archivo HTML con el número aleatorio del jugador A, y la secuencia de intentos del jugador B. Finalmente indicar quién fue el ganador de la partida. El nombre del archivo tiene que ser toros_y_vacas.html. + + El la carpeta **wu-e002**, que está en la carpeta base, está todas los codigos **.java** para que puedan ejecutarse el programa. + El archivo **InicioJuego.java** es el archivo donde está situado el main, por lo que genera la clase principal una vez precompilado. + El archivo **Html.java** contiene todos los modulos necesarios para crear el archivo HTML. + El archivo **VacaYToro.java** contiene todos los modulos necesarios para obtener la cantidad de vacas y toros por cada intento. + El archivo **Verificador.java** contiene todos los modulos para verificar si la sintaxis cargada por el jugador es correcta. + El archivo **bull-icon_34111** es el archivo favicon del HTML resultante. + + diff --git a/biografia.html b/biografia.html new file mode 100644 index 0000000..ce1bf86 --- /dev/null +++ b/biografia.html @@ -0,0 +1,118 @@ + + + Biografia de bootcamp 2018 + + +
+

Biografia de Bootcamp 2018

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NombreCorreoColegioAño de graduaciónFotoIntroduccionEnlace a informacion completa
Hugosadfdsaf@hotmail.comSalesianito2010 + Foto + +

Nacio en asuncíon en el año 1992.
Vive en el barrio Sajonia.
Estudia en la UNA Politecnica. +

+
+ Click aqui +
LujánlujanBonita@hotmail.comDr. Juan Manuel Frutos2014 + Foto + +

Nacio en asuncíon en el año 1998.
Vive en la ciudad Mariano Roque Alonso.
Estudia en la UNA Politecnica. +

+
+ Click aqui +
PedropedroElEscamoso@hotmail.comSalesianito2012 + Foto + +

Nacio en asuncíon en el año 1994.
Vive en el barrio Los laureles.
Estudia en la UNA Politecnica. +

+
+ Click aqui +
LucaslucasGamer@hotmail.comSanta Clara2015 + Foto + +

Nacio en asuncíon en el año 1998.
Vive en el barrio Villa Morra.
Trabaja en Roshka. +

+
+ Click aqui +
AlbaroalbaroWhite@hotmail.comDr. Juan Manuel Frutos2019 + Foto + +

Nacio en asuncíon en el año 1992.
Vive en el barrio Sajonia.
Estudia en la UNA Politecnica. +

+
+ Click aqui +
xbyxLopezxbyStarKiller@hotmail.comSalesianito2015 + Foto + +

Nacio en asuncíon en el año 1996.
Vive en el barrio Las Mercedes.
Estudia en la UNA Politecnica. +

+
+ Click aqui +
+
+ \ No newline at end of file diff --git a/clausura.html b/clausura.html new file mode 100644 index 0000000..c951315 --- /dev/null +++ b/clausura.html @@ -0,0 +1,95 @@ + + + Clausura 2017 + + +
+

Clausura

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClubPJPGPEPPGFGC
Cerro Porteño2214354123
Olimpia2212643720
Guarani2212193629
General diaz229853021
Sportivo Luqueño229853021
Sol de america227782632
Nacional226972630
Libertad2275102630
+
+ \ No newline at end of file diff --git a/hola.html b/hola.html new file mode 100644 index 0000000..31b86cb --- /dev/null +++ b/hola.html @@ -0,0 +1,4 @@ + + + Ejercicios de html + diff --git a/wu-e001/Html.java b/wu-e001/Html.java new file mode 100644 index 0000000..b659cab --- /dev/null +++ b/wu-e001/Html.java @@ -0,0 +1,82 @@ +import java.io.FileWriter; +import java.io.PrintWriter; +import java.io.File; + + +public class Html{ + private File archivo; + private FileWriter archivoEscribir; + private PrintWriter escribir; + + public void introHtml(){ + try{ + //Preparamos las variables + this.archivo = new File("tateti.html"); + this.archivo.createNewFile(); + this.archivoEscribir = new FileWriter(this.archivo); + this.escribir = new PrintWriter(this.archivoEscribir); + //Iniciamos la escritura + this.escribir.println(""); + this.escribir.println("\t"); + this.escribir.println("\tJuegoTateti"); + this.escribir.println(""); + this.escribir.println(""); + this.escribir.println("\t
"); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } + + public void preparacionEscribirLineaJuego(){ + try{ + //Preparamos las variables + this.archivo = new File("tateti.html"); + this.archivoEscribir = new FileWriter(this.archivo,true); + this.escribir = new PrintWriter(this.archivoEscribir); + //Preparamos para escribir las lineas de juegos + this.escribir.println("\t\t

"); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } + + public void escribirLineaJuego(String texto){ + try{ + //Preparamos las variables + this.archivo = new File("tateti.html"); + this.archivoEscribir = new FileWriter(this.archivo,true); + this.escribir = new PrintWriter(this.archivoEscribir); + //Escribimos la linea + this.escribir.println("\t\t\t"+texto+"
"); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } + + public void cerrarHtml(){ + try{ + //Preparamos las variables + this.archivo = new File("tateti.html"); + this.archivoEscribir = new FileWriter(this.archivo,true); + this.escribir = new PrintWriter(this.archivoEscribir); + //Cargamos el contenido final del archivo + this.escribir.println("\t\t

"); + this.escribir.println("\t
"); + this.escribir.println(""); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } +} \ No newline at end of file diff --git a/wu-e001/InicioJuego.java b/wu-e001/InicioJuego.java new file mode 100644 index 0000000..4576dcb --- /dev/null +++ b/wu-e001/InicioJuego.java @@ -0,0 +1,43 @@ +import java.util.Scanner; + + +public class InicioJuego{ + public static void main(String[] args) { + //Creamos las herramientas necesarias para el juego + Juego juego = new Juego(); + String nombre1,nombre2; + Scanner teclado = new Scanner(System.in); + Tablero tabla = new Tablero(); + Html dibujarTablaHtml = new Html(); + //Preparamos para escribir las lineas del juego + dibujarTablaHtml.introHtml(); + dibujarTablaHtml.preparacionEscribirLineaJuego(); + //Iniciamos el juego + System.out.println("Bienvenido al Tateti"); + System.out.println("Por favor, ingrese el nombre del jugador 1"); + nombre1 = teclado.nextLine(); + System.out.println("Por favor, ingrese el nombre del jugador 2"); + nombre2 = teclado.nextLine(); + System.out.println("Ok " + nombre1 + " y " + nombre2 + ", vamos a jugar."); + //Preparamos el tablero + tabla.imprimirTableroVacio(); + char resultado = juego.aJugar(nombre1,nombre2); + //Imprimir en pantalla al ganador + if(resultado == 'e'){ + System.out.println("Nadie gano"); + dibujarTablaHtml.escribirLineaJuego("Nadie gano"); + }else if(resultado == 'O'){ + System.out.println("El ganador es: "+nombre1); + dibujarTablaHtml.escribirLineaJuego("El ganador es: "+nombre1); + }else{ + System.out.println("El ganador es: "+nombre2); + dibujarTablaHtml.escribirLineaJuego("El ganador es: "+nombre2); + } + System.out.println("Fin del juego"); + dibujarTablaHtml.escribirLineaJuego("Fin del juego"); + dibujarTablaHtml.cerrarHtml(); + } + + + +} \ No newline at end of file diff --git a/wu-e001/Juego.java b/wu-e001/Juego.java new file mode 100644 index 0000000..f4bc8fa --- /dev/null +++ b/wu-e001/Juego.java @@ -0,0 +1,137 @@ +import java.util.Scanner; + +public class Juego{ + //Creamos los variables globales para la clase + private char valor; + private int contadorJugadas; + private char[][] tablero; + private Scanner teclado; + private String jugadorActual; + + + //Este es constructor + public Juego(){ + this.jugadorActual = ""; + this.valor = 'O'; //Empieza la ficha 'O' + this.contadorJugadas = 0; + this.tablero = new char[3][3];//Creamos el tablero + for(int fila = 0;fila<3;fila++){//Vaciamos el tablero + for(int columna = 0;columna < 3;columna++){ + this.tablero[fila][columna] = ' '; + } + } + this.teclado = new Scanner(System.in);//Creamos el objeto para recibir datos desde el teclado + } + + public char aJugar(String jugador1,String jugador2){ + this.jugadorActual = jugador1; + String colocacion; + int fila,columna; + char valorTemp; + char ganador = 'e'; + Tablero dibujo = new Tablero(); + boolean finJuego = false; + //Este bucle sirve para realizar el juego hasta que haya un ganador o no haya mas casilla que cargar + while(!finJuego || this.contadorJugadas<9){ + try{ + colocacion = this.comprobarPosicionSintaxis();//Comprobamos si la sintaxis es correcta correctas + //Convierte los valores obtenidos desde teclado a valores int + fila = Integer.parseInt(""+colocacion.charAt(0)) - 1; + columna = Integer.parseInt(""+colocacion.charAt(2)) - 1; + //Este if comprueba si la posicion donde coloca la ficha ya esta o no esta ocupado + if(this.comprobarPosicionVacio(fila, columna)){ + this.tablero[fila][columna] = this.valor;//Carga la ficha en el tablero + valorTemp = this.valor; + dibujo.imprimirTablero(this.tablero);//imprime el tablero actual + //Cambia el tipo de ficha + if(valor=='O'){ + this.valor = 'X'; + this.jugadorActual = jugador2; + }else{ + this.valor = 'O'; + this.jugadorActual = jugador1; + } + //Verifica si el jugador actual ya gano o no gano el juego + if(verificarJuego(valorTemp) && this.contadorJugadas>2){ + dibujo.imprimirTableroArchivo(this.tablero); + finJuego=true; + ganador = valorTemp; + break; + } + //En caso que todavia no gano, se establece la cantidad de posiciones cargadas, y se continua el juego + this.contadorJugadas++; + }else{ + System.out.println("La casilla ya esta cargada. Agrega otro valor"); + } + }catch(Exception e){ + System.out.println("Se cargo letras al colocar la posicion"); + } + } + return ganador; + } + + private String comprobarPosicionSintaxis(){ + String posicion = ""; + boolean correcto = false; + //Este bucle termina hasta que el usuario cargue la sintaxis correcta + while(!correcto){ + System.out.print(this.jugadorActual + ", ingrese una posicion en formato fila,columna: "); + posicion = teclado.nextLine(); + //Verifica si la sintaxis tiene la longitud correcta + if(posicion.length()!=3){ + System.out.println("No se cargo los datos correctamente, por favor cargue de nuevo"); + }else if(posicion.charAt(1)!=','){ + System.out.println("No se cargo el ',' .Por favor, respete la sintaxis"); + //Verifica si las posiciones existen en el tablero + }else if(Integer.parseInt(""+posicion.charAt(0))<1 || Integer.parseInt(""+posicion.charAt(0))>3){ + System.out.println("Fila incorrecta, por favor cargue de nuevo"); + }else if(Integer.parseInt("" + posicion.charAt(2))<1 || Integer.parseInt(""+posicion.charAt(2))>3){ + System.out.println("Columna incorrecta, por favor cargue de nuevo"); + }else{ + correcto = true; + Integer.parseInt(""+posicion.charAt(0)); + Integer.parseInt(""+posicion.charAt(2)); + } + } + return posicion; + } + + private boolean comprobarPosicionVacio(int fila,int columna){ + boolean resultado; + if(this.tablero[fila][columna]==' '){ + resultado = true; + }else{ + resultado = false; + } + return resultado; + } + + private boolean verificarJuego(char valor){ + boolean resultado = false; + //Primero verificamos filas + for(int i=0; i<3 && !resultado; i++){ + if(this.tablero[i][0] == valor && this.tablero[i][1] == valor && this.tablero[i][2] == valor){ + resultado = true; + break; + } + } + //Comprobamos columna + for(int i=0; i<3 && !resultado; i++){ + if(this.tablero[0][i] == valor && this.tablero[1][i] == valor && this.tablero[2][i] == valor){ + resultado = true; + break; + } + } + //comprobar diagonal 1 + if(!resultado && this.tablero[0][0] == valor && this.tablero[1][1] == valor && this.tablero[2][2] == valor){ + resultado = true; + } + //comprobar diagonal 2 + if(!resultado && this.tablero[0][2] == valor && this.tablero[1][1] == valor && this.tablero[2][0] == valor){ + resultado = true; + } + return resultado; + } + + +} \ No newline at end of file diff --git a/wu-e001/Tablero.java b/wu-e001/Tablero.java new file mode 100644 index 0000000..abaa436 --- /dev/null +++ b/wu-e001/Tablero.java @@ -0,0 +1,45 @@ +public class Tablero{ + Html archivo; + + final String arribaYBase = "| - - - | - - - | - - - |" ; + + public Tablero(){ + this.archivo = new Html(); + } + + public void imprimirTableroVacio(){ + System.out.println(" 1 2 3 "); + for(int j = 0;j<3;j++){ + System.out.println(" " + arribaYBase); + System.out.print(j+1); + System.out.println("| | | |"); + System.out.println(" " + arribaYBase); + } + } + + public void imprimirTablero(char[][] temporal){ + for(int i = 0;i<3;i++){ + System.out.println(arribaYBase); + System.out.println("| " + temporal[i][0] + " "+ "| " + temporal[i][1] + " " + "| " + temporal[i][2] + " |"); + } + System.out.println(arribaYBase); + } + + public void imprimirTableroArchivo(char[][] temporal){ + String impTabla[][] = new String[3][3]; + for(int i = 0;i<3;i++){ + this.archivo.escribirLineaJuego(arribaYBase); + for(int j = 0;j < 3;j++){ + if(temporal[i][j] == ' '){ + impTabla[i][j] = " "; + }else{ + impTabla[i][j] = "" + temporal[i][j]; + } + } + this.archivo.escribirLineaJuego("|   " + impTabla[i][0] + "   "+ "|   " + + impTabla[i][1] + "   " + "|   " + impTabla[i][2] + "   |"); + } + this.archivo.escribirLineaJuego(arribaYBase); + } + +} \ No newline at end of file diff --git a/wu-e001/favicon.ico b/wu-e001/favicon.ico new file mode 100644 index 0000000..0e0d477 Binary files /dev/null and b/wu-e001/favicon.ico differ diff --git a/wu-e002/Html.java b/wu-e002/Html.java new file mode 100644 index 0000000..689948e --- /dev/null +++ b/wu-e002/Html.java @@ -0,0 +1,82 @@ +import java.io.FileWriter; +import java.io.PrintWriter; +import java.io.File; + + +public class Html{ + private File archivo; + private FileWriter archivoEscribir; + private PrintWriter escribir; + + public void introHtml(){ + try{ + //Preparamos las variables + this.archivo = new File("toro_y_vacas.html"); + this.archivo.createNewFile(); + this.archivoEscribir = new FileWriter(this.archivo); + this.escribir = new PrintWriter(this.archivoEscribir); + //Iniciamos la escritura + this.escribir.println(""); + this.escribir.println("\t"); + this.escribir.println("\tJuegoToroYVaca"); + this.escribir.println(""); + this.escribir.println(""); + this.escribir.println("\t
"); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } + + public void preparacionEscribirLineaJuego(){ + try{ + //Preparamos las variables + this.archivo = new File("toro_y_vacas.html"); + this.archivoEscribir = new FileWriter(this.archivo,true); + this.escribir = new PrintWriter(this.archivoEscribir); + //Preparamos para escribir las lineas de juegos + this.escribir.println("\t\t

"); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } + + public void escribirLineaJuego(String texto){ + try{ + //Preparamos las variables + this.archivo = new File("toro_y_vacas.html"); + this.archivoEscribir = new FileWriter(this.archivo,true); + this.escribir = new PrintWriter(this.archivoEscribir); + //Escribimos la linea + this.escribir.println("\t\t\t"+texto+"
"); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } + + public void cerrarHtml(){ + try{ + //Preparamos las variables + this.archivo = new File("toro_y_vacas.html"); + this.archivoEscribir = new FileWriter(this.archivo,true); + this.escribir = new PrintWriter(this.archivoEscribir); + //Cargamos el contenido final del archivo + this.escribir.println("\t\t

"); + this.escribir.println("\t
"); + this.escribir.println(""); + //Cerramos el archivo + this.archivoEscribir.close(); + this.escribir.close(); + }catch(Exception e){ + System.out.println("Error: "+e.getMessage()); + } + } +} \ No newline at end of file diff --git a/wu-e002/InicioJuego.java b/wu-e002/InicioJuego.java new file mode 100644 index 0000000..6af603b --- /dev/null +++ b/wu-e002/InicioJuego.java @@ -0,0 +1,82 @@ +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(); + } +} \ No newline at end of file diff --git a/wu-e002/VacaYToro.java b/wu-e002/VacaYToro.java new file mode 100644 index 0000000..a269b92 --- /dev/null +++ b/wu-e002/VacaYToro.java @@ -0,0 +1,39 @@ +public class VacaYToro{ + private int vaca; + private int toro; + + public VacaYToro(){ + this.vaca = 0; + this.toro = 0; + } + + public int cantidadVaca(int Aanalizar, int probando){ + String temporalAna = ""+Aanalizar; + String temporalPro = ""+probando; + for(int i = 0; i < 4;i++){ + for(int j = 0;j < 4;j++){ + if(temporalAna.charAt(i)==temporalPro.charAt(j) && i!=j){ + this.vaca++; + } + } + } + return this.vaca; + } + + public int cantidadToro(int Aanalizar, int probando){ + String temporalAna = ""+Aanalizar; + String temporalPro = ""+probando; + for(int i = 0;i<4;i++){ + if(temporalAna.charAt(i)==temporalPro.charAt(i)){ + this.toro++; + } + } + return this.toro; + } + + public void vaciarContador(){ + this.vaca = 0; + this.toro = 0; + } + +} \ No newline at end of file diff --git a/wu-e002/Verificador.java b/wu-e002/Verificador.java new file mode 100644 index 0000000..a80c8cf --- /dev/null +++ b/wu-e002/Verificador.java @@ -0,0 +1,21 @@ +public class Verificador{ + + + public boolean verificar(int numero){ + boolean resultado = true; + String temporal = ""+numero; + if(temporal.length()!=4){//Comprueba si el numero cargado por el usuario tiene la cantidad correcta de digitos + resultado = false; + }else{//Analiza si existe digitos repetidos + for(int i = 0;i<3 && resultado;i++){ + for(int j = i+1;j<4;j++){ + if(temporal.charAt(i)==temporal.charAt(j)){ + resultado = false; + break; + } + } + } + } + return resultado; + } +} \ No newline at end of file diff --git a/wu-e002/bull-icon_34111.ico b/wu-e002/bull-icon_34111.ico new file mode 100644 index 0000000..10fdf8d Binary files /dev/null and b/wu-e002/bull-icon_34111.ico differ -- libgit2 0.26.0