Saturday, June 14, 2008

Trivial sobre Europa: capitales, banderas y situación


Ahora que estamos tan pendientes de Europa por el fútbol, podemos aprovechar para comprobar que tal andamos de conocimientos sobre nuestros vecinos de continente. Aquí puedes acceder al juego que hemos hecho para repasar las capitales, banderas y situación de los distintos países europeos.
Uno de los proyectos más veteranos que tenemos y nunca acabamos de rematar, es un trivial. Ya que el proyecto global no lo terminamos, al menos estamos usando alguna de sus partes para hacer trivial de temas específicos. En un juego anterior, incluíamos uno sobre el Cid. Ahora hemos creado éste sobre Europa.
Lo más trabajoso con un Trivial es crear las preguntas. Para evitar tener que escribirlas una a una, hemos creado una pequeña utilidad en PHP que se aprovecha de la gran cantidad de información que contiene la Wikipedia y que además nos permite hacer uso libremente de ella.
Primero, guárdamos la lista de países de Europa, de la propia Wikipedia, en un txt. Después creamos un php que leyera cada uno de esos nombres y cargara la página correspondiente de la Wikipedia (típicamente http://es.wikipedia.org/wiki/Nombre_de_País). Cómo todas las entradas de la Wikipedia que tratan sobre cada país, tienen una estructura casi idéntica, guárdabamos el nombre de la capital y el del país en una BD. También copiábamos las imágenes de la bandera y de la situación, a nuestro servidor.
Una vez creada la base de datos con el nombre del país, la capital y copiadas las imágenes, en otro PHP convertíamos esa información en preguntas de Trivial, mezclando las diferentes informaciones de forma aleatoria.
Por último, todo eso lo convertimos en XML para poder utilizarlo en el juego.
En el juego hemos añadido una pequeña cookie en la que se guardan los resultados obtenidos para que se puedan establecer pequeñas competiciones. También puede ser útil para que comprobemos si nuestros conocimientos mejoran con cada partida.
Bueno, como siempre esperamos las críticas, sugerencias y notificación de errores en los comentarios.

No comments:

Post a Comment