8. IMPLEMENTACIÓN

Sin valoraciones

8. IMPLEMENTACIÓN

8.1 LISTADO DE CLASES.

A continuación se listan todas las clases generadas para la implementación del juego y una breve descripción de cada una de ellas. En el siguiente apartado se analizará con mayor detenimiento el código de las que he considerado más relevantes en la implementación.

CLASE: CAMARACONTROL.JS

DESCRIPCIÓN

Clase que se encarga de mantener la cámara fijada en la posición del personaje actualizando constantemente su posición.

videojuegos

ÁMBITO

Global. Se usa en todas las escenas del juego.

INTERACCIÓN CON OTRAS CLASES O COMPONENTES

Jugador

CLASE: CODIGOITEM.JS

DESCRIPCIÓN

Clase que contiene el identificador de un código para generar un TextoEditable con el contenido apropiado. También se encarga del movimiento del objeto al que está asociada la clase.

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

Ninguna

CLASE: CONTROLFASES.JS

DESCRIPCIÓN

Clase que gestiona las transiciones entre pantallas del menú principal. Permite mediante el uso de botones de la interfaz, moverse a la pantalla de Instrucciones, Créditos o empezar el juego en cualquier de sus niveles.

ÁMBITO

Menú principal

REFERENCIAS

Cámara – ya que la transición hacia la pantalla de créditos se basa en un movimiento de la cámara.

CLASE: CONTROLJUEGO.JS

DESCRIPCIÓN

Clase principal que se encarga de gestionar la mayoría de eventos como el pausado del juego, el menú de pausa, transiciones entre niveles y, sobre todo, la carga de códigos desde los XML y la instanciación de TextosEditables para incorporarlos al editor.

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

Jugador, Cámara, PuertaFinal, TextoEditable, Editor

CLASE: CONTROLPAUSA.JS

DESCRIPCIÓN

Clase que ejerce de interfaz entre la lógica de pausa del juego y los eventos activados al clicar en los botones de pausa. También se encarga de gestionar la parte gráfica del pausado.

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

ControlJuego

CLASE: INPUTEDITOR.JS

DESCRIPCIÓN

Clase que se encarga de gestionar toda la entrada y modificación de comandos hacia las partes de código editables, compuestas por instancias de TextoEditable. También incluye las funciones destinadas a habilitar y deshabilitar el componente de entrada de texto de la interfaz.

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

PasarelaEditor, ControlJuego, ControlPausa, MensajeError.

CLASE: PASARELAEDITOR.JS

DESCRIPCIÓN

Clase importante que ejerce de pasarela entre los comandos introducidos mediante el InputEditor y la clase final a la que pertenece el código que se quiere modificar. También sirve como enlace para mostrar los mensajes de error que se generan en la clase modificada y el InputEditor.

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

Multitud – Todos los objetos específicos de un nivel concreto: Puerta, PlataformaInicial, Bug, Bug02, Trampilla, Plataforma, Bug03, PlataformaGiratoria, PlataformaCarga, Deadlock, BugFinal.

CLASE: MENSAJEERROR.JS

DESCRIPCIÓN

Clase sencilla que muestra un texto de error en la interfaz durante un intervalo de tiempo determinado.

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

Ninguna

CLASE: TEXTOEDITABLE.JS

DESCRIPCIÓN

Clase que sirve para crear el tipo de texto que poder ser modificable mediante el editor del juego. También se encarga de resaltar visualmente el texto seleccionado.

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

InputEditor, ControlJuego, ControlPausa.

CLASE: JUGADORMOVIMIENTO.JS

DESCRIPCIÓN

Clase importante que se encarga de gestionar el movimiento del personaje y los eventos relacionados con las colisiones e interacciones con el entorno del nivel.

videojuegos

ÁMBITO

Global. Se usa en todos los niveles del juego.

REFERENCIAS

ControlJuego, BugFinal

CLASE: PORTAL.JS

DESCRIPCIÓN

Clase asociada al elemento ubicado al final de los niveles que te permite acceder al siguiente nivel. Representa la salida de cada uno de los niveles excluyendo el final.

ÁMBITO

Global. Se usa en todos los niveles del juego menos en el final (nivel 4).

REFERENCIAS

ControIJuego

CLASE: PUERTA.JS

DESCRIPCIÓN

Clase que gestiona las puertas que se pueden encontrar en los diferentes niveles. En primera instancia se creó como objeto específico del primer código modificable al que se enfrenta el jugador, pero se reaprovechó en otros niveles. Para ello se creó una función directa que abriese la puerta sin tener que recurrir a las acciones del jugador.

ÁMBITO

Global. Se usa en la mayoría de niveles.

REFERENCIAS

Ninguna

CLASE: PUERTAFINAL.JS

DESCRIPCIÓN

Clase asociada a las puertas situadas al final de cada nivel. Lleva el recuento de bugs con vida dentro del nivel para poder gestionar su apertura en caso de que ya no queden más.

ÁMBITO

Global. Se usa en todos los niveles del juego menos en el final (nivel 4).

REFERENCIAS

Ninguna

CLASE: PLATAFORMAI NICIAL.JS

DESCRIPCIÓN

Clase simple con la que interactuar en el primer nivel. Se puede modificar su escala y devolverla a la forma inicial mediante una función directa.

ÁMBITO

Nivel 1

REFERENCIAS

Ninguna

CLASE: BUG.JS

DESCRIPCIÓN

Clase del primer bug del juego. Muy simple, solo se encarga de habilitar o deshabilitar el objeto según el comando recibido.

ÁMBITO

Nivel 1

REFERENCIAS

ControlJuego

CLASE: PLATAFORMA.JS

DESCRIPCIÓN

Clase de la plataforma del segundo nivel que permite modificar su rotación y, según la configuración de sus variables, moverse entre las posibilitando el acceso entre las dos habitaciones donde se encuentra.

ÁMBITO

Nivel 2

REFERENCIAS

Ninguna

CLASE: BUG02.JS

DESCRIPCIÓN

Clase que sirve para gestionar el código de los dos bugs existentes en el nivel 2. Por una parte gestiona la modificación de código de uno de ellos y también se encarga de comprobar la condición de muerte por caída del otro bug del nivel.

ÁMBITO

Nivel 2

REFERENCIAS

ControIJuego

CLASE: TRAMPILLA.JS

DESCRIPCIÓN

Clase asociada a la trampilla central de una estancia del nivel 2. Contiene código parecido al usado en el ControlJuego ya que también debe hacer una carga de archivos XML para comprobar si debe abrirse.

videojuegos

ÁMBITO

Nivel 2

REFERENCIAS

Bug

CLASE: BOT.JS

DESCRIPCIÓN

Clase que implementa los pequeños robots que siguen al personaje en el nivel 3. De forma similar a la clase CamaraControl, básicamente se encarga de actualizar el destino de los robots con la posición actual del personaje.

ÁMBITO

Nivel 3

REFERENCIAS

Jugador

CLASE: BUG03.JS

DESCRIPCIÓN

Clase del bug del nivel 3. Se encarga de su eliminación si se cumples las condiciones necesarias especificadas por las funciones que contiene.

ÁMBITO

Nivel 3

REFERENCIAS

ControIJuego

CLASE: PLATAFORMAGIRATORIA.JS

DESCRIPCIÓN

Clase de la plataforma del nivel 3. Su función basa en rotar según el eje que se haya especificado para poder acceder a salas inaccesibles de otra forma. También incluye un método para devolverla a la posición original.

ÁMBITO

Nivel 3

REFERENCIAS

Ninguna

CLASE: PLATAFORMACARGA.JS

DESCRIPCIÓN

Clase de la plataforma que sirve como báscula y gestiona la apertura de una puerta cercana según el número de personajes que estén en contacto con ella. Además incluye la gestión del texto que aparece en la mini pantalla que posee, actualizando cada vez que un objeto entra o sale de su superficie.

ÁMBITO

Nivel 3

REFERENCIAS

Bot, Puerta.

CLASE: DEADLOCK.JS

DESCRIPCIÓN

Clase del último nivel que plantea inicialmente un código con ejecución de dos hilos concurrentes los cuales reservan cada uno de ellos un recurso que necesita el otro, creando una situación de bloqueo mutuo.

videojuegos

ÁMBITO

Nivel 4

REFERENCIAS

Puerta, Puerta2.

CLASE: PUERTA02.JS

DESCRIPCIÓN

Clase vacía que requerida únicamente como segundo recurso a reservar en la situación planteada de exclusión mutua.

ÁMBITO

Nivel 4

REFERENCIAS

Ninguna

CLASE: BUGFINAL.JS

DESCRIPCIÓN

Clase del enemigo final del juego, el cual implementa un sistema de hilos de ejecución asignados por el jugador para poder eliminarlo.

ÁMBITO

Nivel 4

REFERENCIAS

Ninguna

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER