12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

siendo <strong>de</strong>l todo incorrectos, eran complejos eintroducían problemas <strong>de</strong> implementación, nosiempre fáciles <strong>de</strong> explicar por parte <strong>de</strong>l docente.De hecho, <strong>la</strong> comunicación docente alumno seentorpecía <strong>de</strong>bido al volumen <strong>de</strong> distintassoluciones, con <strong>la</strong> complejidad asociada a cadauna y no siempre bien entendida por el propioalumno.Ante esta situación en <strong>la</strong> que el alumno llega a<strong>la</strong> solución, pero no <strong>de</strong> <strong>la</strong> forma más a<strong>de</strong>cuada, sep<strong>la</strong>ntea <strong>la</strong> necesidad <strong>de</strong> imponer algún tipo <strong>de</strong>estrategia que lleve a los alumnos hacia un diseñoa<strong>de</strong>cuado <strong>de</strong> <strong>la</strong> solución.Dicho diseño no <strong>de</strong>be ser impuesto, sinorazonado, a través <strong>de</strong> <strong>la</strong> i<strong>de</strong>a <strong>de</strong> patrones,<strong>de</strong>scribiendo su necesidad y ventajas aportadas, através <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> aprendizaje.3.4. Aplicación <strong>de</strong>l p<strong>la</strong>nEn este apartado se va a <strong>de</strong>scribir <strong>la</strong> aplicación <strong>de</strong>lp<strong>la</strong>n <strong>de</strong> aprendizaje propuesto en <strong>la</strong> asignatura <strong>de</strong>Programación Avanzada durante el primercuatrimestre <strong>de</strong>l curso 2001-2002.Actividad 1: Elección <strong>de</strong>l patrón. Patrónmediador.Actividad 2: Definir un contexto sencillodon<strong>de</strong> po<strong>de</strong>r aplicar el patrón. El patrón mediadorpue<strong>de</strong> aparecer en el diseño <strong>de</strong> sistemas(siguiendo <strong>la</strong> i<strong>de</strong>a <strong>de</strong> construcción <strong>de</strong> sistemas en<strong>la</strong> orientación a objetos ya introducida en <strong>la</strong>asignatura <strong>de</strong> Metodología <strong>de</strong> <strong>la</strong> Programación[2]) cuando existen <strong>de</strong>pen<strong>de</strong>ncias entre losdiferentes módulos <strong>de</strong>l sistema, necesitando tenerreferencias entre<strong>la</strong>zadas entre los objetos. Portanto en <strong>la</strong> actividad 3 hay que establecer undiseño don<strong>de</strong> el acop<strong>la</strong>miento y cohesión <strong>de</strong> losdiferentes módulos sea el correcto, manteniendotodo el conjunto <strong>de</strong> propieda<strong>de</strong>s inherentes a <strong>la</strong>programación orientada a objetos. En nuestrasituación particu<strong>la</strong>r se buscará <strong>de</strong>pen<strong>de</strong>ncias entrediferentes componentes gráficos.Actividad 3: Proponer un enunciado <strong>de</strong> <strong>la</strong>práctica que contenga el patrón elegido. Paraaumentar el grado <strong>de</strong> motivación <strong>de</strong> los alumnosse elige <strong>la</strong> realización <strong>de</strong> un juego don<strong>de</strong> estécontenido el patrón mediador en alguna <strong>de</strong> <strong>la</strong>spantal<strong>la</strong>s <strong>de</strong> interacción con el usuario.Enunciado propuesto: Caza <strong>de</strong>l BarcoLa práctica consiste en realizar un applet javaque permita jugar a <strong>la</strong> caza <strong>de</strong>l barco. El juegoestá pensado para que un jugador sobre un tablerointente hundir un barco que ocupa físicamente unacasil<strong>la</strong> <strong>de</strong>l mismo. La dificultad <strong>de</strong>l juego estribaen que el jugador, no sabe don<strong>de</strong> esta el barco, ylo único que se le muestra es un radio <strong>de</strong> posiblescasil<strong>la</strong>s alre<strong>de</strong>dor <strong>de</strong> su tirada en <strong>la</strong> que el barcopue<strong>de</strong> estar localizado. Para aumentar <strong>la</strong> dificulta<strong>de</strong>l barco se mueve aleatoriamente siguiendo losmovimientos <strong>de</strong>l rey en el juego <strong>de</strong>l ajedrez (en unradio <strong>de</strong> 1 casil<strong>la</strong> pue<strong>de</strong> posicionarse en cualquiera<strong>de</strong> el<strong>la</strong>s). La interfaz <strong>de</strong>be aportar al usuario unaforma sencil<strong>la</strong> e intuitiva <strong>de</strong> jugar <strong>de</strong> tal forma quepueda visualizar:• el tablero con el radio <strong>de</strong> posibles casil<strong>la</strong>s.• el radio <strong>de</strong> acción bajo el cual pue<strong>de</strong> estarsituado el barco• el numero <strong>de</strong> tiradas• opción <strong>de</strong> visualizar el barco (facilidad en eljuego)El juego <strong>de</strong>be ser configurable <strong>de</strong> tal formaque se puedan leer el número <strong>de</strong> casil<strong>la</strong>s <strong>de</strong>ltablero tanto horizontales como verticales y elnumero <strong>de</strong> tiradas. El applet <strong>de</strong>be ser visible <strong>de</strong>s<strong>de</strong>cualquier navegador con soporte <strong>de</strong> Java.Se <strong>de</strong>ja libertad al alumno para emplear todas<strong>la</strong>s posibilida<strong>de</strong>s gráficas <strong>de</strong> AWT para el diseño<strong>de</strong> <strong>la</strong> interfaz. La Figura 1 muestra <strong>la</strong> pantal<strong>la</strong> <strong>de</strong>interacción con el usuario <strong>de</strong>l juego Caza Barco,configurado con 10 casil<strong>la</strong>s por 10 casil<strong>la</strong>s y 10tiradasAc<strong>la</strong>raciones:Para el cálculo <strong>de</strong>l radio nos basamos encolorear todas aquel<strong>la</strong>s casil<strong>la</strong>s que están a igual omenor distancia que el barco respecto a <strong>la</strong> tirada.(distancia Manhattan) Consi<strong>de</strong>rando distanciacomo:• Si <strong>la</strong> posición <strong>de</strong>l barco es (x,y)• Si <strong>la</strong> posición <strong>de</strong> <strong>la</strong> tirada es (x1,y1)• Distancia = abs (x-x1) + abs (y -y1)Se colorean todas aquel<strong>la</strong>s casil<strong>la</strong> (i,j) don<strong>de</strong>:abs(i-x1) + abs(j-y1)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!