Développement d'un jeu en ligne - Gestion de unités.

Signaler
Messages postés
2
Date d'inscription
dimanche 5 novembre 2006
Statut
Membre
Dernière intervention
11 novembre 2010
-
Messages postés
2
Date d'inscription
dimanche 5 novembre 2006
Statut
Membre
Dernière intervention
11 novembre 2010
-
Bonjour à tous,

Je suis en train de développer un jeu en ligne, et je suis bloqué à un niveau de gestion des unités.
En effet, je n'arrive pas à coder cette façon de dire :

- si l'utilisateur a cliqué sur un bouton "construire unité", prendre le temps où il a cliquer, le temps de construction de l'unité sélectionné, puis tant que le temps actuel n'est pas supérieur ou égal au temps de fin de construction, ne pas ajouter dans la base de donnée l'unité.

De même, s'il en construit plusieurs (par exemple 4) je vais devoir dire : dans 10min, ajouter 1, 10min après encore 1... et si je fais comme ci-dessus, ça ajoutera 4 à la fin ce qui n'est pas réellement bon...

Quelqu'un serait capable de me proposer une solution ?

Merci d'avance !

4 réponses

Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
45
Ben cela n'a pas l'air très compliquer en soit...

Avec des conditions simples standards "if-else", sans trop chercher de l'optimisation au départ en tout cas, tu peux y arriver en procèdant par étapes.
Aussi en y incorporant les fonctions dont tu aura besoin pour tes différents calculs soit "date()".

Tu sais ce que tu veux faire, te reste plus qu'à trouver les fonctions, instructions, conditions etc...qui te seront necessaires !

Après si tu as des éléments réalisés MAIS qui nécessite amélioration ou si tu as des difficultés particulières, NO Problem ont aient là !


______________________________________________________________________
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
phpAnonyme -> C'est plus compliqué que juste de faire des if/else ...

simdu80 -> Généralement pour ce genre de truc se sont des crons jobs (appellé tâche planifiée sur Windows) qui sont utilisés. Tu peux définir qu'à un interval régulier un script s'exécute pour vérifier les bâtiments construits.

Sinon, la solution optimale est d'opté pour des langages serveurs mieux adaptés pour se genre de problème comme Java (avec Servlet). Tu vas pouvoir faire une gestion du temps plus efficace et tu vas pouvoir offrir quelque chose de plus performant comme jeu en ligne.
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Je suis d'accord avec PhpAnonyme, ça ne devrait pas être bien complexe. Par contre mettre en place des cron jobs pour ce genre de chose l'est, et je trouve ça très lourd.

En réfléchissant tout haut et de manière simpliste :
- le joueur crée une unité
=> mise en DB de toutes les infos qui vont bien et de l'heure H + 10 min dans un champ "heure de validation"

- le joueur crée une autre unité
=> contrôle qu'une unité n'est pas déjà en cours de création :
- non => même traitement que ci dessus
- oui => insertion de ["heure de validation" de l'unité en cours de création] + 10 min dans le champ "heure de validation"

- n'importe quel joueur se connecte
=> toutes les unités ayant "heure de validation" < heure actuelle sont valides


Cordialement,

Kohntark -
Messages postés
2
Date d'inscription
dimanche 5 novembre 2006
Statut
Membre
Dernière intervention
11 novembre 2010

Ah trop cool !
J'avais pas penser à ça pour gérer s'il y avait une unité déjà en route !

Merci beaucoup à vous.
Je n'aurais pas pu le faire avec des cron de toute façon, j'ai déjà essayer sur une tache basique et j'ai galéré ^^'
Enfin bref !

Merci à vous deux !