Je comprends pourquoi tu as peur ... ^^
Désolé de te dire ca comme ca, mais pour m'être penché sur ce problème il y a maintenant 3 ans, je peux te dire que ca ne peut pas fonctionner comme ca.
Je suppose que t'es sur un jeu de stratégie, ou dans le style, et que ton joueur peut interagir avec n'importe quel autre, et que comme tu l'as présenté, les autres joueurs peuvent avoir aussi des interactions entre eux qui apportent donc forcément des éléments nouveaux dans ta gestion des évènements. La seule chose qui te permet de gérer tes actions, c'est tout simplement l'heure à laquelle elles doivent s'effectuer.
Moi j'ai simplement enregistré les évènements dans une table qui gère TOUS les évènements de tous les joueurs, ensuite, ils sont exécutés par chaque joueur (à la connexion, au changement de page ou au rafraichissement), indépendament de leur id dans l'ordre chronologique, en clair, chaque joueur valide toutes les actions échues (les siennes ou ceux des autres), à partir du moment où l'heure est "passée". Ca fonctionne nickel, quelque soit le nombre de joueurs.
C'est la seule possibilité, c'est ingérable avec une fonction récursive, celui qui t'as conseillé la fonction récursive ne s'est pas penché sur le problème.
Désolé pour toi, mais tu vas pouvoir revoir tout le fonctionnement de tous tes évènements.
Désolé de te dire ca comme ca, mais pour m'être penché sur ce problème il y a maintenant 3 ans, je peux te dire que ca ne peut pas fonctionner comme ca.
Je suppose que t'es sur un jeu de stratégie, ou dans le style, et que ton joueur peut interagir avec n'importe quel autre, et que comme tu l'as présenté, les autres joueurs peuvent avoir aussi des interactions entre eux qui apportent donc forcément des éléments nouveaux dans ta gestion des évènements. La seule chose qui te permet de gérer tes actions, c'est tout simplement l'heure à laquelle elles doivent s'effectuer.
Moi j'ai simplement enregistré les évènements dans une table qui gère TOUS les évènements de tous les joueurs, ensuite, ils sont exécutés par chaque joueur (à la connexion, au changement de page ou au rafraichissement), indépendament de leur id dans l'ordre chronologique, en clair, chaque joueur valide toutes les actions échues (les siennes ou ceux des autres), à partir du moment où l'heure est "passée". Ca fonctionne nickel, quelque soit le nombre de joueurs.
C'est la seule possibilité, c'est ingérable avec une fonction récursive, celui qui t'as conseillé la fonction récursive ne s'est pas penché sur le problème.
Désolé pour toi, mais tu vas pouvoir revoir tout le fonctionnement de tous tes évènements.