TRABAJO PRACTICO 6 DESARROLLE EL CODIGO DEL EJEMPLO

Anuncio
Programación Informática
ASIGNATURA: PROGRAMACION I
PREPARADA Y COMPILADA POR DECADE ISGMMG
UNIDAD 6 TP 6
Recopiló y Organizó DECADE ISGMMG
Gral. M.M. De Güemes
TRABAJO PRACTICO 6
DESARROLLE EL CODIGO DEL EJEMPLO
EJEMPLO: JUEGO DE FRONTON
Esta página completa la "trilogía" de ejemplos (ejemplos 12, 13 y 14) en los que intervienen
movimientos de vocales. En este caso, al movimiento de las vocales tipo billar visto en el
ejercicio anterior, le vamos a añadir la posibilidad de que existan rebotes sobre una
"raqueta". La "raqueta" esta definida como un botón que se mueve horizontalmente
utilizando las teclas adyacentes m y n. EI objetivo es hacer que las vocales "reboten" contra
la "raqueta", evitando que lleguen a la parte inferior de Ia ventana del explorador.
La función lnicializar() se ejecuta cuando se carga (o actualiza) la pagina.
Para controlar el movimiento de Ia raqueta se utiliza el evento onkeypress asociado al
<BODY>.
<BODY id=”Cuerpo” onload=”Inicializar()” onkeypress=”MoverRaquet()”>
La función inicializar() define las trayectorias de las vocales (tal y como se explico en el
ejemplo anterior), mantiene las vocales ocultas hasta que comience el juego, indica que
cada vocal existe para el jugador (todavía no se ha escapado por la parte inferior de la
ventana), define el numero de "Vidas" como el de elementos que rebotan (en nuestro caso
las 5 vocales), y por ultimo, sitúa la "raqueta" para que comience el juego.
También resulta importante echar un vistazo a la definición de variables que utiliza la página
Web:
1
EI usuario puede seleccionar el nivel de dificultad del juego utilizando una caja de texto. La
cancelación del burbujeo de sucesos evita que la pulsación de una tecla se interprete (por
parte del <BODY» como un movimiento de "raqueta".
EI valor (value) del campo de texto Dificultad nos permitirá variar la frecuencia de activación
de la función MoverLetra(), que mueve las vocales.
Cuando el usuario decide comenzar el juego, pulsa un botón preparado a tal efecto y
provoca la ejecución de la función Comienzo().
La función Comienzo() hace visibles las vocales e invisibles los elementos de configuraci6n
e inicializaci6n del juego. También invoca a la función MoverLetra() para que las vocales
inicien sus movimientos.
La funciónn MoverRaqueta() se ejecuta cuando se pulsa una tecla en cualquier parte de la
pagina (salvo en la caja de texto Dificultad). En primer lugar utilizamos
Tecla=window.event.keyCode para conocer la tecla pulsada. Después se analiza Tecla. En
caso de que su c6digo (ASCII) se corresponda con m, entonces definimos un Incremento
(desplazamiento de "raqueta") positivo. En el caso de que su c6digo se corresponda con n,
entonces se define un desplazamiento negativo.
Después se pregunta por la posición horizontal de la raqueta (la posición vertical nunca
varia) y se analiza si se puede salir de la ventana del explorador por la izquierda 0 la
derecha. Si no se sale, se permite el movimiento actualizando su posición horizontal
(Raqueta. style.posLeft + = Incremento).
2
Por ultimo, en la funciónn MoverLetra(), la parte original de este ejemplo es la instrucción if,
que comprueba si cada vocal analizada debe rebotar 0 darse por "perdida". La condición de
la instrucción if comprueba:
•
Que la vocal sigue "viva", es decir, que no ha traspasado nunca la posición vertical de
la raqueta (QuedanVidas[i]==1).
•
Que la vocal ha llegado ala posici6n vertical de la raqueta.
•
Que la vocal se encuentra a la izquierda 0 a la derecha de la raqueta (es decir, que el
usuario no ha podido llegar a la vocal).
Cuando se cumplen las condiciones anteriores se decremento el numero de vidas
(NumVidas), se indica que esa vocal ya no esta "en uso" (QuedanVidas[i]=0), se hace
desaparecer ("hidden") la vocal y se actualiza el marcador de "Vidas" que el usuario puede
ver.
3
Documentos relacionados
Descargar