Captura la bandera

De OpenDataLab
Saltar a: navegación, buscar

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

• 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.

• Esquema de pasos de mensajes.

• Limpiar, ordenar, optimizar, comentar, depurar código.

• Camara por teclado

• Cámara por jugadores

• Meter carpeta figuras dentro del .jar

• Sombras y luces en processing

• Redimensionar tablero y casillas a pant. Completa

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

• Mapa parcial

• Mejorar jugadores

• Hacer esquema rellenable de jugadores

• Añadir elementos al juego. (Vida, daño, paredes moviles, recursos)

• Esquema de clases de cada proyecto y funcionamiento.

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.