Descargar

Juego de ahorcados con Flash

Enviado por fj_arce


  1. El escenario
  2. Símbolos y objetos gráficos
  3. ActionScripts

Este es un juego clásico que se juega al menos con dos personas: una piensa en una palabra y hace una raya por cada letra de la palabra. La otra persona trata de adivinar las letras de la palabra, y la palabra contiene esa letra, el otro jugador la coloca en el lugar correcto. Si no la contiene, se dibuja una parte del ahorcado hasta que la palabra es adivinada o el dibujo del ahorcado es acompletado.

En sí, el programa no es muy complicado. Para hacerlo más interesante, las palabras a adivinar se encontrarán un archivo de variables. Para iniciar explicaremos el escenario de la película, después los símbolos y objetos gráficos para pasar a los actionScripts.

El escenario

En este juego tendremos cinco fotogramas clave:

  • El primero lo utilizaremos para hacer la precarga de la película.

  • El segundo es la pantalla para dar las instrucciones (o colocar el comercial de su producto/página).

  • El tercero sirve para el juego en sí.

  • Los dos últimos para el resultado: el de perder y el de ganar, respectivamente.

El primero lo utilizaremos para cargar las variables de un archivo externo. En el archivo de ejemplo, se tienen pocas palabras para ser adivinadas, por lo que la carga es rápida, pero si añade muchas, deberá de controlar los tiempos de carga con un "Espere, cargando archivo…"

Tendremos tres capas: La primera para el código, la segunda para las etiquetas de los fotogramas clave y la tercera para los símbolos y objetos gráficos (por ser pocos los tendremos todos juntos).

edu.red

Figura 1

  • 2. Las medidas del escenario deberán ser 550×400 pixeles. Cambie el color del fondo a azul (el que guste).

  • 3. Guarde su archivo como ahoracados00.fla.

Ahora procederemos a crear los símbolos del juego.

Símbolos y objetos gráficos

Los principales símbolos son los movieClips de las letras y del ahorcado. Para las letras:

  • 1. Seleccione la opción Insert > New Symbol.

  • 2. Nómbrela mcLetras y déle un comportamiento de clip de película.

  • 3. Seleccione la opción "Avanzada en la misma ventana. Seleccione la opción de "Exportar a ActionScript". Asigne como identificador de vinculación la palabra "letra".

  • 4. En la línea de tiempo del clip, añada una segunda capa. A la primera nómbrela AS y a la segunda Letras.

  • 5. En el primer fotograma, en la capa AS escriba la sentencia "stop()" en el Panel de acciones.

  • 6. Seleccione el primer fotograma de la capa Letras. Haga un cuadrado de 50×50 pixeles con esquinas redondeadas (5 puntos), sin contornos y con el fondo de color que usted desee. Céntrelo en el escenario.

  • 7. Con la herramienta de texto escribimos la letra A (céntrelo en el escenario) texto estático, 48 puntos, negra.

  • 8. Añada las demás letras mayúsculas del abecedario. La "Ñ" deberá ir después de la "Z". El último cuadro deberá estar vació y representará el espacio en blanco. Deberá tener una línea de tiempo semejante al siguiente:

edu.red

Figura 2

El segundo clip es el dibujo del ahorcado. Aquí es donde puede explotar su creatividad.

  • 1. Seleccione la opción Insert > New Symbol.

  • 2. Nómbrela mcAhorcado y déle un comportamiento de clip de película.

  • 3. En la línea de tiempo del clip, añada dos capas. A la primera nómbrela AS, a la segunda Sonidos y a la tercera Monito.

  • 4. En el primer fotograma dibuje el cadalso vacío como se muestra en la siguiente figura:

edu.red

  • 5. Añada un fotograma clave en el segundo fotograma de las capas Sonido y Monito (no es necesario en la capa AS).

  • 6. Seleccione un sonido en el segundo fotograma clave, en la capa Sonido e importe un sonido corto para indicarle al usuario que se equivocó en su selección.

  • 7. Tome como base el cadalso del fotograma anterior y dibuje la cabeza del ahorcado como se muestra en la siguiente figura:

edu.red

  • 8. Repita los pasos 6 y 7 para crear las siguientes piezas del ahorcado. Depende del número de fotogramas que le tome dibujar al monito, el número de oportunidades que le dará al jugador de adivinar la palabra oculta.

ActionScripts

Aquí empieza la diversión. Las rutinas que desarrollaremos son las siguientes:

Rutina

Carga variable

Inicia Variables

DibujaPalabra

PalabraCorrecta

BorraPalabra

Lanza dibuja letra

Lee tecla

Lanza palabra correcta

Regresa juego

Inicia las variables:

Seleccione el fotograma 10 (Inicio) de la capa AS. Aquí es donde definimos el vector donde almacenaremos las palabras y el número de palabras en ese vector. También se definen constantes para coordenadas y otras cifras de control.

edu.red

La primera línea del código nos sirve para indicarle a Flash que utilice la tabla de código del lenguaje del sistema operativo de la computadora cliente. Esto permite leer acentos o la letra "ñ".

Carga variables de archivo:

En el archivo solo tendremos una variable, CADENA. Con esto nos evitaremos el tener que hacer una variable por cada palabra. El "truco" es tener un separador para poder recuperar cada palabra. En nuestro caso seleccionamos un asterisco.

edu.red

Figura 4.

En la siguiente rutina, dividimos las palabras con el comando "split" Se obtiene el numero de palabras.

edu.red

Función dibujaPalabra

En esta función también la capturaremos en el fotograma de Inicio, capa AS. Se selecciona la palabra al azar, se almacena su longitud y se despliegan un cartón en blanco que le indica al jugador cuantas letras tiene la palabra. Es importante que vea la sentencia "attachMovie" que crea la letra.

edu.red

Función palabraCorrecta

Esta función sirve para desplegar la palabra que el jugador no pudo descubrir. Nuevamente se busca el ASCII de cada letra y se le resta "64". Con la función "gotoAndStop" se muestra la letra correcta. Escriba esta función en el mismo fotograma (10) de la capa AS, enseguida de la función anterior:

edu.red

Función borraPalabra:

Aquí se inician las variables y se eliminan los clip de la palabra anterior para continuar nuevamente. Observe la función "removeMovieClip" que es la base de esta rutina. Por último limpiamos el vector que nos servirá para asegurar si la tecla ya fue tecleada o no.

edu.red

Función buscaLetraPulsada

Con esta función evitaremos que el usuario pulse dos veces sobre una letra y se contabilice más de una vez.

edu.red

Observe que la sentencia "trace" se encuentra bloqueada. Si quisiera seguir el programa, le recomendamos quite los comentarios.

Función leeTecla:

A partir de esta rutina serán capturadas en el fotograma 20 (Juego) en la capa AS. Cada vez que el jugador pulsa una tecla, esta rutina la intercepta y verifica el código contra el código ASCII de cada una de las letras de la palabra "secreta".

De coincidir ambos valores, nuevamente restamos "64" al ASCII para tener un número entre 1 y 26, y así desplegamos la letra correcta en el MC de letra. Incrementamos el contador de letras encontradas y efectuamos una verificación de si el jugador ganó o perdió. Es importante observar que en el caso de una falla, se despliega el siguiente fotograma en el clip del ahorcado.

Si el número de fallas es igual a cuatro, termina el juego, si todas las letras ya fueron encontradas, el programa lo mandará al fotograma "GANO" y el juego volverá a empezar con otra palabra secreta.

edu.red

Lanza palabra correcta:

En este cuadro, el de PERDIO, se llama a la función que despliega la palabra que no pudo ser encontrada. Esta rutina ya fue vista.

stop ();

palabraCorrecta();

Regresa al juego:

La misma rutina se repite en los botones de control de los frames "GANO" y "PERDIO". Se limpian las variables y se llama a la función que borra a los MC de las letras, de lo contrario se haría un mazacote de objetos en la pantalla. Posteriormente nos regresa al frame de "JUEGO" y puede seguir jugando al ahorcado.

on (release) {

borraPalabra();

root.gotoAndPlay("JUEGO");

}

Al infinito y más allá:

Este juego puede ser tener animaciones muy llamativas, pues se presta mucho a las interacciones con el jugador. Las palabras pueden ser agrupadas en forma temática. En este ejemplo se utilizaron con relación a los bebés. También podría ampliarse a no sólo palabras,, sino frases completas. Sólo hay que modificar un poco el código para que se cuenten los espacios en blanco.

 

 

 

Autor:

Fj Arce