LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

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.

Construyendo el fondo

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.


Listado 1. db.sql

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.


Listado 2. start.php

<?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.

Continúa aquí, en IBM.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política