Commit 8fecac91 by roshka

Trabajo HTML

parents
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
# 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.
<head>
<link rel="shortcut icon" href="https://www.wikipedia.org/static/favicon/wikipedia.ico">
<title>Biografia de bootcamp 2018</title>
</head>
<body>
<div>
<h1>Biografia de Bootcamp 2018</h1>
</div>
<div>
<table>
<tr>
<th>Nombre</th>
<th>Correo</th>
<th>Colegio</th>
<th>Año de graduación</th>
<th>Foto</th>
<th>Introduccion</th>
<th>Enlace a informacion completa</th>
</tr>
<tr>
<td>Hugo</td>
<td>sadfdsaf@hotmail.com</td>
<td>Salesianito</td>
<td>2010</td>
<td>
<img src="https://image.flaticon.com/icons/svg/145/145867.svg" alt="Foto" height="20" width="20">
</td>
<td>
<p>Nacio en asuncíon en el año 1992.<br/>Vive en el barrio Sajonia.<br>Estudia en la UNA Politecnica.
</p>
</td>
<td>
<a href="www.biografia.com/132123213.html">Click aqui</a>
</td>
</tr>
<tr>
<td>Luján</td>
<td>lujanBonita@hotmail.com</td>
<td>Dr. Juan Manuel Frutos</td>
<td>2014</td>
<td>
<img src="https://image.flaticon.com/icons/svg/145/145862.svg" alt="Foto" height="20" width="20">
</td>
<td>
<p>Nacio en asuncíon en el año 1998.<br/>Vive en la ciudad Mariano Roque Alonso.<br>Estudia en la UNA Politecnica.
</p>
</td>
<td>
<a href="www.biografia.com/13212123132.html">Click aqui</a>
</td>
</tr>
<tr>
<td>Pedro</td>
<td>pedroElEscamoso@hotmail.com</td>
<td>Salesianito</td>
<td>2012</td>
<td>
<img src="https://www.flaticon.com/premium-icon/icons/svg/145/145861.svg" alt="Foto" height="20" width="20">
</td>
<td>
<p>Nacio en asuncíon en el año 1994.<br/>Vive en el barrio Los laureles.<br>Estudia en la UNA Politecnica.
</p>
</td>
<td>
<a href="www.biografia.com/132123213.html">Click aqui</a>
</td>
</tr>
<tr>
<td>Lucas</td>
<td>lucasGamer@hotmail.com</td>
<td>Santa Clara</td>
<td>2015</td>
<td>
<img src="https://image.flaticon.com/icons/png/512/145/145863.png" alt="Foto" height="20" width="20">
</td>
<td>
<p>Nacio en asuncíon en el año 1998.<br/>Vive en el barrio Villa Morra.<br>Trabaja en Roshka.
</p>
</td>
<td>
<a href="www.biografia.com/13213333313.html">Click aqui</a>
</td>
</tr>
<tr>
<td>Albaro</td>
<td>albaroWhite@hotmail.com</td>
<td>Dr. Juan Manuel Frutos</td>
<td>2019</td>
<td>
<img src="https://image.flaticon.com/icons/svg/236/236831.svg" alt="Foto" height="20" width="20">
</td>
<td>
<p>Nacio en asuncíon en el año 1992.<br/>Vive en el barrio Sajonia.<br>Estudia en la UNA Politecnica.
</p>
</td>
<td>
<a href="www.biografia.com/133323213.html">Click aqui</a>
</td>
</tr>
<tr>
<td>xbyxLopez</td>
<td>xbyStarKiller@hotmail.com</td>
<td>Salesianito</td>
<td>2015</td>
<td>
<img src="https://image.flaticon.com/icons/png/512/280/280943.png" alt="Foto" height="20" width="20">
</td>
<td>
<p>Nacio en asuncíon en el año 1996.<br/>Vive en el barrio Las Mercedes.<br>Estudia en la UNA Politecnica.
</p>
</td>
<td>
<a href="www.biografia.com/1132143213.html">Click aqui</a>
</td>
</tr>
</table>
</div>
</body>
\ No newline at end of file
<head>
<link rel="shortcut icon" href="https://o1.t26.net/images/favicon.ico?1.2"/>
<title>Clausura 2017</title>
</head>
<body>
<div>
<h1>Clausura</h1>
</div>
<div>
<table>
<tr>
<th>Club</th>
<th>PJ</th>
<th>PG</th>
<th>PE</th>
<th>PP</th>
<th>GF</th>
<th>GC</th>
</tr>
<tr>
<td>Cerro Porteño</td>
<td>22</td>
<td>14</td>
<td>3</td>
<td>5</td>
<td>41</td>
<td>23</td>
</tr>
<tr>
<td>Olimpia</td>
<td>22</td>
<td>12</td>
<td>6</td>
<td>4</td>
<td>37</td>
<td>20</td>
</tr>
<tr>
<td>Guarani</td>
<td>22</td>
<td>12</td>
<td>1</td>
<td>9</td>
<td>36</td>
<td>29</td>
</tr>
<tr>
<td>General diaz</td>
<td>22</td>
<td>9</td>
<td>8</td>
<td>5</td>
<td>30</td>
<td>21</td>
</tr>
<tr>
<td>Sportivo Luqueño</td>
<td>22</td>
<td>9</td>
<td>8</td>
<td>5</td>
<td>30</td>
<td>21</td>
</tr>
<tr>
<td>Sol de america</td>
<td>22</td>
<td>7</td>
<td>7</td>
<td>8</td>
<td>26</td>
<td>32</td>
</tr>
<tr>
<td>Nacional</td>
<td>22</td>
<td>6</td>
<td>9</td>
<td>7</td>
<td>26</td>
<td>30</td>
</tr>
<tr>
<td>Libertad</td>
<td>22</td>
<td>7</td>
<td>5</td>
<td>10</td>
<td>26</td>
<td>30</td>
</tr>
</table>
</div>
</body>
\ No newline at end of file
<head>
<link rel="shortcut icon" href="https://o1.t26.net/images/favicon.ico?1.2"/>
<title>Ejercicios de html</title>
</head>
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("<head>");
this.escribir.println("\t<link rel=\"shortcut icon\" href=\"favicon.ico\"/>");
this.escribir.println("\t<title>JuegoTateti</title>");
this.escribir.println("</head>");
this.escribir.println("<body>");
this.escribir.println("\t<div>");
//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<p>");
//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+"<br/>");
//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</p>");
this.escribir.println("\t</div>");
this.escribir.println("</body>");
//Cerramos el archivo
this.archivoEscribir.close();
this.escribir.close();
}catch(Exception e){
System.out.println("Error: "+e.getMessage());
}
}
}
\ No newline at end of file
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
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
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] = "&nbsp";
}else{
impTabla[i][j] = "" + temporal[i][j];
}
}
this.archivo.escribirLineaJuego("|&nbsp&nbsp&nbsp" + impTabla[i][0] + "&nbsp&nbsp&nbsp"+ "|&nbsp&nbsp&nbsp" +
impTabla[i][1] + "&nbsp&nbsp&nbsp" + "|&nbsp&nbsp&nbsp" + impTabla[i][2] + "&nbsp&nbsp&nbsp|");
}
this.archivo.escribirLineaJuego(arribaYBase);
}
}
\ No newline at end of file
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("<head>");
this.escribir.println("\t<link rel=\"shortcut icon\" href=\"bull-icon_34111.ico\"/>");
this.escribir.println("\t<title>JuegoToroYVaca</title>");
this.escribir.println("</head>");
this.escribir.println("<body>");
this.escribir.println("\t<div>");
//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<p>");
//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+"<br/>");
//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</p>");
this.escribir.println("\t</div>");
this.escribir.println("</body>");
//Cerramos el archivo
this.archivoEscribir.close();
this.escribir.close();
}catch(Exception e){
System.out.println("Error: "+e.getMessage());
}
}
}
\ No newline at end of file
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
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
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment