MüchiGame: La web del juego del mundo de los Müchis para el 1er Concurso Universitario de Software Libre

Scripts en PERL y el rediseño…

¡Hola!,
veamos como sería un ejemplo sencillo de los scripts que se usan en el interior del motor del juego en Ajax:
Primero se carga el motor Php ,que genera la interfaz en Ajax y realiza peticiones a los scripts en PERL que al mismo tiempo cargan el contenido de Django por medio de llamadas a sus Urls y al escribir los datos necesarios de la “lógica del servidor” como ficheros XML, se cargan en PHP y se completa el ciclo reescribiendo el contenido en JavaScript, ésto ocurre en cuestión de milisegundos….
Script en perl: carga_jugadores.pl
__________________________
#!/usr/bin/perl -w
use LWP::Simple;
use CGI;
#Si queremos mostrar contenido usariamos: print “Content-type:text/html\n\n”;
my $cgi = new CGI;
#Como posibilidad se puede indicar el tipo de información a pedir a django: $fichero= $cgi->param(’enlace’);
$url = ‘http://www.agenciaq4.com/django/jugadores/’.$cgi->param(’idu’).’/';
my $contenido = get($url);
#Recordemos que podemos usar una expresión regular para evitar problemas de seguridad: $fichero =~ s/\//(php|cgi|pl|html|asp)/g;
open (STUFF, “>/datos/jugadores.xml”); #escribimos el contenido de Django a un XML
print STUFF $contenido;
#Ahora podemos movernos a la direccion del motor de la parte del gestor de contenidos en PHP
print “Status: 302 Moved\nLocation: http://www.agenciaq4.com/muchigame/jugar/jugar.php?modulo=jugadores\n\n”;
__________________________

Para implementar el envío de datos y la recogida de la respuesta en Ajax, utilizaremos Prototype, la forma más sencilla que conozco…
En JavaScript:
__________________________
$(’capaDeInterfazDeUsuario’).innerHTML = generarContenidoPreCargaHTML(’tipoX’);

new Ajax.Updater(’capaDeInterfazDeUsuario‘, generaDireccion(’http://www.agenciaq4.com/cgi-bin/carga_jugadores.pl‘)+’?idu=’
+escape(muchigame.idu), {asynchronous:true});

__________________________
donde idu es el identificador del usuario, para más seguridad se debe incluir una “session id” como parámetro, i.e., la sesión del login en PHP que queda almacenada en la base de datos compartida entre los módulos de apache tanto para Python como para PHP…
Podeis ver algunos ejemplos del uso de éste tipo de llamadas en ésta web http://www.senseidav.com/ ,la hice en un mes de verano del 2oo6.
La parte PHP se encarga de procesar el XML y realizar parte de la lógica del juego, no se si se debería ejecutar el algoritmo A* en Python,en PHP o en JavaScript , quizás a estas alturas estoy hablando chino jaja, espero que alguien haya entendido algo de lo que he escrito, ¿qué opinaís?
Antes de hacer las cosas me gusta pensarlas y hacerlas bien :)

Saludos…

15 de April de 2007 - Posted in Noticias, Ingeniería |

Aún no hay comentarios. Sé el primero.

Deja una respuesta

Debes de haber ingresado para comentar.