<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Beceoca</title>
	<atom:link href="http://beceoca.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://beceoca.wordpress.com</link>
	<description>Organización de Contenidos Audiovisuales</description>
	<lastBuildDate>Fri, 12 Sep 2008 16:28:05 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='beceoca.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/4a680f4f0690855286d6ca50139c0102?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Beceoca</title>
		<link>http://beceoca.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://beceoca.wordpress.com/osd.xml" title="Beceoca" />
		<item>
		<title>Ejercicio 4</title>
		<link>http://beceoca.wordpress.com/2008/09/12/ejercicio-4-2/</link>
		<comments>http://beceoca.wordpress.com/2008/09/12/ejercicio-4-2/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 16:28:05 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=41</guid>
		<description><![CDATA[César Juárez Megías
ENUNCIADO EJERCICIO 4
 
En este último ejercicio, vamos a trabajar con el JMF. 
No es nuestro objetivo andar investigando métodos muy rebuscados de su API, por lo tanto de cara a la realización de este ejercicio vamos a suponer dos cosas:
            -Si al reproducir un fichero de audio le pido al player que me [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=41&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>César Juárez Megías</strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">ENUNCIADO EJERCICIO 4</span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">En este último ejercicio, vamos a trabajar con el JMF. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">No es nuestro objetivo andar investigando métodos muy rebuscados de su API, por lo tanto de cara a la realización de este ejercicio vamos a suponer dos cosas:</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>-Si al reproducir un fichero de audio le pido al player que me de la componente de vídeo, el player me devolverá null.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 36pt;"><span style="font-size:small;font-family:Times New Roman;">- Para averiguar cuanto tiempo dura la reproducción de un fragmento de audio o de vídeo, lo haremos por el camino cutre, para no tenerle que preguntar a la API del JMF: reproduciremos dicho fragmento, sin visualizarlo, y por medios ajenos al JMF mediremos cuánto tiempo ha tardado en reproducirse.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">Se trata pues, hechas estas aclaraciones, de construir un programa que reciba como argumentos de entrada (por la línea de comandos, es decir el array por defecto args del método main) una lista de archivos de vídeo y de audio indistintamente. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">El programa, como resultado de su ejecución, imprimirá por consola el título de cada archivo, si es de audio o de vídeo y su duración. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">Después seleccionará el fragmento más corto, ya sea de audio o de vídeo, y lo reproducirá de nuevo, pero esta vez mostrándole la reproducción al usuario. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">Esta última reproducción habrá de ser cíclica: cuando el fragmento termine, volverá a empezar desde el principio.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">CLASES EJERCICIO 4</span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;">(para hacer la lectura más fácil he puesto los comentarios en color verde)</span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Importamos todos los paquetes necesarios</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import javax.swing.*;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import javax.media.*;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import java.awt.*;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import java.awt.event.*;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import java.net.URL;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import java.net.MalformedURLException;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import java.io.IOException;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public class ProyectoReproductor extends JFrame implements ActionListener, ControllerListener{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Atributos necesarios</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">Player player=null;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">Component visualComponent = null;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">Component controlComponent = null;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">Component progressBar = null;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">String [] args;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">Timer t;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">URL url;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">int [] duracion; <span style="color:lime;">//Array para almacenar todas las duraciones de las canciones</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">int duracionNueva; <span style="color:lime;">//Variable que mide la duración del archivo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">boolean reproduccionFinal = false; <span style="color:lime;">//Nos indicará si tenemos que reproducir el archivo más corto o si solo estamos midiendo la duración de los archivos</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">int masPequeño = 0; <span style="color:lime;">//Variable que nos indicará la posición de la canción más corta</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;" lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Constructor</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public ProyectoReproductor(String [] args){</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Ponemos titulo a la ventana</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">super(“Reproductor”);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.args = args;</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.getContentPane().setLayout(new BorderLayout());</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">t = new Timer(1000,this);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Miramos la duración de todos los archivos</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">dameDuracionTodos();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Imprimimos los datos de los archivos</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">imprimeDatos();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Ahora se reproducirá el archivo más corto);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">reproduccionFinal = true;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Reproducimos el fichero más corto</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">reproduceMasCorto();</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.setSize(100, 100);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.setVisible(true);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">} <span style="color:lime;">//Fin del método constructor</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">// Método imprimeDatos</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimeDatos(){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">for (int i = 0; i&lt;args.length(); i++){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“El archivo ”+args[i]+” es de ”+dameTipo(args[i])+” y tiene duración: ”+Integer.toString(duracion[i])+” <span> </span>segundos.”);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>} <span style="color:lime;">// Fin del método</span> </strong><strong><span style="color:lime;" lang="EN-GB">imprimeDatos</span></strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método dameTipo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public String dameTipo (String a, int i){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">String tipo;</span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">try{</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;font-family:Times New Roman;">//Intentamos crear la dirección y el player</span></span></strong><strong><span style="color:windowtext;"><br />
<span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>if((url=new URL(a)) == null){<br />
System.out.println(”ERROR, no hay archivo a reproducir”);<br />
}else{</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="color:lime;">//Si no de error creamos el placer con la dirección del archivo a reproducir<br />
</span></strong><strong><span style="color:windowtext;">player=Manager.createPlayer(url);</span></strong></span></span></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Miramos a ver si es de tipo audio o video mediante la respuesta al método getVisualComponent</span></span></span></strong></p>
<p class="Normal1" style="background:white;text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">if(player.getVisualComponent == null){</span></span></span></strong></p>
<p class="Normal1" style="background:white;text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">tipo = “audio”</span></span></span></strong></p>
<p class="Normal1" style="background:white;text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></span></strong></p>
<p class="Normal1" style="background:white;text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">tipo = “video”</span></span></span></strong></p>
<p class="Normal1" style="background:white;text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<br />
}</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Capturamos todas los errores posibles</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">catch(MalformedURLException e){<br />
System.err.println(”La dirección o el nombre del archivo con posición “+Integer.toString(i)+“ en la lista de reproducción no es correcta“);<br />
}catch(IOException e){           <br />
System.err.println(”Error de lectura o escritura”);<br />
<span> </span>}catch(NoPlayerException e){<br />
System. err.println(”No existe un reproductor para hacer esta operación”);<br />
}</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Devolvemos el tipo de archivo que era en este caso</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">return tipo;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">} <span style="color:lime;">//Fin del método dameTipo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método dameDuracionTodos, medimos y almacenamos todos las duraciones de los archivos</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public String dameDuracionTodos(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">for int(i=0; i &lt;args.length();i++){</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">try{</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;font-family:Times New Roman;">//Intentamos crear la dirección y el player</span></span></strong><strong><span style="color:windowtext;"><br />
<span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>if((url=new URL(args[i])) == null){<br />
System.out.println(”ERROR, no hay archivo a reproducir”);<br />
}else{</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="color:lime;">//Si no de error creamos el placer con la dirección del archivo a reproducir<br />
</span></strong><strong><span style="color:windowtext;">player=Manager.createPlayer(url);</span></strong></span></span></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="color:windowtext;" lang="EN-GB">player.addControllerListener(this);</span></strong><strong><span style="color:windowtext;"></span></strong></span></span></p>
<p class="Normal1" style="background:white;text-indent:35.4pt;margin:0;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Capturamos todas los errores posibles</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0;"><strong><span style="color:windowtext;"><span style="font-size:small;"><span style="font-family:Times New Roman;">}catch(MalformedURLException e){<br />
System.err.println(”La dirección o el nombre del archivo con posición “+Integer.toString(i)+“ en la lista de reproducción no es correcta“);<br />
}catch(IOException e){           <br />
System.err.println(”Error de lectura o escritura”);<br />
<span> </span>}catch(NoPlayerException e){<br />
System. err.println(”No existe un reproductor para hacer esta operación”);<br />
}</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Añadimos un manejador a la ventana por si esta se cierra el programa se acabe</span></span></span></strong></p>
<p class="Normal1" style="background:white;margin:0 0 0 35.4pt;"><strong><span style="color:windowtext;" lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.addWindowListener(new ManejadorVentana());<br />
player.start();<br />
timer.start();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;"> //Fin del método</span> <span style="color:lime;">dameDuracionTodos</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método controllerUpdate</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public synchronized void controllerUpdate(ControllerEvent event){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Comprobamos que el reproductor está &#8220;vivo&#8221;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (player == null){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">return;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Qué evento se ha producido?</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (event instanceof RealizeCompleteEvent){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Se añade el componente de visualización del reproductor y el de control si es ya la reproducción final</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (reproduccionFinal == true){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span><span>                       </span>if((visualComponent = player.getVisualComponent()) != null)</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>               </span><span>         </span>getContentPane().add(&#8220;Center&#8221;,visualComponent);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>          </span><span>  </span><span> </span><span>           </span>if ((controlComponent = player.getControlPanelComponent()) != null)</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>               </span><span>         </span>getContentPane().add(&#8220;South&#8221;,controlComponent);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span>            </span>validate();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB"><span>         </span></span>}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>} <span style="color:lime;"></span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//Si se ha terminado la reproducción del archivo paramos el timer, y almacenamos la duración, y si estamos ya en la reproducción final volvemos a poner en marcha el reproductor</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (event instanceof EndOfMediaEvent){</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">player.setMediaTime(new Time(0));</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (reproduccionFinal == false){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">t.stop();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">duracion [i] = duracionNueva;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">duracionNueva = 0;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">{else{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si es ya la reproducción final volvemos a poner en marcha el reproductor</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">player.start();</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (event instanceof ControllerErrorEvent){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">player = null;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.err.println(((ControllerErrorEvent)event).getMessage());</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">} <span style="color:lime;">//Fín del método controllerUpdate</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>  </span><span>                      </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método actionPerformed (controlador del timer)</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB">public void actionPerformed(ActionEvent e){<br />
</span>duracionNueva</span></span></strong><strong><span><span style="font-size:small;font-family:Times New Roman;"> </span><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">++;<br />
}<span style="color:lime;"> //Fin del</span> <span style="color:lime;">actionPerformed</span></span></span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;" lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método reproduceMasCorto</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void reproduceMasCorto(){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">dimeMasPequeño();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Ahora reproducimos el archivo más pequeño que haya en la lista de reproducción</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">try{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>         </span>//Se crea URL para el archivo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>if ((url = new URL(args[masPequeño])) == null)</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB"><span>               </span></span>System.err.println(&#8220;No se puede construir URL para el archivo&#8221;);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="color:lime;"><span>         </span></span></strong><strong><span style="color:lime;" lang="EN-GB">//Se crea el reproductor</span></strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>player=Manager.createPlayer(url);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>player.addControllerListener(this);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">catch (MalformedURLException e){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.err.println(&#8220;URL no valida&#8221;);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">catch (IOException e){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>System.err.println(&#8220;Excepcion de Lectura/Escritura&#8221;);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">catch (NoPlayerException e){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>System.err.println(&#8220;No existe reproductor&#8221;);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">player.start();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Como el escuchador de la ventana ya está añadido anteriormente no lo ponemos de nuevo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Posteriormente se volverá a visualizar ya que hemos puesto una condición en el método controllerUpdate para saber si debemos o no reproducirlo de nuevo o quedarnos parados</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span>      </span></strong><strong><span lang="EN-GB">}<span style="color:lime;">//Fin delétodo reproduceMasCorto</span></span></strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método dimeMasPequeño</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void dimeMasPequeño (){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Recorremos todos los componentes y miramos cuál es el más pequeño comparando el archivo segundo de la lista con el archivo más pequeño por el momento (en un principio el más pequeño por defecto será el cero) y así sucesivamente</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">for (int i = 1; i&lt;duracion.length(); i++){</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if(duracion[masPequeño]&gt;duracion[i]){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">masPequeño = i;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;">//Fin del método dimeMasPequeño</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método main</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public static void main (String [] args){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">ProyectoReproductor pr = new ProyectoReproductor(args);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;">//Fin del método main</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Clase interna ManejadorVentana</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class ManejadorVentana extends WindowAdapter {</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void windowClosing (WindowEvent e) {</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (player != null) {</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">player.stop();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">player.deallocate();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.exit(0);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;"> //Fin de la clase interna</span></span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span>  </span><span style="color:lime;">//Fin de la clase</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p><span style="font-size:small;font-family:Times New Roman;"></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:20pt;"><strong>CONCEPTOS USADOS EN EL EJERCICIO 4</strong></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="margin:0;">En este caso los conceptos usados para resolver este ejercicio son los siguientes:</p>
<p class="MsoNormal" style="margin:0;"><span>            </span><span> </span></p>
<p class="MsoNormal" style="margin:0;"><span>            </span>- Conceptos sobre JMF</p>
<p class="MsoNormal" style="margin:0;"><span>            </span>- Conceptos de swing (incluidos manejos de eventos)</p>
<p class="MsoNormal" style="margin:0;"><span>            </span>- Conceptos de Timer</p>
<p class="MsoNormal" style="margin:0;"><span>            </span>- Conceptos de algoritmia básica</p>
<p><font face="Times New Roman" size="3"></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p></font></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=41&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/09/12/ejercicio-4-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>Ejercicio 3</title>
		<link>http://beceoca.wordpress.com/2008/09/11/ejercicio-3-2/</link>
		<comments>http://beceoca.wordpress.com/2008/09/11/ejercicio-3-2/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 10:53:11 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=39</guid>
		<description><![CDATA[César Juárez Megías
ENUNCIADO EJERCICIO 3
 
En este caso en el ejercicio se trata de programar un pequeño juego en el que el jugador debe mantener una pelota rebotando de pared en pared sin dejarla caer al suelo. 
Para lograrlo, el jugador moverá una raqueta en horizontal, a lo largo del borde inferior de la pantalla de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=39&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>César Juárez Megías</strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">ENUNCIADO EJERCICIO 3</span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;">En este caso en el ejercicio se trata de programar un pequeño juego en el que el jugador debe mantener una pelota rebotando de pared en pared sin dejarla caer al suelo. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;">Para lograrlo, el jugador moverá una raqueta en horizontal, a lo largo del borde inferior de la pantalla de juego. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;">En resumen, se trata de programar una versión simple del típico machaca-ladrillos (como por ejemplo el clásico Arkanoid) pero sin ladrillos. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;">Olvidaos de menús y similares: la partida comienza nada más arrancar el juego; esto es, aparece en pantalla una pelota moviéndose por la zona de juego y rebotando contra las paredes, y un rectángulo en la parte inferior que el jugador podrá mover a derecha e izquierda mediante el teclado. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;">Si la pelota llega a rebotar en la pared inferior (suelo), querrá decir que el jugador no logró interceptar la trayectoria de la pelota con la pala y se acabará la partida.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;">Para darle un poco más de gracia al asunto el algún lugar de la pantalla, preferiblemente fuera de la zona de juego, habrá un “marcador” que lleve la cuenta de cuántas veces ha rebotado hasta el momento la pelota contra la pala.</span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">CLASES EJERCICIO 3</span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;">(para hacer la lectura más fácil he puesto los comentarios en color verde)</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">import javax.swing.*;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">import java.awt.*;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">import java.awt.event.*;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="FR"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;" lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">//La propia clase es un JFrame</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Juego extends JFrame{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Declaramos las variables necesarias</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Como la pantalla la vamos a dividir en dos zonas, creamos dos paneles, en el de arriba pondremos la zona de juego y el de abajo la información de los rebotes en la pared, etc</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">JPanel zonaJuego;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">JPanel zonaInfo;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">JLabel info;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">JLabel juego[][];</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">int numeroRebotes = 0;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">int posicPala = 7;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Direcciones posibles de la pelota, 1 para derecha y arriba y dos para izquierda y abajo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 1;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaVertical = 1;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//La pelota está al inicio en la fila 13 (ya que la 14 es solo para la pala) y centrada, es decir en la columna 7</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">int posicPelotaFila = 13;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">int posicPelotaColumna = 7;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">Timer timer;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Constructor</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Juego(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Llamamos al constructor de JFrame poniendo ya el nombre de la ventana</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">super(&#8220;Proyecto machaca-ladrillos&#8221;);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Inicializamos las variables</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">creaInfo();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">creaJuego();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.getContentPane().setLayout(new BorderLayout());<br />
this.getContentPane().add(zonaJuego, BorderLayout.CENTER);<br />
this.getContentPane().add(zonaInfo, BorderLayout.SOUTH);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">Manejador manejador= new Manejador ();<br />
addKeyListener(manejador);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.setSize(950,700);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.setResizable(false);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">timer = new Timer(100, this);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">timer.start();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">this.setVisible(true);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo creaInfo, crea el area donde estará la información de los rebotes</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void creaInfo(){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">info = new JLabel();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">info.setText(&#8220;El numero de rebotes es: &#8220;+Integer.toString(numRebotes));</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">info.setOpaque(true);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">info.setBackGround(Color.BLACK);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">info.setForeground(Color.WHITE);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">zonaInfo.add(info);}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo actualizaInfo, este método actualiza la etiqueta que contiene la informacion de los rebotes y refresca la pantalla para hacerla visible</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void actualizaInfo(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">info.setText(&#8220;El numero de rebotes es: &#8220;+Integer.toString(numRebotes));</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">this.setVisible(true);}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo creaJuego, crea el área donde estará la el juego</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void creaJuego(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">zonaJuego = new JPanel();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego = new JLabel [15][15];</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Ponemos todo en negro en un principio</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">for(int i = 0; i&lt;14; i++ ){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">for(int j = 0; j&lt;14; j++ ){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[i][j].setOpaque(true);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[i][j].setBackground(Color.BLACK);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">zonaJuego.add(juego[i][j]);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPala();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo pintaPala, pintamos una pala de tres celdas de tamaño</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void pintaPala(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[14][posicPala-1].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[14][posicPala].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[14][posicPala+1].setBackground(Color.BLACK);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método pintaPelota, pintamos una pelota de una celda de tamaño </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void pintaPelota(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicPelotaFila][posicPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;" lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método actionPerformed, controla el timer</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void actionPerformed(ActionEvent e){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">timer.stop();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:20pt;color:lime;"><span style="font-family:Times New Roman;">//Si la pelota va hacia la derecha </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (direccionPelotaHorizontal == 1){ </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span style="color:lime;">//pero no ha llegado a la pared</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicionPelotaColumna != 14){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota va hacia arriba y no ha llegado al techo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (direccionPelotaVertical == 1 &amp;&amp; posicionPelotaFila != 0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota va hacia arriba y ha llegado al techo </span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else if (direccionPelotaVertical == 1 &amp;&amp; posicionPelotaFila == 0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota va hacia abajo y no ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">} else if (direccionPelotaVertical == 2 &amp;&amp; posicionPelotaFila != 14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota ha va hacia abajo y ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else if (direccionPelotaVertical == 2 &amp;&amp; posicionPelotaFila == 14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si da con la pala</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicionPelotaColumna== posicPala || posicionPelotaColumna== posicPala-1 || posicionPelotaColumna== posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span style="color:lime;">//Si no da con la pala has perdido</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (posicionPelotaColumna!= posicPala || posicionPelotaColumna!= posicPala-1 || posicionPelotaColumna!= posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span>            </span></strong><strong><span lang="EN-GB">System.out.println(“Game over”);</span></strong></span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>System.exit(0);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>}</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//y ha llegado a la pared</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (posicionPelotaColumna == 14){<span style="color:lime;"> </span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span style="color:lime;">//pero no ha llegado al techo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (direccionPelotaVertical == 1 &amp;&amp; posiciónPelotaFila!=0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 2;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//pero ha llegado al techo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if(direccionPelotaVertical == 1 &amp;&amp; posiciónPelotaFila==0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 2;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaVertical = 2;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//pero no ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (direccionPelotaVertical == 2 &amp;&amp; posiciónPelotaFila!=14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 2;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//pero ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if(direccionPelotaVertical == 2 &amp;&amp; posiciónPelotaFila==14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si da con la pala</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicionPelotaColumna== posicPala || posicionPelotaColumna== posicPala-1 || posicionPelotaColumna== posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 2;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">numeroRebotes++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">actualizaInfo();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span style="color:lime;">//Si no da con la pala has perdido</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (posicionPelotaColumna!= posicPala || posicionPelotaColumna!= posicPala-1 || posicionPelotaColumna!= posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span>            </span></strong><strong><span lang="EN-GB">System.out.println(“Game over”);</span></strong></span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>System.exit(0);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>}</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:20pt;color:lime;"><span style="font-family:Times New Roman;">//Si la pelota va hacia la izquierda</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (direccionPelotaHorizontal == 2){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//pero no ha llegado a la pared</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicionPelotaColumna != 0){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota va hacia arriba y no ha llegado al techo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (direccionPelotaVertical == 1 &amp;&amp; posicionPelotaFila != 0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota va hacia arriba y ha llegado al techo </span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else if (direccionPelotaVertical == 1 &amp;&amp; posicionPelotaFila == 0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota va hacia abajo y no ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">} else if (direccionPelotaVertical == 2 &amp;&amp; posicionPelotaFila != 14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la pelota ha va hacia abajo y ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else if (direccionPelotaVertical == 2 &amp;&amp; posicionPelotaFila == 14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si da con la pala</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicionPelotaColumna== posicPala || posicionPelotaColumna== posicPala-1 || posicionPelotaColumna== posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span style="color:lime;">//Si no da con la pala has perdido</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (posicionPelotaColumna!= posicPala || posicionPelotaColumna!= posicPala-1 || posicionPelotaColumna!= posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span>            </span></strong><strong><span lang="EN-GB">System.out.println(“Game over”);</span></strong></span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>System.exit(0);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>}</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//y ha llegado a la pared</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (posicionPelotaColumna == 0){<span style="color:lime;"> </span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span style="color:lime;">//pero no ha llegado al techo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (direccionPelotaVertical == 1 &amp;&amp; posiciónPelotaFila!=0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 1;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//pero ha llegado al techo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if(direccionPelotaVertical == 1 &amp;&amp; posiciónPelotaFila==0){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 1;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaVertical = 2;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//pero no ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (direccionPelotaVertical == 2 &amp;&amp; posiciónPelotaFila!=14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">direccionPelotaHorizontal = 1;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//pero ha llegado al suelo</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if(direccionPelotaVertical == 2 &amp;&amp; posiciónPelotaFila==14){</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[posicionPelotaFila][ posicionPelotaColumna].setBackground(Color.BLACK);</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si da con la pala</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicionPelotaColumna== posicPala || posicionPelotaColumna== posicPala-1 || posicionPelotaColumna== posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaFila&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicionPelotaColumna++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">dirPelotaHorizontal = 1;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">numeroRebotes++;</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">actualizaInfo();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pintaPelota();</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 70.8pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span><span style="color:lime;">//Si no da con la pala has perdido</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 106.2pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else if (posicionPelotaColumna!= posicPala || posicionPelotaColumna!= posicPala-1 || posicionPelotaColumna!= posicPala+1){</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span>            </span></strong><strong><span lang="EN-GB">System.out.println(“Game over”);</span></strong></span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>System.exit(0);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>}</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">timer.start();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;">//Fin del actionPerformed</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Clase interna Manejador, controla los eventos del teclado</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">class Manejador extends<span>  </span>KeyAdapter {</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void KeyPressed(KeyEvent evento){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Miramos los casos posibles (tecla izda o dcha pulsada)</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">switch(evento.getKeyCode){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la tecla pulsada es la derecha, miramos que no estemos ya pegando a la pared de la derecha y si no lo estamos movemos la pala</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">case KeyEvent.VK_RIGHT:</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if(posicPala&lt;13){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[14][posicPala-1].setBackground(Color.BLACK);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[14][posicPala+2].setBackground(Color.WHITE);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicPala++;}</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la tecla pulsada es la izda, miramos que no estemos ya pegando a la pared de la izda y si no lo estamos movemos la pala</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">case KeyEvent.VK_LEFT:</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if(posicPala&gt;1){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[14][posicPala+1].setBackground(Color.BLACK);</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">juego[14][posicPala-2].setBackground(Color.WHITE);</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicPala&#8211;;}}}} <span style="color:lime;">//Fin de la clase interna Manejador</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método Main</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public static void main(String [] args){<br />
<span> </span><br />
Juego j = new Juego();<br />
} <span style="color:lime;">//Fin del método Main</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;">//Fin de la clase Juego</span></span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">CONCEPTOS USADOS EN EL EJERCICIO 3</span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">En este caso los conceptos usados para resolver este ejercicio son los siguientes:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Conceptos de swing a nivel general</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Conceptos de eventos</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Timer</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Uso de switch</span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/39/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/39/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=39&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/09/11/ejercicio-3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>Ejercicio 2</title>
		<link>http://beceoca.wordpress.com/2008/09/11/ejercicio-2-2/</link>
		<comments>http://beceoca.wordpress.com/2008/09/11/ejercicio-2-2/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 10:50:14 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=37</guid>
		<description><![CDATA[César Juárez Megías
ENUNCIADO EJERCICIO 2
 
Se pretende construir una estructura de datos compleja, en este caso una cola mediante el uso de una lista enlazada.
Esta cola deberá contener los siguientes métodos:
            · Encolar elementos (enqueue).
            · Desencolar elementos (dequeue).
            · Indicar si la cola está vacía.
            · Imprimir por pantalla todos los contenidos de la cola.
 
En [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=37&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>César Juárez Megías</strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">ENUNCIADO EJERCICIO 2</span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Se pretende construir una estructura de datos compleja, en este caso una cola mediante el uso de una lista enlazada.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Esta cola deberá contener los siguientes métodos:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Encolar elementos (enqueue).</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Desencolar elementos (dequeue).</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Indicar si la cola está vacía.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Imprimir por pantalla todos los contenidos de la cola.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">En nuestro caso, la cola que vamos a crear almacenará objetos de tipo pila, cuya clase también deberemos programar, la cual llevará estos métodos:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Introducir un elemento en la pila (push).</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Extraer un elemento de la pila (pop).</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Indicar si la pila está vacía.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Indicar si la pila está llena.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>· Imprimir por pantalla todos los contenidos de la pila.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Como en el caso de las colas también deberemos programarla mediante una lista enlazada, la pila se implementará mediante un array.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Cada una de estas pilas contendrá vectores (uno en cada posición de la pila)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Suponemos que la cola y la pila tienen tamaño para 15 objetos.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Suponemos también que los vectores que se almacenan en la pila nos los dan ya tal y como se quieren almacenar</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">NOTAS</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>El método imprimir de la cola imprimirá por pantalla cada una de las pilas almacenadas en ella. </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">A su vez, imprimir cada una de estas pilas significa imprimir todos y cada uno de los vectores que almacena. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Por último, imprimir uno de estos vectores quiere decir imprimir, uno debajo de otro, todos los objetos que estén guardados en él, considerando que dichos objetos serán números enteros. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Tras la impresión, la estructura de datos al completo deberá quedar tal y como estaba al principio.</span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">CLASES EJERCICIO 2</span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;">(para hacer la lectura más fácil he puesto los comentarios en color verde)</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="text-decoration:underline;"><span style="font-size:14pt;"><span style="font-family:Times New Roman;">Clase Cola</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Cola{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Declaramos los atributos necesarios, en este caso el constructor será el que viene por defecto</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int tamaño = 15;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public int objetosEnCola = 0;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public int objetosImpresos = 0;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Nodo primero = null;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Nodo ultimo = null;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo enqueue</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void enqueue(Pila pila){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Comprobamos que la cola no está llena</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (estaLlena == false){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (estaVacia == true){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Al ser el primer objeto añadido tendrá a la vez la primera y la última posición</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">primero = new Nodo(pila);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">ultimo = new Nodo(pila);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Como no es el primer objeto añadido creo un nuevo nodo con la pila que voy a encolar</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">nuevoUltimo = new Nodo(pila);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Pongo el ultimo nodo apuntando al nuevo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">ultimo.setNodoSiguiente(nuevoUltimo);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Cambio el ultimo nodo por el que acabo de añadir al final de la cola</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">ultimo = nuevoUltimo;}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Sumo un objeto en la cuenta de objetos que tiene la cola</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">objetosEnCola++;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la cola está llena saco por pantalla un mensaje de error</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.error.println(&#8220;La cola está llena, no puede añadir más objetos&#8221;);}}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo dequeue</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Pila dequeue(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (estaVacia == false){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Guardo la pila a devolver en una variable</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">Pila pilaADevolver = primero.getPila();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Pongo la posición siguiente como la primera de la cola</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">Nodo NuevoPrimero = primero.getSiguiente();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">primero = nuevoPrimero;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Resto el objeto que acabo de sacar de la cola</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">objetosEnCola&#8211;;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Devuelvo el nodo que había en la primera posición</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">return (PilaADevolver);}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si no hay objetos en la cola</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.error.println(&#8220;No hay más objetos en esta cola&#8221;);}}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo estaVacia</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public boolean estaVacia(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la cola está vacía (no hay ningún objeto) devuelvo true, sino, devuelvo false</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (objetosEnCola==0){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return true;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return false;}}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Metodo imprimir</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimir(){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si la cola está vacia lo comunicamos en un mensaje por pantalla</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (estaVacia()==true){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(&#8220;La cola está vacia&#8221;);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">primero.imprimir();</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">imprimeRestantes(primero.getSiguiente());}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimeRestantes(Nodo nod)</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si el nodo no es nulo, lo imprimimos y llamamos a este método para que imprima el siguiente</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (nod != null){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">nod.imprimir();</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">imprimeRestantes(nod.gesSiguiente());</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Si el nodo es nulo, no hay más que hacer y por lo tanto se sale automáticamente del algoritmo recursivo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}}}<span style="color:lime;">//Fin de la clase Cola</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="text-decoration:underline;"><span style="font-size:14pt;"><span style="font-family:Times New Roman;">Clase Nodo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Nodo{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Declaramos los atributos necesarios</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">Pila pila;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">Nodo siguiente == null;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Constructor</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Nodo(Pila pila){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">this.pila = pila;}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método setNodoSiguiente</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void setNodoSiguiente(Nodo siguiente){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">this.siguiente = siguiente;}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método getNodoSiguiente</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Nodo getNodoSiguiente(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">return (siguiente);}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//Método getPila</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Pila getPila(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return pila;}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//Método imprimir (llama directamente al método imprimir de la pila)</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimir(){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">pila.imprimir();}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;">//Fin de la clase Nodo</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="text-decoration:underline;"><span style="font-size:14pt;"><span style="font-family:Times New Roman;">Clase Pila</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">import import java.util.*;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Pila{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Declaramos las variables necesarias</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Vector array [];</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int tamaño = 15; </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public int posicion = 0;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Constructor</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Pila(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">array = new Vector [tamaño];}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método push</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void push(Vector i){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Miramos si la cola no está llena, si lo está sacamos un mensaje por pantalla,</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">y si no lo está añadimos el objeto en su posición</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (estaLlena()){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(&#8220;La pila está llena&#8221;);}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">array [posicion] = i;</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicion++;}}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//Método pop</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public Vector pop(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Devolvemos el objeto de la lista que está en la primera posición para salir de ella</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">return array [posicion];</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">posicion&#8211;;}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método estaLlena</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public boolean estaLlena(){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicion == (tamaño-1)){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return true;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">return false;}}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;"><span style="color:lime;">//Método estaVacia</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public boolean estaVacia(){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if (posicion == -1){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return true;</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">return false;}}</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;font-family:Times New Roman;"> </span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Método imprimir</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimir(){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Comprobamos que no está vacia y si no lo está imprimimos por pantalla todos los elementos de la lista</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">if (estaVacia()){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(&#8220;La pila está llena&#8221;);</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}else{</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Recorremos la pila</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">for(int i = 0; i&lt;=posicion; i++){</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:lime;"><span style="font-size:small;"><span style="font-family:Times New Roman;">//Recorremos el vector</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">for(int j=0; j&lt;array[i].size(); j++){</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.print(array[i].elementAt(j)+&#8221;<span>  </span>&#8220;);}}}}</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;font-family:Times New Roman;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">}<span style="color:lime;">//Fin de la clase Pila</span></span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">CONCEPTOS USADOS EN EL EJERCICIO 2</span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">En este caso los conceptos usados para resolver este ejercicio son los siguientes:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Concepto de pilas y colas</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Uso de una cola dinámica</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Uso de la clase Vector</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Conceptos de algoritmia nivel básico/medio (recorrer arrays, llamadas a otros métodos dentro de un método)</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>- Recursividad</span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=37&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/09/11/ejercicio-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>Ejercicio 1</title>
		<link>http://beceoca.wordpress.com/2008/09/11/ejercicio-1-2/</link>
		<comments>http://beceoca.wordpress.com/2008/09/11/ejercicio-1-2/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 10:40:52 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=31</guid>
		<description><![CDATA[

César Juárez Megías
 

ENUNCIADO EJERCICIO 1
 El problema consiste en crear clases que representan cada una a un personaje de un juego de rol y una interfaz
 
Clase personaje:
Es una clase que recoge todas las características comunes de todos los tipos de personaje existentes. 
Debe programarse de forma que no se puedan crear instancias de ella.
- Información que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=31&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div><strong><span style="font-size:20pt;"></span></strong></div>
<p><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;"></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:#000000;"><span style="font-size:small;">César Juárez Megías</span></span></strong></p>
<p> </p>
<p></span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:20pt;"><span style="font-family:Times New Roman;">ENUNCIADO EJERCICIO 1</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span><span style="font-size:small;font-family:Times New Roman;">El problema consiste en crear clases que representan cada una a un personaje de un juego de rol y una interfaz</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="text-decoration:underline;">Clase personaje</span></strong>:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Es una clase que recoge todas las características comunes de todos los tipos de personaje existentes. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Debe programarse de forma que no se puedan crear instancias de ella.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">- Información que deberá guardar como mínimo: </span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span> </span></strong>· Vida del personaje.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>· Fuerza.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>· Inteligencia.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>· Astucia.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>· Vigor inicial: Esta característica tendrá en todo momento el mismo valor para todos los personajes</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">Si alguno de los personajes cambia su vigor, el nuevo valor cambiará para todos.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">- Métodos:</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;">· Constructores varios: deben inicializar la información del personaje, y tomar nota del objeto que los llamó, a fin poder llamarlo más tarde.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;">· Métodos de acceso a la información: deberán notificar al método “personajeCambiado(Personaje)” del objeto que creo el personaje cada cambio que se produzca en la información del personaje.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;">· Un método “imprimir()” sin implementar.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 90pt;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="text-decoration:underline;">Clase Guerrero:</span></strong> Guardará la misma información y tendrá los mismos métodos que Personaje, añadiendo además:</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>- Información</strong>:</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Habilidad.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Puntería.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Una variable que lleve la cuenta de cuantos guerreros hay creados en cada momento.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">- Métodos:</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>·<span>  </span></strong>Un método para imprimir por pantalla toda la información del personaje.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 18pt;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="text-decoration:underline;">Clase Maga: </span></strong>Guardará la misma información y tendrá los mismos métodos que Personaje, y además añadirá:</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>- Información</strong>:</span></span></p>
<p class="MsoNormal" style="text-indent:53.4pt;text-align:justify;margin:0 0 0 -18pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Magia.</span></span></p>
<p class="MsoNormal" style="text-indent:53.4pt;text-align:justify;margin:0 0 0 -18pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Poder de la luz.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Una variable que lleve la cuenta de cuantas magas hay en cada momento.</span></span></p>
<p class="MsoNormal" style="text-indent:18pt;text-align:justify;margin:0 0 0 -18pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">- Métodos:</span></span></strong></p>
<p class="MsoNormal" style="text-indent:53.4pt;text-align:justify;margin:0 0 0 -18pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Un método para imprimir por pantalla toda la información del personaje.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Esta clase deberá además implementar la interfaz “Hechicero”.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;">Interfaz Hechicero: </span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:18pt;text-align:justify;margin:0 0 0 -18pt;"><strong><span style="font-size:small;"><span style="font-family:Times New Roman;">- Métodos:</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Doblar magia.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong>· </strong>Doblar poder de la luz.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span style="text-decoration:underline;">Clase de prueba</span></strong>: El método “main” de esta clase de prueba dará un valor inicial al vigor de los personajes, después procederá a crear una maga. Debe incluir también un método personajeCambiado(Personaje), que simplemente imprima por pantalla las características del personaje cambiado.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">NOTA: en el ejercicio resuelto he puesto que tiene que haber algún método parecido o igual que el getSource() para saber quien ha llamado a un método, por lo tanto se debería poner en el enunciado dicho método ya que no es común y no tiene porqué conocerse (por lo menos desde mi punto de vista)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;">
<div class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"><strong> </strong></span></div>
<div></div>
<p><span style="font-size:small;font-family:Times New Roman;"></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:20pt;"><strong>CLASES EJERCICIO 1</strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center">(para hacer la lectura más fácil he puesto los comentarios en color verde)</p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:20pt;"><strong> </strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="text-decoration:underline;"><span style="font-size:14pt;"><strong>Clase Personaje</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Ponemos la clase como abstract para no poder instanciarla</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public abstract class Personaje{</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Definimos los atributos</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>private int vida;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>private int fuerza;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>private int inteligencia;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>private int astucia;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>private static int vigorInicial;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//constuctor</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public Personaje(int vida, int fuerza, int inteligencia, int astucia, int vigorInicial){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.vida = vida;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.fuerza = fuerza;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.inteligencia = inteligencia;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.astucia = astucia;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.vigorInicial = vigorInicial;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//metodos get…</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getVida(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return vida;}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getFuerza(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return fuerza;}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getInteligencia(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return inteligencia;}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getAstucia(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return astucia;}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getVigorInicial(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>return vigorInicial;}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Métodos set&#8230; para saber quién ha llamado a este método usaríamos algún método ya creado parecido a getSource(), que nos devolviera el objeto que ha llamado al método</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public void setVida(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>a = vida;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>personajeCambiado(metodo tipo getsource);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public void setFuerza(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>a = fuerza;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>personajeCambiado(metodo tipo getsource);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public void setInteligencia(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>a = inteligencia;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>personajeCambiado(metodo tipo getsource);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public void setAstucia(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>a = astucia;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>personajeCambiado(metodo tipo getsource);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public void setVigorInicial(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>a = vigorInicial;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>personajeCambiado(metodo tipo getsource);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public abstract void imprimir(){}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>}</strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:20pt;"><strong> </strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="text-decoration:underline;"><span style="font-size:14pt;"><strong>Clase Guerrero</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Esta clase hereda de personaje</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public class Guerrero extends Personaje{</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Definimos los atributos necesarios</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>private int habilidad;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>private int punteria;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>private static int guerrerosCreados = 0;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Constructor</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public Guerrero(int vida, int fuerza, int inteligencia, int astucia, int vigorInicial, int habilidad, int punteria){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super(vida, fuerza, inteligencia, astucia, vigorInicial);</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.habilidad = habilidad;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.punteria= punteria;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>guerrerosCreados++;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Nos ahorraríamos bastante código si el método imprimir de la clase Personaje estuviera ya implementado, ya que los valores comunes no nos haría falta ponerlo y se pondría solo super.imprimir();</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public void imprimir(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>System.out.println(&#8220;Vida: &#8220;+getVida()+&#8221; Fuerza: &#8220;+getFuerza()+&#8221; Inteligencia: &#8220;+getInteligencia()+&#8221; Astucia: &#8220;+getAstucia()+&#8221; Vigor inicial: &#8220;+getVigorInicial()+&#8221; Habilidad: &#8220;+getHabilidad()+&#8221; Punteria: &#8220;+getPunteria()+&#8221; Numero de guerreros creados: &#8220;+getGuerrerosCreados);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Metodos get&#8230; al heredarlos de la clase personaje ponemos super.get&#8230;()</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getVida(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>super.getVida();}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getFuerza(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>getFuerza();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getInteligencia(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>getInteligencia();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getAStucia(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.getVida();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getVigorInicial(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.getVigorInicial();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Los tres métodos get… nuevos son:</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getHabilidad(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return(habilidad);}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getPunteria(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return(punteria);}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getGuerrerosCreados(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>return(guerrerosCreados);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Metodos set&#8230; al heredarlos de la clase personaje ponemos super.set&#8230;()</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int setVida(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>super.setVida(a);}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int setFuerza(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setFuerza(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int setInteligencia(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setInteligencia(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int setAstucia(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setVida(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int setVigorInicial(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setVigorInicial(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Los dos métodos set… nuevos son:</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int setHabilidad(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>a = habilidad;}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int setPunteria(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>a = punteria;}}<span style="color:#00ff00;">//Fin de la clase Guerrero</span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="text-decoration:underline;"><span style="font-size:14pt;"><strong>Interfaz Hechicero</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public interface Hechicero{</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public void doblaMagia();</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public void doblaPoderLuz();</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>}</strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="text-decoration:underline;"><span style="font-size:14pt;"><strong>Clase Maga</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Esta clase hereda de la clase Personaje</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public class Maga extends Personaje implements Hechicero{</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Definimos los atributos necesarios</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>private int magia;</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>private int poderLuz;</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>private static magasCreadas = 0;</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Constructor</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public Maga (int vida, int fuerza, int inteligencia, int astucia, int vigorInicial, int magia,int poderLuz){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super(vida, fuerza, inteligencia, astucia, vigorInicial);</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.magia = magia;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>this.poderLuz = poderLuz;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>magasCreadas++;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Nos ahorraríamos bastante código si el método imprimir de la clase Personaje estuviera ya implementado, ya que los valores comunes no nos haría falta ponerlo y se pondría solo super.imprimir();</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public void imprimir(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>System.out.println(&#8220;Vida: &#8220;+getVida()+&#8221; Fuerza: &#8220;+getFuerza()+&#8221; Inteligencia: &#8220;+getInteligencia()+&#8221; Astucia: &#8220;+getAstucia()+&#8221; Vigor inicial: &#8220;+getVigorInicial()+&#8221; Magia: &#8220;+getMagia()+&#8221; Poder de la luz&#8221;+getPoderLuz()+&#8221; Numero de magas creadas: &#8220;+getMagasCreadas);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Métodos de la interfaz hechicero, no hace falta pasarles ningun parametro, ya que lo tienen en esta misma clase</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public void doblaMagia(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>magia = magia*2;}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public void doblaPoderLuz(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>poderLuz = poderLuz*2;}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Metodos get&#8230; al heredarlos de la clase personaje ponemos super.get&#8230;()</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getVida(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>super.getVida();}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getFuerza(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>getFuerza();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getInteligencia(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>getInteligencia();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getAstucia(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.getVida();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int getVigorInicial(){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.getVigorInicial();}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Los tres métodos get…nuevos son:</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getMagia(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return(magia);}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getPoderLuz(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return(poderLuz);}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int getMagasCreadas(){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>return(magasCreadas);}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Metodos set&#8230; al heredarlos de la clase personaje ponemos super.set&#8230;()</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int setVida(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>super.setVida(a);}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int setFuerza(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setFuerza(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int setInteligencia(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setInteligencia(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int setAstucia(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setVida(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>public int setVigorInicial(int a){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>super.setVigorInicial(a);}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Los dos métodos set nuevos son:</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int setMagia(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>a = magia;}</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong> </strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public int setPoderLuz(int a){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>a = poderLuz;}}<span style="color:#00ff00;">//fin de la clase Maga</span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="text-decoration:underline;"><span style="font-size:14pt;"><span style="text-decoration:none;"><strong> </strong></span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="text-decoration:underline;"><span style="font-size:14pt;"><strong>Clase Prueba</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public class Prueba{</strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Método personajeCambiado, se le pasa como parámetro el objeto al que se ha hecho el cambio, y por lo tanto imprimimos los nuevos datos de ese objeto</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>public void personajeCambiado(Personaje p){</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>System.out.println(&#8220;Un personaje ha sido cambiado, los nuevos valores son: &#8220;);</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>p.imprimir();</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>}</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#00ff00;"><strong>//Main, damos valor inicial al vigor (de la clase personaje) y creamos un objeto tipo Maga</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><strong>public static void main (String [] args){</strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong>Personaje.setVigorInicial=0;</strong></p>
<p class="MsoNormal" style="margin:0;"><strong> </strong></p>
<p class="MsoNormal" style="margin:0;"><strong>Maga maga1= new Maga(100, 100, 100, 100, 100, 100, 100);</strong></p>
<p class="MsoNormal" style="margin:0;"><strong>}}</strong></p>
<div></div>
<p><span style="font-size:small;font-family:Times New Roman;"></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p> </p>
<p> </p>
<p></span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<div><strong></strong></div>
<div><strong></strong></div>
<p><strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:20pt;"><span style="font-family:Times New Roman;">CONCEPTOS USADOS EN EL EJERCICIO 1</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">Los conceptos que se tocan en este ejercicio son los siguientes:</span></p>
<p class="MsoNormal" style="text-indent:-18pt;text-align:justify;margin:0 0 0 36pt;"><span style="font-family:Times New Roman;"><span><span><span style="font-size:small;">-</span><span style="font-family:&quot;">         </span></span></span><span dir="ltr"><span style="font-size:small;">Herencia, con todo lo que ello supone, incluido sobreescritura de métodos en las clases que heredan</span></span></span></p>
<p class="MsoNormal" style="text-indent:-18pt;text-align:justify;margin:0 0 0 36pt;"><span style="font-family:Times New Roman;"><span><span><span style="font-size:small;">-</span><span style="font-family:&quot;">         </span></span></span><span dir="ltr"><span style="font-size:small;">Modificadores de acceso</span></span></span></p>
<p class="MsoNormal" style="text-indent:-18pt;text-align:justify;margin:0 0 0 36pt;"><span style="font-family:Times New Roman;"><span><span><span style="font-size:small;">-</span><span style="font-family:&quot;">         </span></span></span><span dir="ltr"><span style="font-size:small;">Interfaces</span></span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p> </p>
<p> </p>
<p></strong></p>
<p class="MsoNormal" style="margin:0;"> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=31&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/09/11/ejercicio-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>EJERCICIO 4</title>
		<link>http://beceoca.wordpress.com/2008/08/19/ejercicio-4/</link>
		<comments>http://beceoca.wordpress.com/2008/08/19/ejercicio-4/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 13:41:51 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=29</guid>
		<description><![CDATA[BEATRIZ GARCÍA
 
ENUNCIADO EJERCICIO 4
 

Hola,perdón por el retraso he tenido problemas con Internet.
 
En este ejercicio vamos a trabajar con JMF. A la hora de realizar el ejercicio para que sea un poco más fácil, vamos a suponer dos cosas:
 

Si al reproducir un fichero de audio le pedimos al player que me dé la componente de video, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=29&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;font-family:Times New Roman;"><strong><em><span style="text-decoration:underline;">BEATRIZ GARCÍA</span></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"> </span></span></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;font-family:Times New Roman;">ENUNCIADO EJERCICIO 4</span></span></em></strong></span></p>
<p class="MsoTitle" style="margin:0;"> </p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:14pt;" lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Hola,perdón por el retraso he tenido problemas con Internet.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">En este ejercicio vamos a trabajar con JMF. A la hora de realizar el ejercicio para que sea un poco más fácil, vamos a suponer dos cosas:</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<ul style="margin-top:0;" type="disc">
<li class="MsoNormal"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Si al reproducir un fichero de audio le pedimos al player que me dé la componente de video, el player devolverá null.</span></span></span></li>
<li class="MsoNormal"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Para ver cuanto tiempo dura la reproducción<span>  </span>de un fragmento de audio o de vídeo, lo vamos a realizar<span>  </span>reproduciendo dicho fragmento, sin visualizarlo, y por medios ajenos al JMF mediremos cuánto tiempo ha tardado en reproducirse.</span></span></span></li>
</ul>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Hechas estas suposiciones, se trata ahora de construir un programa que reciba como argumentos de entrada(por la línea de comandos) una lista de archivos de video y de audio indistintamente.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Al ejecutarse el programa, imprimirá por consola el título de cada archivo, el tipo de archivo(audio o video) y su duración. </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Después de realizar eso, seleccionará el fragmento más corto de todos ellos(da igual que sea de audio o de video) y lo volverá a reproducirlo pero esta vez mostrándolo al usuario. Esta última reproducción tendrá que ser cíclica, es decir, cuando el fragmento termine, volverá a empezar desde el principio.</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;font-family:Times New Roman;"><strong><em><span style="text-decoration:underline;">SOLUCIÓN EJERCICIO 4</span></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="ES-TRAD"><span style="font-size:small;"><span>   </span>import<span>   </span>java.awt.* ;<br />
<span>   </span>import<span>   </span>java.awt.event.* ;<br />
<span>   </span>import<span>   </span>javax.swing.* ;<br />
<span>   </span>import<span>   </span>java.lang.String ;<br />
<span>   </span>import<span>   </span>java.net.URL ;<br />
<span>   </span>import<span>   </span>java.net.MalformedURLException ;<br />
<span>   </span>import<span>   </span>java.io.IOExceptión ;<br />
<span>   </span>import<span>   </span>javax.media.* ;</p>
<p><span> </span>public class Reproductor extends JFrame implements ControllerListener, ActionListener{<br />
<span>   </span><br />
<span>      </span>Player<span>    </span>player=null ;<br />
<span>      </span>Component visualComponent=null;<br />
<span>      </span>Component controlComponent=null;<br />
<span>      </span>Component progressBar=null;<br />
<span>   </span><br />
<span>      </span>int cont=0;<br />
<span>      </span>Timer timer;<br />
<span>      </span>static String archivo;<br />
<span>      </span>int numVeces=1;<br />
<span>     </span>public Reproductor(){<br />
<span>      </span><br />
<span>      </span>this.getContentPane().setLayout(new BorderLayout());</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><br />
<span style="font-size:small;"><span>      </span>URL url=null;<br />
<span>      </span>timer=new Timer(1000,this);<br />
<span>      </span><br />
<span>         </span>try{<br />
<span>         </span><br />
<span>            </span>if((url=new URL(archivo))==null){<br />
<span>       </span><span>     </span><br />
<span>               </span>System.out.println(&#8220;ERROR&#8221;);<br />
<span>            </span><br />
<span>            </span>}<br />
<span>            </span>else{<br />
<span>            </span><br />
<span>               </span>player=Manager.createPlayer(url);<br />
<span>               </span>player.addControllerListener(this);<br />
<span>            </span><br />
<span>            </span>}<br />
<span>         </span><br />
<span>         </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><br />
<span style="font-size:small;"><span>         </span>}catch(MalformedURLException e){<br />
<span>            </span><br />
<span>               </span>System.out.println(&#8220;URL NO VÁLIDA&#8221;);<br />
<span>            </span><br />
<span>         </span>}catch(IOException e){<br />
<span>            </span><br />
<span>        </span>System.out.println(&#8220;EXCEPCIÓN DE<span>                </span>LECTURA/ESCRITURA&#8221;);<br />
<span>            </span><br />
<span>         </span>}catch(NoPlayerException e){<br />
<span>            </span><br />
<span>           </span>System.out.println(&#8220;NO EXISTE REPRODUCTOR&#8221;);<br />
<span>            </span><br />
<span>         </span>}<br />
<span>      </span><br />
<span>         </span>this.addWindowListener(new ManejadorVentana());<br />
<span>         </span>player.start();<br />
<span>         </span>timer.start();<br />
<span>      </span><br />
<span>     </span><span> </span>}<br />
<span>   </span><br />
<span>   </span><br />
<span>  </span>public synchronized void ControllerUpdate(ControllerEvent event){<br />
<span>      </span><br />
<span>         </span><br />
<span>      </span><br />
<span>         </span>if(player==null){<br />
<span>            </span>System.out.println(&#8220;ERROR&#8221;);<br />
<span>            </span>return ;<br />
<span>         </span>}<br />
<span>      </span><br />
<span> </span>if(event instanceof RealizeCompleteEvent){<br />
<span>  </span><span>                 </span><br />
<span>            </span>if((visualComponent=player.getVisualComponent())!=null){<br />
<span>               </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">}else{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">return null;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span> </span>}<br />
<span>            </span><br />
<span>                </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">if((ControlComponent=player.getPanelComponent())!=null){<br />
<span>               </span><br />
<span>    </span>this.getContentPane().add(&#8220;South&#8221;, controlComponent);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">}<br />
<span>    </span>validate();<br />
<span> </span>}else if(event instanceof EndOfMediaEvent){</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><br />
<span style="font-size:small;"><span>        </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>    </span>if(numVeces==2){</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><br />
<span style="font-size:small;"><span>     </span>player.setMediaTime(new Time(0));<span>  </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">if((visualComponent=player.getVisualComponent())!=null){</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">this.getContentPane().add(&#8220;Center&#8221;,visualComponent);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">validate();</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>  </span>player.start();</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><br />
<span style="font-size:small;"><span>  </span>}else{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><br />
<span style="font-size:small;"><span>         </span>numVeces++;<br />
<span>         </span>player.setMediaTime(new Time(0));</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>         </span>timer.stop();</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>         </span>cont=0;<br />
<span>          </span>}<br />
<span>            </span><br />
<span>  </span>}else if(event instanceof ControllerErrorEvent){<br />
<span>        </span><span>       </span><br />
<span>         </span>player=null;<br />
<span>              </span>System.err.println(((ControllerErrerEvent)event).getMessage());<br />
<span>    </span>}<br />
<span>      </span>}<br />
<span>         </span><br />
<span>       </span>}<br />
<span>   </span><br />
<span>   </span><br />
<span>  </span>public void actionPerformed(ActionEvent event){<br />
<span>      </span><br />
<span>            </span>cont++;<br />
<span>      </span>}<br />
<span>         </span><br />
<span>    </span>public static void main(String[]args){<br />
<span>      </span><br />
<span>      </span>Reproductor reproductor=new Reproductor();<br />
<span>      </span>reproductor.setSize(200,200);<br />
<span>      </span>reproductor.setVisible(true);<br />
<span>         </span><br />
<span>       </span>int minimaCont=args[0].cont;<br />
<span>      </span><br />
<span>      </span>for(int i=0;i&lt;args.length;i++){<br />
<span>      </span><span>   </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>         </span>System.out.println(args[i]);<br />
<span>         </span>System.out.println(args[i].cont);<span>   </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>    </span>if((visualComponent=player.getVisualComponent())!=null){</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>         </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:&quot;" lang="EN-GB"><span>    </span></span><span style="font-family:&quot;" lang="ES-TRAD">System.out.println(&#8220;ARCHIVO DE VIDEO&#8221;);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="ES-TRAD"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">}else{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">System.out.println(&#8220;ARCHIVO DE AUDIO&#8221;);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span> </span><span>       </span>if(minimaCont==args[i].cont){<br />
<span>               </span>archivo=args[i];</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>               </span>player.start();<br />
<span>               </span><br />
<span>            </span>}<br />
<span>            </span>else if(minimaCont&lt;args[i].cont){<br />
<span>               </span>archivo=args[0];</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>               </span>player.start();</p>
<p><span>            </span>}<br />
<span>  </span><span>          </span>else if(minimaCont&gt;args[i].cont){<br />
<span>               </span>archivo=args[i];</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>               </span>player.start();</p>
<p><span>            </span>}<br />
<span>         </span>}<br />
<span>      </span><br />
<span>                  </span><br />
<span>         </span><br />
<span>      </span>}<br />
<span>      </span><br />
<span>  </span><br />
<span>   </span>public class ManejadorVentana extends WindowAdapter{<br />
<span>      </span><br />
<span>      </span><span>    </span>public void windowClosing(WindowEvent e){<br />
<span>         </span><br />
<span>            </span>if(player!=null){<br />
<span>            </span><br />
<span>               </span>player.stop();<br />
<span>               </span>player.deallocate();<br />
<span>            </span>}<br />
<span>         </span><br />
<span>            </span>System.exit(0);<br />
<span>         </span><br />
<span>         </span>}<br />
<span>      </span>}<br />
<span>   </span>}</p>
<p></span></span><strong><em><span style="text-decoration:underline;"><span style="font-size:14pt;" lang="EN-GB"><span style="font-family:Times New Roman;">CONCEPTOS EJERCICIO 4</span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><em><span style="text-decoration:underline;"><span style="font-size:14pt;" lang="EN-GB"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span style="text-decoration:underline;"><span style="font-size:14pt;" lang="EN-GB"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB"><span>            </span></span><span lang="ES-TRAD">En este último ejercicio los conceptos que se han tratado han sido: </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de JMF</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de interfaz gráfica(swing)</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de programación orientada a eventos</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto del Timer</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=29&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/08/19/ejercicio-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>EJERCICIO 3</title>
		<link>http://beceoca.wordpress.com/2008/08/10/ejercicio-3/</link>
		<comments>http://beceoca.wordpress.com/2008/08/10/ejercicio-3/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 18:31:57 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=27</guid>
		<description><![CDATA[BEATRIZ GARCIA
 
ENUNCIADO EJERCICIO 3


En este ejercicio lo que hay que hacer es programar un pequeño juego que consiste en que el jugador debe mantener una pelota rebotando de pared en pared sin dejarla caer al suelo.
 
Para lograrlo, el jugador moverá una raqueta o pala o paleta(como se quiera llamar) en horizontal, a lo largo del [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=27&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;font-family:Times New Roman;"><strong><em><span style="text-decoration:underline;">BEATRIZ GARCIA</span></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"> </span></span></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;font-family:Times New Roman;">ENUNCIADO EJERCICIO 3</span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:14pt;" lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></em></strong></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;font-family:Times New Roman;">En este ejercicio lo que hay que hacer es programar un pequeño juego que consiste en que el jugador debe mantener una pelota rebotando de pared en pared sin dejarla caer al suelo.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Para lograrlo, el jugador moverá una raqueta o pala o paleta(como se quiera llamar) en horizontal, a lo largo del borde inferior de la pantalla de juego.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">En definitiva, se trata de programar una versión simple del típico machaca-ladrillos(como por ejemplo el Arkanoid) pero sin ladrillos.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">A la hora de hacerlo hay que olvidarse de menús y similares. La partida comienza nada más arrancar el juego, esto es, aparece en pantalla una pelota moviéndose por la zona de juego y rebotando contra las paredes , y un rectángulo en la parte inferior de la zona de juego que el jugador podrá mover de derecha a izquierda mediante las flechas correspondientes al teclado. Si la pelota llega a rebotar en la parte inferior(suelo), querrá decir que el jugador no logró interceptar la trayectoria de la pelota con la pala y se acabará la partida. Para completar un poco más el juego, en algún lugar de la pantalla (preferiblemente fuera de la zona de juego), habrá un marcador que lleve la cuenta de cuántas veces ha rebotado hasta el momento la pelota contra la raqueta.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;font-family:Times New Roman;">Aquí se muestra un dibujo de la interfaz gráfica:</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<table style="margin-left:52.7pt;border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height:25.15pt;">
<td style="border-right:blue 9pt double;border-top:blue 9pt double;background:#333333;border-left:blue 9pt double;width:315.6pt;border-bottom:windowtext 0.5pt solid;height:25.15pt;padding:0 3.5pt;" colspan="5" width="421" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
</tr>
<tr style="height:3.5pt;">
<td style="border-right:windowtext 0.5pt solid;border-top:#ece9d8;background:#333333;border-left:blue 9pt double;width:126.85pt;border-bottom:windowtext 0.5pt solid;height:3.5pt;padding:0 3.5pt;" colspan="2" width="169" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
<td style="border-right:windowtext 0.5pt solid;border-top:#ece9d8;background:yellow;border-left:#ece9d8;width:23.6pt;border-bottom:windowtext 0.5pt solid;height:3.5pt;padding:0 3.5pt;" width="31" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
<td style="border-right:blue 9pt double;border-top:#ece9d8;background:#333333;border-left:#ece9d8;width:165.15pt;border-bottom:windowtext 0.5pt solid;height:3.5pt;padding:0 3.5pt;" colspan="2" width="220" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
</tr>
<tr style="height:25.7pt;">
<td style="border-right:blue 9pt double;border-top:#ece9d8;background:#333333;border-left:blue 9pt double;width:315.6pt;border-bottom:windowtext 0.5pt solid;height:25.7pt;padding:0 3.5pt;" colspan="5" width="421" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
</tr>
<tr style="height:2.65pt;">
<td style="border-right:windowtext 0.5pt solid;border-top:#ece9d8;background:#333333;border-left:blue 9pt double;width:111.1pt;border-bottom:blue 9pt double;height:2.65pt;padding:0 3.5pt;" width="148" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
<td style="border-right:windowtext 0.5pt solid;border-top:#ece9d8;border-left:#ece9d8;width:86.8pt;border-bottom:blue 9pt double;height:2.65pt;background-color:transparent;padding:0 3.5pt;" colspan="3" width="116" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
<td style="border-right:blue 9pt double;border-top:#ece9d8;background:#333333;border-left:#ece9d8;width:117.7pt;border-bottom:blue 9pt double;height:2.65pt;padding:0 3.5pt;" width="157" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <span lang="ES-TRAD"></span></span></span></p>
</td>
</tr>
<tr>
<td style="background-color:transparent;border:#ece9d8;" width="148"></td>
<td style="background-color:transparent;border:#ece9d8;" width="21"></td>
<td style="background-color:transparent;border:#ece9d8;" width="31"></td>
<td style="background-color:transparent;border:#ece9d8;" width="63"></td>
<td style="background-color:transparent;border:#ece9d8;" width="157"></td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoTitle" style="text-align:left;margin:0;" align="left"><span style="font-weight:normal;font-size:12pt;font-style:normal;text-decoration:none;"><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;font-family:Times New Roman;"><strong><em></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;font-family:Times New Roman;"><strong><em><span style="text-decoration:underline;">SOLUCIÓN EJERCICIO 3</span></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:large;"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></em></strong></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;"><span style="font-family:Times New Roman;"></span></span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:14pt;" lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></em></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">import javax.swing.*;<br />
import java.awt.*;<br />
import java.awt.event.*;</p>
<p>public class Juego extends JFrame{<br />
<span>   </span><br />
<span>  </span>private JPanel abajo,arriba;<br />
<span>  </span>private JLabel rebotesPala;<br />
<span>  </span>private int TAMAÑO=20;<br />
<span>  </span>private int numRebotesPala=0;<br />
<span>  </span>private JLabel tablero[][]= new JLabel[TAMAÑO][TAMAÑO];<br />
<span>  </span>private Timer reloj;<br />
<span>  </span>private<span>  </span>int x=19;<br />
<span>  </span>private<span>  </span>int y=TAMAÑO/2;<br />
<span>  </span>private<span>  </span>int xx=14;<br />
<span>  </span>private<span>  </span>int yy=14;<br />
<span>   </span><br />
<span>   </span><br />
<span> </span>public Juego(){<br />
<span>         </span><br />
<span>  </span>super();<br />
<span>  </span>abajo= new JPanel();rebotesPala= new</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"><span>  </span>JLabel(“CONTADOR:”+Integer.toString(numRebotesPala));<br />
<span>  </span>abajo.add(rebotesPala);<br />
<span>      </span><br />
<span>      </span><br />
<span>      </span><br />
<span>  </span>arriba=new JPanel(new GridLayout(TAMAÑO,TAMAÑO));<br />
<span>  </span>arriba.setSize(TAMAÑO*TAMAÑO,TAMAÑO*TAMAÑO);<br />
<span>      </span><br />
<span>  </span>for(int i=0;i&lt;TAMAÑO;i++){<br />
<span>     </span>for(int j=0;j&lt;TAMAÑO;j++){<br />
<span>            </span><br />
<span>         </span>tablero[i][j]=new JLabel();<br />
<span>         </span>tablero[i][j].setOpaque(true);<br />
<span>         </span>tablero[i][j].setBackground(Color.BLACK);<br />
<span>         </span>arriba.add(tablero[i][j]);<br />
<span>                           </span><br />
<span>            </span><br />
<span>        </span>}<br />
<span>        </span>}<br />
<span>      </span><br />
<span>      </span>getContentPane().setLayout(new BorderLayout());<br />
<span>      </span>getContentPane().add(arriba,BorderLayout.CENTER);<br />
<span>      </span>getContentPane().add(abajo,BorderLayout.SOUTH);<br />
<span>      </span>pintarJugador();<br />
<span>      </span>pintarPelota();<br />
<span>         </span><br />
<span>     </span><br />
<span>    </span>Manejadores manejador= new Manejadores();<br />
<span>    </span>addKeyListener(manejador);<br />
<span>      </span><br />
<span>                 </span><br />
<span>     </span>reloj=new Timer(250,manejador);<br />
<span>     </span>reloj.start();</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><br />
<span style="font-size:small;"><span>      </span>}<br />
<span>      </span><br />
<span>     </span>public void pintarJugador(){<br />
<span>      </span><br />
<span>       </span>for(int y=8;y&lt;12;y++){<br />
<span>         </span><br />
<span>         </span>tablero[x][y].setBackground(Color.WHITE);<br />
<span>         </span><br />
<span>       </span>}<br />
<span>    </span>}</p>
<p></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"><span>  </span>public void pintarPelota(){<br />
<span>      </span><br />
<span>     </span>tablero[xx][yy].setBackground(Color.YELLOW);<br />
<span>         </span><br />
<span>         </span><br />
<span>   </span>}<br />
<span>      </span><br />
<span>  </span>public void visualizar(){<br />
<span>      </span><br />
<span>     </span>setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />
<span>     </span>pack();<br />
<span>     </span>setSize(635,400);<br />
<span>     </span>setResizable(false);<br />
<span>     </span>setVisible(true);<br />
<span>      </span><br />
<span>      </span><br />
<span>      </span><br />
<span>  </span>}</p>
<p></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:black;font-family:&quot;"><span style="font-size:small;"><span>   </span><br />
</span></span><span style="font-family:&quot;"><span style="font-size:small;"><span>      </span><br />
class Manejadores extends KeyAdapter implements ActionListener {<br />
<span>      </span><br />
<span>  </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">public void KeyPressed(KeyEvent e){</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><br />
<span style="font-size:small;"><span>      </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;">int x=19;<br />
<span>     </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"><span> </span>switch(e.getKeyCode()){<br />
<span>             </span><br />
<span>    </span>case KeyEvent.VK_RIGHT:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><br />
<span style="font-size:small;"><span>         </span>int numVeces=0;<br />
<span>         </span>int j=0;<br />
<span>               </span><br />
<span>    </span>if (tablero[x][j].getBackground() == Color.WHITE) {<br />
<span>                  </span><br />
<span>     </span>if(numVeces&lt;4){<br />
<span>           </span>j++;<span>   </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>           </span>tablero[x][j].setBackground(Color.WHITE);<span>                                                           </span><br />
<span>           </span>numVeces++;<br />
<span>                     </span>}<br />
<span>                  </span>}<br />
<span>          </span><span>        </span>else{<br />
<span>           </span>tablero[x][j].setBackground(Color.BLACK);<br />
<span>                  </span>}<br />
<span>    </span>case KeyEvent.VK_LEFT:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>           </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>         </span>int numVeces=0;<br />
<span>         </span>int j=19;<br />
<span>               </span><br />
<span>    </span>if (tablero[x][j].getBackground() == Color.WHITE) {<br />
<span>              </span><span>    </span><br />
<span>     </span>if(numVeces&lt;4){<br />
<span>           </span>j&#8211;;<span>   </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>           </span>tablero[x][j].setBackground(Color.WHITE);<span>                                                           </span><br />
<span>           </span>numVeces++;<br />
<span>      </span>}<br />
<span>     </span>}else{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>           </span>tablero[x][j].setBackground(Color.BLACK);<br />
<span>  </span><span>    </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;"><span>    </span>}<br />
<span>  </span>}<br />
<span>           </span><br />
<span>          </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">public void actionPerformed(ActionEvent e){<br />
<span>         </span><br />
<span>   </span>int w=19;<br />
<span>   </span>int h=0;<br />
<span>          </span><br />
<span>         </span><br />
<span>     </span>if(yy!=0){<br />
<span>            </span><br />
<span>        </span>if(xx!=19){<br />
<span>               </span><br />
<span>             </span>tablero[xx][yy].setBackground(Color.BLACK);<br />
<span>             </span>xx&#8211;;<br />
<span>             </span>yy&#8211;;<br />
<span>             </span>tablero[xx][yy].setBackground(Color.YELLOW);<br />
<span>               </span><br />
<span>      </span>}else if(xx==19&amp;&amp;tablero[xx][yy].getBackground()!=Color.WHITE ){<br />
<span>               </span><br />
<span>               </span><br />
<span>                  </span>System.exit(0);<br />
<span>  </span><span>             </span><br />
<span>     </span>}else </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;" lang="EN-GB"><span style="font-size:small;">if(xx==18&amp;&amp;tablero[w][yy].getBackground()==Color.WHITE){<br />
<span>               </span><br />
numRebotesPala++;<span>               </span>tablero[xx][yy].setBackground(Color.BLACK);<br />
<span>                  </span>xx&#8211;;<br />
<span>                  </span>yy++;<br />
<span>                  </span>tablero[xx][yy].setBackground(Color.YELLOW);<br />
<span>                  </span>reloj.start();<br />
<span>               </span></span></span><span style="font-family:&quot;" lang="ES-TRAD"><br />
<span><span style="font-size:small;">               </span></span></span><span style="font-size:small;"><span style="font-family:&quot;" lang="EN-GB">}<br />
<span>            </span><br />
<span>            </span>}<br />
<span>            </span>else{<br />
<span>            </span><br />
<span>            </span><br />
<span>       </span>reloj.stop();<br />
<span>                        </span><br />
<span>            </span><br />
<span>       </span>tablero[xx][yy].setBackground(Color.BLACK);<br />
<span>       </span>xx++;<br />
<span>       </span>tablero[xx][yy].setBackground(Color.YELLOW);<br />
<span>       </span>reloj.start();<br />
<span>                </span><br />
<span>            </span>}<br />
<span>                       </span><br />
<span>       </span>}<br />
<span>      </span>}<br />
<span>  </span>public static void main(String [] args){<br />
<span>         </span><br />
<span>      </span>Juego juego= new Juego();<br />
<span>      </span>juego.visualizar();<br />
<span>      </span>}<br />
<span>   </span>}<br />
<span>   </span></p>
<p></span><span lang="EN-GB"></span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;font-family:Times New Roman;">CONCEPTOS EJERCICIO 3</span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:14pt;" lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><em><span style="text-decoration:underline;"><span style="font-size:14pt;" lang="ES-TRAD"></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><em><span style="text-decoration:underline;"><span style="font-size:14pt;" lang="ES-TRAD"><span style="font-family:Times New Roman;"></span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span style="text-decoration:underline;"><span style="font-size:14pt;" lang="ES-TRAD"><span style="font-family:Times New Roman;"></span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>En este tercer ejercicio los conceptos que se han tratado han sido: </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de interfaces gráficas(swing)</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de programación orientada a Eventos</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de arrays bidimensionales</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=27&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/08/10/ejercicio-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>EJERCICIO 2</title>
		<link>http://beceoca.wordpress.com/2008/08/02/ejercicio-2/</link>
		<comments>http://beceoca.wordpress.com/2008/08/02/ejercicio-2/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 18:14:16 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=25</guid>
		<description><![CDATA[BEATRIZ GARCÍA
EJERCICIO 2 ENUNCIADO
 
 
En este ejercicio vamos a crear una estructura de datos compleja como se muestra en la figura:
 
 
 
Cola:

 
 PRIMERO&#8212;-                                                         &#8212;&#8212;NULL                                  





 
NODO
 


 
 


 
 


 
 




 
 
 

 

 
En cada nodo se almacena  una pila:
 
 
 
 




Posición 1




Posición 2




.
.
.




Posición N




 
 
 
 
En cada posición de la pila se almacena un vector:
 
 
 




Posición 1


Posición 2


. . . . . . . . . . . . . . .


Posición N




 
 
 
 
Y [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=25&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoTitle" style="padding-bottom:1pt;padding-top:1pt;border-bottom:windowtext 4.5pt double;margin:0;"><span style="text-decoration:none;" lang="ES-TRAD"><span style="font-size:large;"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;">BEATRIZ GARCÍA</span></span></em></strong></span></span></p>
<p class="MsoTitle" style="padding-top:1pt;margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;font-family:Times New Roman;">EJERCICIO 2 ENUNCIADO</span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;font-family:Times New Roman;">En este ejercicio vamos a crear una estructura de datos compleja como se muestra en la figura:</span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Cola:</span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> PRIMERO&#8212;-                                                         &#8212;&#8212;NULL                                  </p>
<p class="MsoBodyText" style="margin:0;">
<table style="margin-left:21.5pt;border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height:26.35pt;">
<td style="width:42.7pt;height:26.35pt;background-color:transparent;border:windowtext 4.5pt double;padding:0 3.5pt;" width="57" valign="top">
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">NODO</span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <strong><em><span lang="ES-TRAD"></span></em></strong></span></span></p>
</td>
<td style="border-right:windowtext 4.5pt double;border-top:windowtext 4.5pt double;border-left:#ece9d8;width:42.7pt;border-bottom:windowtext 4.5pt double;height:26.35pt;background-color:transparent;padding:0 3.5pt;" width="57" valign="top">
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <strong><em><span lang="ES-TRAD"></span></em></strong></span></span></p>
</td>
<td style="border-right:windowtext 4.5pt double;border-top:windowtext 4.5pt double;border-left:#ece9d8;width:42.7pt;border-bottom:windowtext 4.5pt double;height:26.35pt;background-color:transparent;padding:0 3.5pt;" width="57" valign="top">
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <strong><em><span lang="ES-TRAD"></span></em></strong></span></span></p>
</td>
<td style="border-right:windowtext 4.5pt double;border-top:windowtext 4.5pt double;border-left:#ece9d8;width:42.7pt;border-bottom:windowtext 4.5pt double;height:26.35pt;background-color:transparent;padding:0 3.5pt;" width="57" valign="top">
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> <strong><em><span lang="ES-TRAD"></span></em></strong></span></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"> </span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"> </p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"> </span></em></strong></p>
<p><strong><em><span lang="ES-TRAD"><font size="3"><font face="Times New Roman"></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"> </span></em></strong></p>
<p></font></font></span></em></strong></span><strong><em><span lang="ES-TRAD"><font size="3"></p>
<p class="MsoBodyText" style="margin:0;"> </p>
<p></font></span></em></strong></span></span></em></strong><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">En cada nodo se almacena<span>  </span>una pila:</span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"> </p>
<p class="MsoBodyText" style="text-align:left;margin:0;" align="left"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="text-align:left;margin:0;" align="left"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="text-align:left;margin:0;" align="left"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<table style="margin-left:183.5pt;border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height:18pt;">
<td style="border-right:windowtext 4.5pt double;border-top:windowtext 4.5pt double;border-left:windowtext 4.5pt double;width:81pt;border-bottom:windowtext 0.5pt solid;height:18pt;background-color:transparent;padding:0 3.5pt;" width="108" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Posición 1</span></span></span></em></strong></p>
</td>
</tr>
<tr style="height:17.25pt;">
<td style="border-right:windowtext 4.5pt double;border-top:#ece9d8;border-left:windowtext 4.5pt double;width:81pt;border-bottom:windowtext 0.5pt solid;height:17.25pt;background-color:transparent;padding:0 3.5pt;" width="108" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Posición 2</span></span></span></em></strong></p>
</td>
</tr>
<tr style="height:44.25pt;">
<td style="border-right:windowtext 4.5pt double;border-top:#ece9d8;border-left:windowtext 4.5pt double;width:81pt;border-bottom:windowtext 0.5pt solid;height:44.25pt;background-color:transparent;padding:0 3.5pt;" width="108" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">.</span></span></span></em></strong></p>
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">.</span></span></span></em></strong></p>
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">.</span></span></span></em></strong></p>
</td>
</tr>
<tr style="height:15.75pt;">
<td style="border-right:windowtext 4.5pt double;border-top:#ece9d8;border-left:windowtext 4.5pt double;width:81pt;border-bottom:windowtext 4.5pt double;height:15.75pt;background-color:transparent;padding:0 3.5pt;" width="108" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Posición N</span></span></span></em></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">En cada posición de la pila se almacena un vector:</span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<table style="margin-left:120.5pt;border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height:18pt;">
<td style="border-right:windowtext 0.5pt solid;border-top:windowtext 2.5pt double;border-left:windowtext 2.5pt double;width:27.75pt;border-bottom:windowtext 2.5pt double;height:18pt;background-color:transparent;padding:0 3.5pt;" width="37" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Posición 1</span></span></span></em></strong></p>
</td>
<td style="border-right:windowtext 0.5pt solid;border-top:windowtext 2.5pt double;border-left:#ece9d8;width:27pt;border-bottom:windowtext 2.5pt double;height:18pt;background-color:transparent;padding:0 3.5pt;" width="36" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Posición 2</span></span></span></em></strong></p>
</td>
<td style="border-right:windowtext 0.5pt solid;border-top:windowtext 2.5pt double;border-left:#ece9d8;width:99pt;border-bottom:windowtext 2.5pt double;height:18pt;background-color:transparent;padding:0 3.5pt;" width="132" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">. . . . . . . . . . . . . . .</span></span></span></em></strong></p>
</td>
<td style="border-right:windowtext 2.5pt double;border-top:windowtext 2.5pt double;border-left:#ece9d8;width:26.25pt;border-bottom:windowtext 2.5pt double;height:18pt;background-color:transparent;padding:0 3.5pt;" width="35" valign="top">
<p class="MsoBodyText" style="text-align:center;margin:0;" align="center"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Posición N</span></span></span></em></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Y en cada posición del vector se almacenará un número entero.</span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span style="text-decoration:underline;"><span style="font-size:16pt;color:#993366;" lang="ES-TRAD"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<p class="MsoBodyText" style="margin:0;"><span style="color:#993366;" lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span style="color:#993366;" lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;font-family:Times New Roman;">Primero hay que programar una cola utilizando para ello una lista enlazada, de esta manera conseguimos que la cola sea dinámica (da igual el número de elementos que insertemos, el límite está en la RAM del ordenador). </span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;font-family:Times New Roman;">Esta cola debe incluir estos métodos:</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-indent:3.8pt;margin:0 0 0 14.2pt;"><span style="font-size:small;"><span style="font-family:Symbol;">·</span><span style="font-family:Times New Roman;">Encolar elementos (enqueue).</span></span></p>
<p class="MsoNormal" style="text-indent:3.8pt;margin:0 0 0 14.2pt;"><span style="font-size:small;"><span style="font-family:Symbol;">·</span><span style="font-family:Times New Roman;">Desencolar elementos (dequeue).</span></span></p>
<p class="MsoNormal" style="text-indent:3.8pt;margin:0 0 0 14.2pt;"><span style="font-size:small;"><span style="font-family:Symbol;">·</span><span style="font-family:Times New Roman;">Indicar si la cola está vacía.</span></span></p>
<p class="MsoNormal" style="text-indent:3.8pt;margin:0 0 0 14.2pt;"><span style="font-size:small;"><span style="font-family:Symbol;">·</span><span style="font-family:Times New Roman;">Imprimir por pantalla todos los contenidos de la cola.</span></span></p>
<p class="MsoNormal" style="text-indent:3.8pt;margin:0 0 0 14.2pt;"><span style="font-size:small;"></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">Además, en la cola se almacenará solamente pilas, es decir, los elementos a encolar serán pilas, o lo que es lo mismo, cada nodo de la lista enlazada almacenará una pila.</span></p>
<p class="MsoBodyText" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;">Cada una de estas pilas, cuya clase también hay que programar, debe incluir estos métodos:</span></span></span></p>
<p class="MsoBodyText" style="margin:0;"><span><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-indent:-10.4pt;margin:0 0 0 28.4pt;"><span style="font-family:Symbol;"><span style="font-size:small;">·</span><span style="font:7pt &quot;">   </span></span><span style="font-size:small;font-family:Times New Roman;">Introducir un elemento en la pila (push).</span></p>
<p class="MsoNormal" style="text-indent:-10.4pt;margin:0 0 0 28.4pt;"><span style="font-family:Symbol;"><span style="font-size:small;">·</span><span style="font:7pt &quot;">   </span></span><span style="font-size:small;font-family:Times New Roman;">Extraer un elemento de la pila (pop).</span></p>
<p class="MsoNormal" style="text-indent:-10.4pt;margin:0 0 0 28.4pt;"><span style="font-family:Symbol;"><span style="font-size:small;">·</span><span style="font:7pt &quot;">   </span></span><span style="font-size:small;font-family:Times New Roman;">Indicar si la pila está vacía.</span></p>
<p class="MsoNormal" style="text-indent:-10.4pt;margin:0 0 0 28.4pt;"><span style="font-family:Symbol;"><span style="font-size:small;">·</span><span style="font:7pt &quot;">   </span></span><span style="font-size:small;font-family:Times New Roman;">Indicar si la pila está llena.</span></p>
<p class="MsoNormal" style="text-indent:-10.4pt;margin:0 0 0 28.4pt;"><span style="font-family:Symbol;"><span style="font-size:small;">·</span><span style="font:7pt &quot;">   </span></span><span style="font-size:small;font-family:Times New Roman;">Imprimir por pantalla todos los contenidos de la pila.</span></p>
<p class="MsoNormal" style="text-indent:-10.4pt;margin:0 0 0 28.4pt;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">La pila se implementará mediante un array (memoria estática).Cada una de estas pilas almacenará vectores, es decir, que almacenará un vector en cada posición de la pila.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Times New Roman;">NOTA: cuando se invoque al método imprimir de la cola implica imprimir cada una de las pilas almacenadas en ella y a su vez imprimir todos los vectores que almacena y también imprimir todos los objetos que estén guardados en cada vector uno debajo de otro considerando que dichos objetos serán números enteros.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span><span style="font-size:small;font-family:Times New Roman;"> </span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;"><span style="font-family:Times New Roman;">EJERCICIO2 SOLUCIÓN<span>   </span></span></span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:14pt;" lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"> </span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><em><span style="text-decoration:underline;"><span style="font-size:14pt;" lang="ES-TRAD"><span style="font-family:Times New Roman;"> </span></span></span></em></strong></p>
<h1 style="margin:0;"><span style="text-decoration:none;" lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;">CLASE COLALISTA</span></span></span></span></h1>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class ColaLista {</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private Nodo primero;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int ultimo;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public ColaLista(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">primero=null;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">ultimo= 0;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void enqueue(Pila pila){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Nodo nodo=new Nodo(primero,pila);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Primero=nodo;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">ultimo++;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Pila dequeue(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Nodo actual=primero;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">for(int i =0;i&lt;ultimo;i++){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">actual=actual.dameSiguiente();</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">ultimo&#8211;;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">return actual;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public boolean vacia(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">return primero=null;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimir(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Nodo actual=primero;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">while(actual!=null){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(actual.damePila());</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">actual=actual.damePila();</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<strong>FIN CLASE COLALISTA</strong></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<h1 style="margin:0;"><span style="text-decoration:none;" lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;">CLASE NODO</span></span></span></span></h1>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Nodo{</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private Nodo siguiente;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private Pila pila;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Nodo(Nodo siguiente, Pila pila){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.siguiente=siguiente;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.pila=pila;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Nodo dameSiguiente{</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.siguiente;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Pila damePila(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.pila;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponNodo(Nodo siguiente){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.siguiente=siguiente;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponPila(Pila pila){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.pila=pila;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<strong>FIN CLASE NODO</strong></span></span></p>
<h1 style="margin:0;"><span style="text-decoration:none;" lang="ES-TRAD"><span style="font-size:small;"><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></span></span></h1>
<h1 style="margin:0;"><span style="text-decoration:none;" lang="ES-TRAD"><span style="font-size:small;"><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></span></span></h1>
<h1 style="margin:0;"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="ES-TRAD"></span></span></span></span></h1>
<h1 style="margin:0;"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="ES-TRAD"><span> </span></span><span style="text-decoration:none;" lang="ES-TRAD">CLASE PILA</span></span></span></span></h1>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Pila{<span>  </span></span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int numElementos;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private Vector elementosPila[];</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int indice;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Pila(int numElementos){</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.numElementos=numElementos;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">indice = -1;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">elementosPila=new Vector [numElementos];</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void push(Vector v){</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">indice++;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">elementosPila[indice]=v;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Vector pop(){</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Vector vector=elementosPila[indice];</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">indice&#8211;;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return vector;</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public boolean vacia(){</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return (indice = = -1);</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public boolean llena(){</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return (indice = = numElementos-1);</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimir(){</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>for(int i = 0; i&lt;=indice; i++){</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span>System.out.println(elementosPila[i]);</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span lang="EN-GB">}</span><span lang="ES-TRAD"></span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<strong>FIN CLASE PILA</strong></span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoTitle" style="margin:0;"><span lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-size:large;font-family:Times New Roman;">EJERCICIO 2 CONCEPTOS</span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:14pt;" lang="ES-TRAD"><strong><em><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"> </span></span></em></strong></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>            </span>En este segundo ejercicio los conceptos que se han tratado han sido: </span></span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de pila</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de cola</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de lista</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de vector</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=25&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/08/02/ejercicio-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>EJERCICIO 1</title>
		<link>http://beceoca.wordpress.com/2008/07/25/ejercicio-1/</link>
		<comments>http://beceoca.wordpress.com/2008/07/25/ejercicio-1/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 14:16:41 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=23</guid>
		<description><![CDATA[ 
BEATRIZ GARCÍA VIZUETE



ENUNCIADO EJERCICIO 1




Consiste en crear un conjunto de clases que representen personajes de juegos de rol. Todos los atributos los vamos a considerar de tipo int. Hay que crear cuatro clases y una interfaz.
 
Clase Personaje: es la clase base, que contiene las características generales. De esta clase no se podrán crear instancias.
-Atributos: vida [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=23&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> </p>
<h1 style="margin:0;"><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="text-decoration:underline;"><span style="font-family:Times New Roman;">BEATRIZ GARCÍA VIZUETE</span></span></span></span></em></h1>
<h1 style="text-align:center;margin:0;"><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></span></span></em></h1>
<h1 style="text-align:center;margin:0;"><em><span lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"></span></span></span></em></h1>
<h1 style="text-align:center;margin:0;"><em><span lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"></span></span></span></em></h1>
<h1 style="text-align:center;margin:0;"><em><span lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;">ENUNCIADO EJERCICIO 1</span></span></span></span></em></h1>
<h1 style="text-align:center;margin:0;"><em><span lang="ES-TRAD"><span style="text-decoration:underline;"></span></span></em></h1>
<h1 style="text-align:center;margin:0;"><em><span lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></span></em></h1>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="text-decoration:underline;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Consiste en crear un conjunto de clases que representen personajes de juegos de rol. Todos los atributos los vamos a considerar de tipo int. Hay que crear cuatro clases y una interfaz.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Clase Personaje: es la clase base, que contiene las características generales. De esta clase no se podrán crear instancias.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-Atributos: vida del personaje, fuerza, inteligencia, astucia, vigor inicial(tiene el mismo valor para todos los personajes, es decir, si alguno cambia su vigor, el nuevo valor cambia para todos).</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-Métodos: tiene un método imprimir sin implementar(las clases derivadas están obligadas a redefinirlo), tiene sus correspondientes métodos de acceso a los atributos en el que deberán notificar al método personajeCambiado(Personaje)del objeto que creó el personaje cada cambio que se produzca en la información del personaje y por último tiene varios constructores donde se inicializa la información del personaje y deberá tomar nota del objeto que los llamó.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Clase Guerrero: es una clase derivada de la clase base Personaje, es decir, que tiene los mismos atributos y métodos que la clase Personaje y además añade la siguiente información:</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-Atributos: habilidad, puntería y una variable que lleva la cuenta de cuantos guerreros hay en cada momento.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-Métodos: tiene un método para imprimir toda la información del personaje.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Clase Maga: es una clase derivada de la clase base Personaje, es decir, que tiene los mismos atributos y métodos que la clase Personaje y además añade la siguiente información:</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-Atributos: magia, poder de la luz y una variable que lleva la cuenta de cuantas magas hay en cada momento.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-Métodos: tiene un método para imprimir toda la información del personaje.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Pero además, esta clase debe implementar la interfaz Hechicero, es decir, implementar los dos métodos que tiene en este caso.<span style="color:yellow;"></span></span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Clase Prueba: esta clase contiene el método main que dará un valor inicial al vigor de los personajes y creará una maga. Esta clase también debe incluir un método personajeCambiado(Personaje) que imprime por pantalla las características del personaje cambiado.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Interfaz Hechicero: como se ha dicho antes esta interfaz contiene dos métodos: doblar magia y doblar poder de la luz.</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></p>
<h1 style="margin:0;"><span style="font-weight:normal;text-decoration:none;" lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></span></h1>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"></span></span></p>
<h1 style="text-align:center;margin:0;"><em><span lang="ES-TRAD"><span style="font-size:small;"><span style="text-decoration:underline;"><span style="font-family:Times New Roman;">SOLUCIÓN<span>  </span>EJERCICIO 1</span></span></span></span></em></h1>
<h1 style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="text-decoration:underline;"><span style="font-family:Times New Roman;"></span></span></span></span></h1>
<h1 style="margin:0;"><span lang="ES-TRAD"><span style="text-decoration:underline;"><span style="font-size:small;font-family:Times New Roman;">CLASE PERSONAJE</span></span></span></h1>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public abstract class Personaje{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int vidas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int fuerza;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int inteligencia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int astucia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public static int vigorInicial;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">private Prueba p;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Personaje(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<strong></strong></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Personaje(int vidas, int fuerza, int inteligencia, int astucia, int vigorInicial, Prueba p){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.vidas=vidas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.fuerza=fuerza;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.inteligencia=inteligencia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.astucia=astucia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.vigorInicial=vigorInicial;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.p=p;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameVidas(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.vidas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponVidas(int vidas){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.vidas=vidas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">p.personajeCambiado(Personaje);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameFuerza(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.fuerza;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponFuerza(int fuerza){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.fuerza=fuerza;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">p.personajeCambiado(Personaje);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<strong></strong></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameInteligencia(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.inteligencia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponInteligencia(int inteligencia){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.inteligencia=inteligencia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">p.personajeCambiado(Personaje);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameAstucia(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.astucia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponAstucia(int astucia){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.astucia=astucia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">p.personajeCambiado(Personaje);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameVigorInicial(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.vigorInicial;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponVigorInicial (int vigorInicial){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.vigorInicial=vigorInicial;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">p.personajeCambiado(Personaje);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public abstract void imprimir();</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} FIN CLASE PERSONAJE</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">CLASE GUERRERO</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Guerrero extends Personaje{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int habilidad;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int punteria;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int numGuerreros;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Guerrero(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">super();</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">habilidad=0;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">punteria=0;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">numGuerreros++;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Guerrero(int vidas, int fuerza, int inteligencia, int astucia, int vigorInicial, Prueba p , int habilidad, int punteria, int numGuerreros){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">super(vidas,fuerza,inteligencia,astucia,vigorInicial,p);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.habilidad=habilidad;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.punteria=punteria;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.numGuerreros=numGuerreros;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameHabilidad (){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.habilidad;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponHabilidad (int habilidad){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.habilidad = habilidad;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int damePunteria (){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.punteria;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponPunteria(int punteria){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.punteria=punteria;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameNumGuerreros(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.numGuerreros;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponNumGuerreros(int numGuerreros){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.numGuerreros=numGuerreros;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimir(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Vidas:” + vidas);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Fuerza:” + fuerza);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Inteligencia:” + inteligencia);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Astucia:” + astucia);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Vigor Inicial:” + vigorInicial);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Habilidad:” + habilidad);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Punteria:” + punteria);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Numero de Guerreros:” + numGuerreros);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<strong></strong></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}FIN CLASE GUERRERO</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">CLASE MAGA</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Maga<span>  </span>extends Personaje implements Hechicero{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int magia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int poderLuz;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">private int numMagas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Maga(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">super();</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">magia=0;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">poderLuz=0;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">numMagas++;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public Maga(int vidas, int fuerza, int inteligencia, int astucia, int vigorInicial, Prueba p, int magia, int poderLuz, int numMagas){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">super(vidas,fuerza,inteligencia,astucia,vigorInicial,p);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.magia=magia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.poderLuz=poderLuz;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.numMagas=numMagas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameMagia (){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.magia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponMagia (int magia){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.magia= magia;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int damePoderLuz(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.poderLuz;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void<span>  </span>ponPoderLuz(int poderLuz){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.poderLuz=poderLuz;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">public int dameNumMagas(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">return this.numMagas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">} </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void ponNumMagas(int numMagas){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.numMagas=numMagas;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void doblarMagia(int magia){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.magia=magia*2;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="FR"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void doblarPoderLuz(int poderLuz){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">this.poderLuz = poderLuz*2;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void imprimir(){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Vidas:” + vidas);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Fuerza:” + fuerza);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Inteligencia:” + inteligencia);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Astucia:” + astucia);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Vigor Inicial:” + vigorInicial);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Magia:” + magia);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Poder de la Luz:” + poderLuz);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">System.out.println(“Numero de Magas:” + numMagas);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}FIN CLASE MAGA</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">INTERFAZ HECHICERO</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public interface Hechicero{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void doblarMagia(int magia);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void doblarPoderLuz(int poderLuz);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><strong><span lang="ES-TRAD">}FIN INTERFAZ HECHICERO</span></strong><span lang="ES-TRAD"></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">CLASE PRUEBA</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public class Prueba{</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">public static void main (String<strong> </strong>[] args){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">int vigorInicial = 5;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Personaje.vigorInicial=vigorInicial;</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Prueba p=new Prueba();</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Maga mago = new Maga(5,2,4,4,vigorInicial,p,7,6,1);</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}<strong></strong></span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">public void personajeCambiado(Personaje){</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">Personaje.imprimir();</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">}FIN CLASE PRUEBA</span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><em><span style="text-decoration:underline;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">CONCEPTOS EJERCICIO 1</span></span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><em><span style="text-decoration:underline;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"></span></span></span></span></em></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">En este primer ejercicio los conceptos que se han tratado han sido: </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de herencia forzada(abstract)</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-El concepto de interfaz.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">-Elementos de clase(static)</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;">.Uso de atributos e<span>  </span>invocación de métodos</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="ES-TRAD"><span style="font-size:small;"><span style="font-family:Times New Roman;"> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span lang="ES-TRAD"><span><span style="font-size:small;font-family:Times New Roman;"> </span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=23&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/07/25/ejercicio-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>Entrega juego</title>
		<link>http://beceoca.wordpress.com/2008/06/03/entrega-juego/</link>
		<comments>http://beceoca.wordpress.com/2008/06/03/entrega-juego/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 10:18:00 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[Posts normales]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=22</guid>
		<description><![CDATA[ 
El pasado jueves entregamos el juego terminado. Vamos a contar un poco como lo hemos hecho y los problemas que nos hemos ido encontrando a lo largo de su programación.
 
Lo primero es que nuestro juego es el Brain Training. Partiendo de esta idea hemos creado un test con 15 preguntas en las que recorremos todos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=22&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">El pasado jueves entregamos el juego terminado. Vamos a contar un poco como lo hemos hecho y los problemas que nos hemos ido encontrando a lo largo de su programación.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Lo primero es que nuestro juego es el Brain Training. Partiendo de esta idea hemos creado un test con 15 preguntas en las que recorremos todos los aspectos para entrenar el todas las partes del cerebro.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Con las respuestas correctas hacemos un cálculo aproximado de la edad mental.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Para responder a cada pregunta disponemos, dependiendo del nivel de dificultad elegido de 17 o 13 segundos según hayamos escogido entre fácil y difícil respectivamente.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Para empezar el juego no elegimos la implementación de la algoritmia como se aconseja, ya que en nuestro caso las acciones a realizar dependen directamente de los botones que se pulsen y por tanto comenzamos por la parte de Swing.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Los principales problemas que nos encontramos a lo largo del juego se pueden resumir en estos cuantos:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">- Cuántas clases crear. Esto nos llevó más de un quebradero de cabeza, tanto que hicimos que las clases heredaran de JFrame y así poder usar la clase entera como una ventana, y por lo tanto creamos una clase por ventana (en total 7). También podríamos haberlo echo de forma que en una sola ventana y mediante el método removeAll() quitáramos o pusiéramos componentes dependiendo de la parte del juego en que nos encontráramos, pero lo descartamos por falta de tiempo (al tener todo echo de la otra forma).</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">- Creación de una algoritmia capaz de decidir si la respuesta elegida es la correcta o no. Esto lo solucionamos creando un array de respuestas, ya que la pregunta y las posibles cuatro respuestas están contenidas en una sola imagen que no se puede modificar. Por lo tanto solo teníamos que comparar la respuesta pulsada (de la imagen i) con la posición i en el array de respuestas. Pensamos en realizar las respuestas de forma aleatoria, pero lo descartamos al decidir que las imágenes aparecerían en orden de dificultad creciente.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">- Otro problema fue la forma de manejar el<span>  </span>timer, ya que no teníamos mayor experiencia con él que la vista en la teoría y en las prácticas. Esto lo solucionamos a última hora, y vimos que nuestro error no era otro que el de no crear el manejador para el timer que estábamos poniendo en marcha. Finalmente y tras mucho darle vueltas conseguimos controlarlo de forma que realizara la cuenta parcial de tiempo, es decir, cada 1 segundo.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">- Otra de las cosas que nos quebraron la cabeza a la hora de programar el juego fueron los errores que el usuario podría cometer al introducir su nombre y su edad. En el nombre únicamente comprobamos que pongas al menos una letra o un número para que no se quede vacío, pero en la edad y para evitar problemas, decidimos controlar que lo único que se introdujese fueran números del 1 al 99. Par a informar de estos errores creamos varios JOptionPane con el error que hayas cometido.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">- El ultimo problema que el juego nos dio fue el de crear un reproductor JMF que en un momento dado de la aplicación nos pusiera en marcha un sonido. Con el reproductor de la teoría no teníamos más que usar una parte de su código para conseguir lo que nos hacía falta.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=22&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/06/03/entrega-juego/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
		<item>
		<title>Práctica 11</title>
		<link>http://beceoca.wordpress.com/2008/06/02/practica-11/</link>
		<comments>http://beceoca.wordpress.com/2008/06/02/practica-11/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 16:59:40 +0000</pubDate>
		<dc:creator>beceoca</dc:creator>
				<category><![CDATA[Posts normales]]></category>

		<guid isPermaLink="false">http://beceoca.wordpress.com/?p=21</guid>
		<description><![CDATA[ 
En esta práctica se desarrollan los conceptos de eventos en Swing.
 
Para comenzar nos hacen una introducción de lo que vamos a realizar en la sesión, y es crear un programa controlado por la interfaz gráfica.
Hasta ahora los programas que hemos desarrollado no eran demasiado interactivas con el usuario, los únicos mecanismos que teníamos para comunicarnos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=21&subd=beceoca&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">En esta práctica se desarrollan los conceptos de eventos en Swing.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Para comenzar nos hacen una introducción de lo que vamos a realizar en la sesión, y es crear un programa controlado por la interfaz gráfica.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Hasta ahora los programas que hemos desarrollado no eran demasiado interactivas con el usuario, los únicos mecanismos que teníamos para comunicarnos con la aplicación eran: los argumentos de entrada, entrada estándar y el manejador de ventanas. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Necesitamos alguna forma de comunicarnos con la aplicación distinta a las mencionadas anteriormente, y para ello nos servimos de los componentes de swing que tienen esta utilidad.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">En el primer apartado se pide realizar un programa de nombre </span><tt><span style="font-size:10pt;">Simple00GUI </span></tt><tt><span style="font-family:&quot;"><span style="font-size:small;">que presente una ventana con un botón, cada vez que se pulse el botón se imprimirá un mensaje por la salida estándar.</span></span></tt></p>
<p class="MsoNormal" style="margin:0;"><tt><span style="font-family:&quot;"><span style="font-size:small;">Únicamente debemos implementar el manejador del botón y añadir en su método <em>actionPerformed</em> la acción <em>System.out.println(“Botón pulsado!”);</em></span></span></tt></p>
<p class="MsoNormal" style="margin:0;"><tt><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></tt></p>
<p class="MsoNormal" style="margin:0;"><tt><span style="font-family:&quot;"><span style="font-size:small;">El siguiente apartado trata de implementar otra clase de nombre </span></span></tt><tt><span style="font-size:10pt;">Simple01GUI </span></tt><tt><span style="font-family:&quot;"><span style="font-size:small;">que además de presentar un botón presente también una etiqueta. Cada vez que el botón sea pulsado debe cambiar el color de fondo de la etiqueta. No debemos olvidar añadir el código <em>etiqueta.setOpaque(true);</em> tras crear la etiqueta para que esta tenga color de fondo.</span></span></tt></p>
<p class="MsoNormal" style="margin:0;"><tt><span style="font-family:&quot;"><span style="font-size:small;">Para ello añadimos en el <em>actionPerformed</em> del botón la acción que mire el color al que está en ese momento la etiqueta y cambiarle por otro. Para ello debemos elegir un par de colores y crear un if-else para mirar que color tiene la etiqueta y cambiarlo (en nuestro caso hemos elegido los colores blanco y negro).</span></span></tt></p>
<p class="MsoNormal" style="margin:0;"><tt><span style="font-family:&quot;"><span style="font-size:small;">El algoritmo que realiza esta acción es el siguiente:</span></span></tt></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">if(etiqueta.getBackground() == Color.white){</span></span></span></em></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">etiqueta.setBackground(Color.black);</span></span></span></em></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></span></em></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span lang="EN-GB"><span style="font-size:small;"><span style="font-family:Times New Roman;">else{</span></span></span></em></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span style="font-size:small;"><span style="font-family:Times New Roman;">etiqueta.setBackground(Color.white);</span></span></em></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></em></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span style="font-size:small;"><span style="font-family:Times New Roman;">}</span></span></em></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><em><span style="font-size:small;font-family:Times New Roman;"> </span></em></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:small;">El apartado tres consiste en crear otra clase que realice las mismas acciones anteriores, pero añadiendo otra más (cada vez que la tecla Enter sea pulsada se cambiará también el color de la etiqueta). En esta clase comenzaron nuestros problemas de hilos, ya que al atender al evento del botón se desatiende el evento de pulsado de la tecla Enter. Utilizando el método <tt><em><span style="font-family:&quot;">Thread.getName() </span></em></tt></span></span><tt><span style="font-family:&quot;"><span style="font-size:small;">antes de cambiar el color de la etiqueta vemos que hace caso únicamente al evento del botón.</span></span></tt></p>
<p class="MsoNormal" style="margin:0;"><tt><span style="font-family:&quot;"><span style="font-size:small;">En este apartado nos quedamos, ya que el resto del tiempo lo dedicamos a la realización de algunos asuntos relacionados con el juego.</span></span></tt></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/beceoca.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/beceoca.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/beceoca.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/beceoca.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/beceoca.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/beceoca.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/beceoca.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/beceoca.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/beceoca.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/beceoca.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/beceoca.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/beceoca.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=beceoca.wordpress.com&blog=2944460&post=21&subd=beceoca&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://beceoca.wordpress.com/2008/06/02/practica-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9fc955c3ede7b49066d0516e468af6ad?s=96&#38;d=identicon" medium="image">
			<media:title type="html">beceoca</media:title>
		</media:content>
	</item>
	</channel>
</rss>