Académique Documents
Professionnel Documents
Culture Documents
FACULTAD DE INGENIERIA
ESCUELA DE CIENCIAS Y SISTEMAS
LENGUAJES FORMALES Y DE PROGRAMACION
Primer Semestre 2014
Catedrtico:
Ing. William Escobar
Tutor acadmico
Fredy Rene Velasquez Quevedo
Enunciado de Proyecto
Objetivos:
Esta prctica tiene como objetivo reforzar los conocimientos obtenidos hasta el
momento en el curso.
Que el estudiante practique el anlisis lxico y sintctico.
Que el estudiante realice un analizador lxico a partir de un AFD.
Jugador: En esta seccin es posible definir la forma fsica del jugador y los
atributos de est, como por ejemplo: vidas, poderes, etc.
Acciones: En esta seccin se podrn definir mtodos que contendrn una serie
de condicin a evaluar cuando el personaje alcance a obtener los bonos del
campo.
Enemigos: En esta seccin se podr definir los atributos que definirn la forma
fsica de los enemigos, sus posiciones iniciales y una serie de movimientos que
estos realizaran a travs del campo.
XML variables:
<variables>
<var> <%var>
<var> <%var>
<%variables>
operadores:
Suma +
Resta
Multiplicacin *
Divisin /
Parntesis ( )
Corchetes [ ]
Llaves { }
<jugador >
<vidas> <%vidas>
<poder> <%poder>
<remoto> <%remoto>
<fantasma> <%fantasma>
<%jugador>
Traje: Esta etiqueta debe contener una direccin de una imagen, la cual
ser la forma fsica del jugador, esta puede ser definida directamente
como texto o por variables.
durante la pantalla. Su valor debe ser de tipo entero o de una variable que
sea entera. Ejemplo:
<vidas>valor<%vidas>
<poder >valor<%poder>
XML Campo:
Campo: Esta etiqueta y sus atributos definirn la forma del campo, dentro de
esta existen ciertas etiquetas que definirn las posiciones de los obstculos,
tesoros, salida, etc. Ejemplo:
o
<campo>
<rocas>
<roca>
<x> <%x>
<y> <%y>
<%roca>
<%rocas>
<tesoros>
<llave>
<x><%x>
<y><%y>
<%llave>
<bono>
<x><%x>
<y><%y>
<%bono>
<salida>
<x><%x>
<y><%y>
<%salida>
<%tesoros> <%campo>
XML Acciones:
Acciones: Esta etiqueta y sus atributos, definirn las posible acciones que se
realizaran de manera automtica al ser llamados cuando se tome un tesoro.
Ejemplo:
o <acciones><accion><%accion><%acciones>
siguientes sub-etiquetas:
o
Id: Este atributo debe recibir un valor de texto, por valor o por
variable, el cual definir el nombre con el cual se puede llamar
esta accin. Ejemplo:
<accin id=Toma_llave><%accion>
Verificacin de condiciones:
Si (X < 10){
Valor = falso;
Punteo += 10;
}
Si no{
Valor = verdadero;
Punteo += 10;
}
<
>
==
<=
>=
XML Enemigos:
Y
O
()
*
/
+=
-=
()
Enemigos: Esta etiqueta y sus atributos definirn a los enemigos dentro del
campo, dentro de esta existen ciertas etiquetas que definirn las posiciones de
los enemigos, movimientos, etc. Ejemplo:
o <enemigos><enemigo><movimientos><movimiento><
%movimiento><%movimientos><%enemigo><%enemigos>
o <Enemigo color=morado
textura=/img/enemigo1.png X=5 Y=6> <
%Enemigo>
o
<Movimientos> <Movimiento>izquierda<
%Movimiento> <Movimiento>derecha<%Movimiento>
<%Movimientos>
Izquierda
Derecha
Arriba
Abajo
<Movimientos> <Movimiento>izquierda<
%Movimiento> <Movimiento>derecha<%Movimiento>
<%movimiento>
<%Movimientos>
Importante:
Bombermap_#.xml
Una vez iniciado el juego, el jugador debe matar a todos los enemigos
y encontrar la llave para poder utilizar la salida.
Debe existir una variable global para cada mapa que se llamara PTS,
la cual puede ser usada en cualquier parte del cdigo y en cualquier
operacin, la cual definir los puntos que lleva hasta el momento el
jugador. Debe ser visible para el usuario.
Interfaz grfica:
Componentes mnimos de la interfaz:
1. Editor de texto: Debe ser un campo de texto en el cual se puedan escribir
nuevas archivos.
2. Abrir: Debe permitir abrir archivos con extensin .XML, el cual contendr
cdigo de la forma descrita anteriormente.
3. Analizar: Debe realizar el anlisis lxico y sintctico, si no encuentra ningn
error se le debe notificar al usuario, de lo contrario debe generar una pgina
html con los errores y las tablas descritas anexos, la pgina debe tener un estilo
visiblemente atractivo y el nombre de la pgina debe ser ERRORES_#.HTML,
donde # es el mismo que el archivo del campo.
4. Jugar: Inicia el juego.
5. Acerca de: Debe mostrar en una ventana desplegable los datos del estudiante y
del curso.
6. Salir: Debe terminar la ejecucin de la aplicacin.
Entregables:
Fase I:
Analizador Lexico y su respectivo resumen de analisis: Tokens y errores.
Automatas y Expresiones Regulares
Archivos de Prueba
Codigo Fuente con Validacion por medio de estados.
Fase II:
Analizador Sintactico y Reporte de Errores.
Juego Finalizado
Manual de Usuario y Tecnico
Notas importantes:
El proyecto se debe de desarrollar de forma individual.
El proyecto se deber de desarrollar utilizando C#
No se deber de utilizar ninguna librera para la lectura de XML.
Copia parcial o total del proyecto tendrn una nota de 0 puntos y se
notificara a la escuela para que se apliquen las sanciones
correspondientes.
La calificacin del proyecto ser personal y durara como mximo 60 minutos,
en un horario que posteriormente ser establecido, se debe de tomar en cuenta
que durante la calificacin no podrn estar terceras personas alrededor de lo
contrario no se calificara el proyecto.
No se dar prrroga.
Fecha de entrega:
Fase I: 5 de abil de 2014
Fase II: 30 de Abril de 2014
ANEXOS:
Estructura mnima de la tabla de errores lxicos (Tabla 1):
En el caso que existieran errores lxicos de deber generar una pgina web la cual
contendr los datos del estudiante y una tabla de errores, la estructura de la tabla de errores
deber ser:
No.
Carcter
Descripcin
Reservada
Ubicacin
Error
NO
Lnea 2 columna 1
Error
NO
Lnea 2 columna 15
Hola
Error
NO
Lnea 6 columna 26
Ubicacin
Token esperado
Hola
NO
Lnea 2 columna 1
ID
10
<
SI
Lnea 2 columna 15
Nmero
11
SI
Lnea 6 columna 26
Nmero
Referencia:
http://nintendo8.com/game/1/bomberman/
Propuesta de juego:
Campo:
Bomba remota:
Bono:
Salida: