Diferencia entre revisiones de «Captura la bandera»

De OpenDataLab
Saltar a: navegación, buscar
(Implementadas)
(Implementadas)
Línea 15: Línea 15:
  
 
- Realizar procesador de lenguajes (Parser) para comunicar mapa.  
 
- Realizar procesador de lenguajes (Parser) para comunicar mapa.  
La gramatica finalmente realizada será:  
+
        La gramatica finalmente realizada será:  
Cada línea: token “,” equipo “,” posX “,” posY “\n”  
+
        Cada línea: token “,” equipo “,” posX “,” posY “\n”  
token: “entrada” | “jugador” | “muerte” | “base” | “bandera”
+
        token: “entrada” | “jugador” | “muerte” | “base” | “bandera”
equipo: numero
+
        equipo: numero
posX: numero
+
        posX: numero
posY: numero
+
        posY: numero
  
 
- Corregir texturas 2D y 3D.
 
- Corregir texturas 2D y 3D.

Revisión de 12:59 21 nov 2018

Página de las características de la plataforma CTF-UHU


Implementadas

- Cambiar de JFrame a processing 2, luego a processing 3. Esto implica que PApplet no hereda de Applet, debido a eso, no se puede incrustar en JFrame.

- El PApplet no tiene constructor con parámetros, para ello: InitMapa().

- La solución es crear 2 ventanas: GUI_Interactuar (Para ver los jugadores, cambiar camaras, y elegir entre 2D y 3D). GUI_Mapa (Ventana del sketch donde se representará la partida).

- Dibujar el mapa en 2D con processing.

- Dibujar el mapa en 3D con processing.

- Realizar procesador de lenguajes (Parser) para comunicar mapa.

       La gramatica finalmente realizada será: 
       Cada línea: token “,” equipo “,” posX “,” posY “\n” 
       token: “entrada” | “jugador” | “muerte” | “base” | “bandera”
       equipo: numero
       posX: numero
       posY: numero

- Corregir texturas 2D y 3D.

- 2 SimpleAchieveREResponser (FIPARequest): Solucionado con plantilla de mensajes, una para jugadores y otra para monitores.

- Arreglar bucle para leer acciones de HashtTable, en el comportamiento Tick.

- Pasar nombre de jugadores a GUI_Interactuar.

- Primera versión 3D: Graficos en 3D simples Pelotas, cubos y triangulos.

- Ir adaptando jugadores a los cambios en el servidor, y a varios equipos.

- Monitor para cada pc con jugadores. Independiente del servidor.

- Archivo Config externo. (API Properties)

- Desconectar monitor

- Animaciones entrada y muerte de jugadores.

- Enviar mensaje GameOver a monitores

- Probar monitores externos desde otro PC.

- Montar archivos .bat y .jar

- Corregir varios jugadores con bandera. se debe a que hay varios jugadores en la misma casilla, problema procedente por la falta de un break; en un switch.

- Realizar copias de seguridad.

- Varias acciones para un jugador en el mismo tick. Debido a anteriores acciones en hashtable no eliminadas. Esto generaba también el error de MAX_Jugadores. La solución ha sido eliminar por fuerza bruta recorriendo el array de jugadores y eliminando por nombre. Al morir un jugador, se eliminaba el Objeto de la lista. Al volver a entrar, se crea otro objeto con el mismo nombre. Habia veces que no se eliminaba correctamente, por ello eliminamos por nombres. Ademas, estos 2 distintos objetos con el mismo nombre, es lo que creaba conflictos en la hashtable asignando 2 posiciones al mismo jugador en un mismo tick.

- Cargar .obj en 3D, optimizando el tiempo de carga eliminando texturas y aplicando en tiempo de ejecución el color. Solo disponemos de 5 segundos para cargar las figuras en 3D.

- Aplicar texturas con textureMode(PConstant.NORMAL). Pero podría ser mas lento, no abusar.

- Añadir opción 2D-3D en GUI_Interactuar.

- Añadir varias opciones cámaras en GUI_Interactuar.

- Redimensionar pantalla del sketch al iniciar.

- Opción 2D mantenida debido a restricciones de pc.

- Hacer cámara fija

- Hacer cámara controlada por el raton

- Mapa lineal en lugar de bidimensional. Sigue sirviendo? Añadir a monitor y jugador?

- Redimensionar las 2 ventanas y posicionar correctamente para varios equipos.

- Si añadimos redimensionamiento en tiempo real al sketch, redimensionar casillas y jugadores.

- Nueva estructura del mapa: 2 ficheros: .txt para paredes y .ini para contenido. Solo pasamos el mapa 1 vez, luego solo comunicamos el contenido.

- Modo sin monitor, guardar partida en .txt

- Estadísticas de la partida.

- Skybox en processing

- Añadir sonidos. Hacer visibles acontecimientos.

Pendientes

Ideas

Poner nombre al equipo

Poner botones del Play... etc...

Estadísticas. quien es el ganador numero de ticks jugados numero de bajas por equipos.

lista de jugadores y sus bajas.