Programar un Gestor para juegos de rol – Gestión de turnos y sincronización de jugadores
Hola roleros y programadores por igual, en esta tercera entrega os voy a explicar el siguiente paso que he realizado para el gestor de juego de rol. Hemos realizado la sincronización con los demás jugadores y también la gestión de turnos de los jugadores de manera que cuando realice la acción quede a la espera de que el director de juego resuelva y devuelva el turno.
Hemos añadido dos funciones nuevas, además de haber separado el código entre las diferentes arquitecturas, por un lado tenemos PHP con la lógica que ataca a la base de datos MySQL, por otra Javascript con la librería de JQuery que interactúa directamente con el jugador y finalmente el HTML que aunque está con formato PHP el fichero, es un html como tal 😉
La base de datos MySQL no la hemos tocado a nivel de estructura, así que no hay mucho más que explicar.
Las funciones que se han añadido han sido:
[codesyntax lang=”javascript”]
/* Comprueba si es el turno del prota, si es así, muestra el botón para lanzar turno */ function esMiTurno(){ jQuery.post("funciones.php", { accion: 'esMiTurno', }, function(data, textStatus){ if (data == 1){ $("#boton").fadeIn(); miTurno = true; }else{ $("#boton").fadeOut(); miTurno = false; } }); }
[/codesyntax]
Esta función lo que hace es llamar con Ajax a funciones.php que devuelve si el valor de “turno” en el jugador está a 0 o 1, es decir, si es su turno o no.
He tenido que implementar algún modo de gestionar en el backend los turnos para asegurar que no se modifique de modo visual el botón de lanzar turno, de hecho, aunque se cambiaran las variables desde el navegador, vuelve a comprobar antes de realizar cualquier movimiento en las funciones de guardado devolviendo en el caso de “trampa” un mensaje al jugador.
Para el siguiente tutorial, estoy estudiando la manera que tendrá el director de juego de actuar, así que iros preparando!
Sin más, espero que os guste y que estéis siguiendo esta serie de tutoriales, si os ha gustado, compartir y comentar y si queréis ayudar con el desarrollo y aprender, solo tienes que decirlo!
Salud y hasta otra! 🙂