Version imprimable du sujet
Cliquez ici pour voir ce sujet dans son format original
Forum TourDeJeu > Programmer > [php+sql] Gestion Des Tours


Ecrit par: Samitch Vendredi 24 Août 2012 à 15h44
Bonjour à tous !

Suite à mon http://www.tourdejeu.net/forum/index.php?showtopic=3492 voilà l'aspect technique.

Le contaxte est celui d'un jeu en php en tour par tour. Les passages de tours sont fixes et identiques pour tout le monde, c'est à dire lundi soir, jeudi soir et samedi soir.

Comme vous le constatez, pour pouvoir tenir en une semaine, un des tours doit comporter trois jours, et là est mon problème.

Le jeu se décompose en "instances" elles même découpées en un nombre donné d'"évennements" (généralement 3) qui concernent plusieurs joueurs. Si vous voulez, un tour représente la résolution de tous les évennements simultanés et une instance équivaut à une semaine en temps réel.
Je partais sur l'idée de définir la fin de chaque évennement (qui dure donc un tour) dans sa ligne de ma table.


Ce qui au final est idiot, autant sauvegarder une seul date à laquelle se réfère tous les évennements simultanés. Mais comment créer cette table ? Je suis sûr qu'il existe un moyen moins fastidieux que de complêter ma petite table "à la main", en gardant à l'esprit le charactère non régulier des passages de tours (T1 = 2jours, T2 = 3j, T3 = 2j, T4 = 2, T5=3j, etc...)

Un (peu) d'aide serait (beaucoup) bienvenue.

Merci d'avance et désolé si je ne suis pas clair.

Ecrit par: Muni'Mura Vendredi 24 Août 2012 à 22h36
Bonjour.

Pourquoi ne pas incorporer lancer ton PHP tous les jours et mettre une commande du type :

CODE
if(date('N')*1!=1 && date('N')*1!=4 && date('N')*1!=6) // Si nous ne sommes ni Lundi, ni Jeudi, ni Samedi.
   {exit;} // Quitter.

Ecrit par: Samitch Samedi 25 Août 2012 à 11h40
Merci de ton aide Muni'Mura, mais je viens de penser à une autre solution. Je créer bien une table séparée qui contient toutes les dates de changement de tours mais sans que je la préremplisse.

L'éxécution d'un évennement provoquant la création de celui qui le suit directement, cet évennement créé fera appel à la table des dates. Si la date du prochain tour n'est pas encore créée, ce sera simplement : si le jour est un lundi +3 jours, sinon +2 jours.

Voilà, et vous risquez de me revoir si ça foire wink.gif


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)