Programar un Gestor para juegos de rol – Explicación inicial del código PHP y JQuery
Aquí os traigo la segunda entrega del gestor para juegos de rol o RPG en PHP y JQuery, en este vídeo os hago un resumen de las funcionalidades que llevamos implementadas en nuestro gestor de juego a nivel de código y como tenemos organizados los ficheros.
La programación la estamos realizando en PHP como lógica y atacando con JQuery haciendo llamadas JSON que nos devuelve el resultado de nuestra base de datos MySQL.
Las funciones que vemos en este vídeo actualmente son para poder movernos por la pantalla, además de sincronizar a todos los jugadores, los movimientos por el tablero, los comentarios, las tiradas con habilidades, etc…
La utilidad del gestor de juego RPG como comentaba en el anterior artículo es para poder crear aventuras online como si fueran reales, de manera que los jugadores lanzarán su turno, el master resolverá la situación y devolverá el turno para la siguiente acción. Parece sencillo, pero me gustaría añadirle funcionalidades para automatizar al máximo la tarea del director de juego hasta que algún día solo esté para supervisar las acciones más complejas y las conversaciones que vea convenientes… y en ello estoy 😉
Voy a explicar una función de las que hay con el código por que es la más extensa y quizás pueda crear dudas, la función es cargaPersonajes():
[codesyntax lang=”javascript”]
//carga el número de personajes function cargaPersonajes(){ jQuery.post("funciones.php", { accion: 'cargaInicialPersonajes' }, function(data, textStatus){ var cargaPersonaje = JSON.parse(data); var idPersonaje = ""; for (x=0; x < cargaPersonaje.length; x++) { //Creo una capa en el menú superior jQuery('#menuSuperior').append('<div id = "menuPersonaje'+cargaPersonaje[x]['idPersonaje']+'"></div>'); idPersonaje = "#menuPersonaje"+cargaPersonaje[x]['idPersonaje']; $(idPersonaje).css("float", "left"); $(idPersonaje).css("width", '88px'); $(idPersonaje).css("height", '88px'); $(idPersonaje).css("margin", '5px'); $(idPersonaje).css("background-image", 'url(./imgs/'+cargaPersonaje[x]['img']+')'); jQuery('#tablero').append('<div id = "idPersonaje'+cargaPersonaje[x]['idPersonaje']+'"><img height = "40px" src="./imgs/'+cargaPersonaje[x]['img']+'"></div>'); idPersonaje = "#idPersonaje"+cargaPersonaje[x]['idPersonaje']; $(idPersonaje).css("position", "absolute"); $(idPersonaje).css("width", '40px'); $(idPersonaje).css("height", '40px'); $(idPersonaje).css("left", cargaPersonaje[x]['posX'] + 'px'); $(idPersonaje).css("top", cargaPersonaje[x]['posY'] + 'px'); $(idPersonaje).css("background-image", 'url(./imgs/'+cargaPersonaje[x]['img']+')'); } }); }
[/codesyntax]
Esta función hace la carga inicial de los personajes y utiliza la carga para dos utilidades diferentes, la primera para poner en el menú superior a modo interactivo con otros personajes por ejemplo para más adelante poder chatear con un jugador en concreto, intercambiar cosas del inventario, etc. y por otro lado para posicionar cada jugador en el tablero con su miniatura para que pueda moverse. Es por eso que se utilizan dos capas diferentes donde se añaden. #menuPersonaje y #tablero respectivamente.
Si queréis acompañarme en el viaje, comentadlo y podemos organizarnos diferentes funciones, hay muchas cosas aún por realizar, el registro de usuarios/jugadores, la subida de ficheros y gestión de estos para el director de juego, administración de los jugadores por parte del master, los chats privados, el inventario, etc…
Sino al menos, si os ha gustado, compartir dando a like o lanzar un twit para darle difusión! Muchas gracias!
Podéis descargaros el SQL de la base de datos aquí
Un proyecto ambicioso pero posible! Nos vemos en el siguiente tutorial!
Comments
que lo he encontrado interesante, y muy util la verdad seguire este aventura gracias por tomarte el tiempo para hacer estos videos
Me alegro 🙂 Cualquier cosa, por aquí estamos 🙂