LinuxParty
Los juegos casuales son extremadamente populares y muy lucrativos, y es fácil saber por qué. No todas las personas de todos los grupos de edades están interesadas en jugar online videojuegos de disparos en primera persona contra hordas de adolescentes con reflejos tan rápidos como la velocidad de la luz. Algunas veces, es más interesante jugar videojuegos donde tiene tiempo para pensar y realizar una estrategia o donde la meta es cooperar unos con otros para ganar el juego.
Lo genial sobre los videojuegos casuales desde la perspectiva de los desarrolladores es que son mucho más fáciles de construir que los videojuegos intensivos en gráficos de disparos en primera persona o de deportes. Así que es más fácil para un solo desarrollador, o para un grupo de desarrolladores, producir una primera versión de un nuevo videojuego original.
En este artículo, pasamos a través de las bases para crear un juego de línea de tres casual de multijugador en red. El servidor del videojuego es una aplicación web basada en MySQL y PHP con una interfaz XML. La parte frontal es una aplicación nativa de Android que funciona en teléfonos de Android.
El fondo inicia con una base de datos simple de MySQL que tiene dos tablas. El Listado 1 muestra el esquema para la base de datos.
DROP TABLE IF EXISTS games; CREATE TABLE games( id INT NOT NULL AUTO_INCREMENT, primary key ( id ) ); DROP TABLE IF EXISTS moves; CREATE TABLE moves( id INT NOT NULL AUTO_INCREMENT, game INT NOT NULL, x INT NOT NULL, y INT NOT NULL, color INT NOT NULL, primary key ( id ) ); |
La primera de las dos tablas es la tabla de los juegos, que sólo tiene el ID exclusivo del juego. En una aplicación de producción, probablemente tenga una tabla de usuarios, y la tabla de juegos incluye los IDs de usuario de ambos jugadores. Para hacerlo simple, sin embargo, renunciaré a este enfoque para concentrarme en las bases de almacenar los datos del juego, la comunicación entre el cliente y el servidor y la construcción de la parte frontal.
La segunda tabla es la tabla de movimientos, que incluye los movimientos individuales para el juego dado, así que tiene cinco columnas. La primera columna es el ID exclusivo del movimiento. La segunda columna es el ID del juego al que aplica este movimiento. Después vienen las posiciones 'x' y 'y' del movimiento. Estos valores deben estar entre 0 y 2 para 'x' y 'y', ya que cuenta con una red de tres por tres. El último campo es el "color" del movimiento, que es un entero que indica X u O.
Para construir la base de datos, primero use mysqladmin para crearla y después use el comando mysql para ejecutar el script db.sql como se muestra aquí:
% mysqladmin --user=root --password=foo create ttt % mysql --user=root --password=foo ttt < db.sql |
Esta etapa crea una nueva base de datos llamada "ttt", que tiene el esquema del juego de tres en línea.
ahora que tiene el esquema, necesita crear una forma de iniciar un juego. Para esto, usted cuenta con un script llamado start.php, como en el Listado 2.
<?php header( 'Content-Type:text/xml' ); $dd = new PDO('mysql:host=localhost;dbname=ttt', 'root', ''); $sql = 'INSERT INTO games VALUES ( 0 )'; $sth = $dd->prepare($sql); $sth->execute( array() ); $qid = $dd->lastInsertId(); $doc = new DOMDocument(); $r = $doc->createElement( "game" ); $r->setAttribute( 'id', $qid ); $doc->appendChild( $r ); print $doc->saveXML(); ?> |
El script comienza por conectarse a la base de datos. Después ejecuta una sentencia INSERT en la tabla de juegos y recupera el ID que fue generado. Desde ahí crea un documento XML, añade el ID a una etiqueta de juego y exporta el XML.
Necesita ejecutar este script para poner un juego en la base de datos, ya que la simple aplicación de Android no tiene una interfaz para crear juegos. Este es el código:
$ php start.php <?xml version="1.0"?> <game id="1"/> $ |
Ahora ya tiene su primer juego. Para ver la lista de juegos, use el script games.php que está en el Listado 3.

-
Linux
- Cambiar la hora en Linux con Chrony
- Ejecutar Aplicaciones Gráficas Remotas en Local: Guía Completa en Linux
- Montar un directorio remoto, vía NFS, en Linux
- Linux 6.14 ya disponible: Mayor compatibilidad con Windows, Mejoras en gaming, IA y rendimiento para AMD e Intel"
- Zorin OS 17.3, basado en Ubuntu, ya está disponible para usuarios de Windows 10.
- La distribución de Linux KaOS 2025.03 se lanzó con KDE Plasma 6.3 y Linux Kernel 6.13
- Compartir archivos en la red LAN, sin nada, todo con un simple script en Python
- Free10: La mejor alternativa gratuita a Windows 10 basada en Linux
- ¿Se toma en serio la privacidad en línea? Este sistema operativo Linux "en vivo" es para usted
- Linux supera el 5% de cuota de mercado según PornHub: Un crecimiento del 41% en 2024
- Linux 6.14 permite que algunos sistemas suspendan y reanuden más rápidamente
- Cómo mantener Linux optimizado (y ahorrar tiempo) con Stacer
- Cambiar la Hora y la Fecha al sistema Linux
- Predicciones de Linux para 2025
- Elementary OS 8: una distribución de Linux para usuarios de Windows y macOS