bandeau

Php

26
9

Faire son Propre Jeu chapitre 2 MySql

MySql est un modéle de base de donnée disponible chez presque tous les hebergeurs.
https://www.mysql.org 403
Il est gratuit :).


phpMyAdmin est un script php permettant la gestion de bases de données simplement.
La plupart des hebergeurs proposent un phpmyadmin déjà préconfiguré mais sinon : https://www.phpmyadmin.net/

Voici pour les outils.



Maintenant entrons dans la conception de la base de données:

1) les joueurs

CREATE TABLE `perso` (
`idperso` int(11) unsigned NOT NULL auto_increment,
`nom` varchar(20) default NULL,
PRIMARY KEY (`idperso`),
UNIQUE KEY `idperso` (`idperso`),
KEY `id_2` (`idperso`)
) TYPE=MyISAM AUTO_INCREMENT=1;


Ici, nous avons une simple liste de joueurs.

Id est le champ qui permettra de retrouver un personnage, pour la base de donnée nous sommes des numéros :).

Définir un personnage par simplement son nom est un peu... limité...
On pourra (avec phpmyadmin) ajouter des champs comme PV pour les points de vie PVmax pour les points de vie maxi etc etc.

J utilises pour ma part une autre table pour le systéme de login, un article spécifique serait utile pour cette partie du script, je ne rentre donc pas dans les détails.

2) un historique:
Avant toute autre table, il faut penser à archiver se qu il se passe.
Le joueur en se connectant voudra savoir se qu il s est passsé sur son petit amour alors qu il l avait lachement abandonné... pff une hont.

CREATE TABLE `histo` (
`idhisto` int(10) unsigned NOT NULL auto_increment,
`idperso` int(11),
`act` tinytext,
`cible` tinytext,
`date` timestamp(14) NOT NULL,
PRIMARY KEY (`idhisto`),
UNIQUE KEY `idhisto` (`idhisto`),
KEY `id_2` (`idhisto`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

3) une carte:

Ici deux méthodes possible, placez les personnages sur la carte, où mettre les coordonnées des personnages dans la table des personnages.

Si votre carte n a que des personnages optez directement pour la solution 2 et passez cette article :)

J ai opté pour la solution 2 car la plupart des actions se font entre joueur et hormis l affichage il n y a pas beaucoup d appels à la carte.

Je ne place donc sur la carte que les arbres et autres bâtiments.

CREATE TABLE `carte` (
`id` int(11) NOT NULL auto_increment,
`x` tinyint(4) ,
`y` tinyint(4) ,
`s` tinyint(4) ,
KEY `id` (`id`),
KEY `x` (`x`),
KEY `y` (`y`)
) TYPE=MyISAM AUTO_INCREMENT=1;


s indiquant la chose qui est sur la case.

4) Passage de tours

CREATE TABLE `smi` (
`date` timestamp(14) NOT NULL,
) TYPE=MyISAM;


ici vous n'aurez qu'un seul enregistrement, cette table permets de conserver dans un coin la date de la derniére mise à jour (passage de tour)




Ses tables sont une architecture basique, à vous ensuite de completer avec les spécificités de votre jeu.

Vous pouvez rajouter des champs un peu partout afin de completer les informations dont vous aurez besoin pour construire votre script.

gorgu
2005-05-19 06:56:05



jouer.orgCNIL n° 822436