Desarrollo de un módulo, parte 4
¿Por que he pensado en hacer 3 inserts por cada partida, y porque la estructura de las tablas?
La primera tabla "tabla_histórico", es la que vamos a utilizar como control de partidas que son validadas. La idea:
Los usuarios que en la tabla "tabla_historico" están designados como id_jugador_b tendrán un enlace en el cual al pinchar se les mostrará la información de cada partida que ellos hayan jugado, y tienen que indicar si el resultado que el jugador A ha escrito y es correcto.
De la forma en que se ha pensado la tabla "tabla_batalla" es muy sencillo recuperar cada jugador e indicar las partidas que han jugado (total), las que han ganado, perdido y empatado.
Para imprimir la información del % de control de cada ejercito de las diferentes localizaciones lo he pensado de esta manera la query.
un inner join (¿Se escribe así?) de tabla_histórico y tabla_batallas, recuperando todos los nid de tabla_batallas que en tabla_histórico tengan en b_validación un 1.
Esta consulta es lo sencillo, la consulta compleja es:
Preguntamos por el campo de puntos de tabla tabla_batalla cuando los nid de tabla_batalla sean los nid de tabla_histórico, que en tabla_historico b_validación sea =1, y que en id_resultado en tabla_batalla sea 1 (victoria) o 2 (empate), y que id_localización sea igual a s%, y el id_ejercito sea igual a s%
La idea es sumar todos los puntos acumulados en victorias y empates por un ejercito en una localización dada.
A este resultado se le hace una una resta de una consulta muy parecida, en la que la segunda consulta solo cambia lo siguiente
el campo id_resultado es 0 (derrota).
Después de estas dos consultas lo que hacemos es:
a los puntos positivos (victorias y empates) le restamos los puntos negativos (derrotas), para darnos un valor (positivo o negativo) el cual es el que nos permite indicar el % del control de ese ejercito en esa localización.
Ojo, estoy escribiendo de memoria la lógica de los "negocios", cuando vuelva a casa intentaré explicarlo más detalladamente.
Un saludo
Oskar
como siempre, las críticas son muy bienvenidas
. Configuración y administración del sitio
creo que tendrás que
creo que tendrás que explicarlo un poco más, pero sin tanto detalle.. primero la parte funcional y el como (tan a bajo nivel como para explicar si es o no un inner join al final). En esta parte estoy espectante a que aparezca algo más de información para entenderlo, quizá, porque yo no sé de que van las batallas, que es lo principal :)
A ver si en el siguiente..
que es una batalla.
Buenas, por batalla entiendo yo y las personas que juega a juegos de estrategia con "soldaditos" de "plomo" lo siguiente.

Batalla es el hecho de enfrentar a dos ejercitos (a y b) con un sistema de reglas (de esto no nos preocupamos).
La idea es que es más divertido cuando en vez de partidas sueltas se juegan partidas unidas entre si por algo. Y que mejor que una "campaña" para conquistar un país imaginario, jugarse el dominio de europa en la segunda guerra mundial, etc....
Para jugar estas campañas los jugadores (a y b) juegan partidas en las que llevan figuritas que representan soldados y se enfrentan entre sí mediante un reglamento (reglas para que las figuritas interactuen).
Para entender un poco más de esto: http://es.wikipedia.org/wiki/Warhammer
La idea, es que según:
se juegan partidas.
El jugador A registra el resultado de la partida en el formulario (los vencedores adquieren puntos positivos, y los perdedores puntos negativos)
el jugador B valida el resultado de la partida.
se muestra en una pantalla el total de puntos que tiene cada ejercito.
Por lo tanto necesito:
un formulario que permita guardar datos.
un sistema de workflow para validar datos.
un formulario para imprimir los resultados.
A grandes rasgos es eso, luego la idea es ir complicandolo más, y hacerlo más interesante con más funcionalidades.
Que os parece
Oskar
pd: si soy un friki por partida doble, pero lo llevo muy oculto :P
Enviar un comentario nuevo