01-12-2010, 11:46 AM
Merci pour vos réponses
@niahoo : Je sais bien que je donne la réponse, mais dans certain cas, ça peut vite devenir très très lourd.
Exemple: L'utilisateur à dans sa file de construction 4 bâtiments, 3 qui influencent les coefficient de production et 1 qui influence le temps de construction des bâtiments.
De plus, il a demandé la construction de 80 soldats mais le batiments qui influence le temps de construction sera fini avant la fin des 80 soldats, etc etc.
Si l'utilisateur revient après disons 3 jours, il va falloir décomposer le temps en énormément de tranche !
Surtout si l'argent n'est pas prélevé avant la construction mais seulement au moment où celle ci commence !
Le script devra faire ceci !
$time = Combien de temps avant que le batiment en cours ou le soldat en cours soit fini
On met à jour les ressource (sans compter le batiments)
On regarde si à ce moment là, il avait assez de ressource pour le batiment 2 dans la liste
Si oui, on calcule le temps nécessaire pour que ce batiment soit fini.
On met à jour les ressource (on tient compte du batiment 1 mais pas 2)
Sinon, on doit regarder le 3ème batiment dans la liste
Etc etc et ceci sans prendre en compte les soldat !
Imaginons que la construction d'un soldat prene 4minutes, il faut découper les 80*4 premières minutes en tranche de 4 minutes.
Il faudra alors 80 fois mettre à jour les ressources et verifier si il en avait assez pour construire un soldat supplémentaire...
Ceci est super gourmand en temps de calcul et en nombre de requête SQL, d'où ma question
Je voulais donc savoir s'il existe des algorithme ou des scripts un peu plus malin pour éviter de perdre trop de temps en calcul
Merci
PS: J'espère que mon explication est claire
@niahoo : Je sais bien que je donne la réponse, mais dans certain cas, ça peut vite devenir très très lourd.
Exemple: L'utilisateur à dans sa file de construction 4 bâtiments, 3 qui influencent les coefficient de production et 1 qui influence le temps de construction des bâtiments.
De plus, il a demandé la construction de 80 soldats mais le batiments qui influence le temps de construction sera fini avant la fin des 80 soldats, etc etc.
Si l'utilisateur revient après disons 3 jours, il va falloir décomposer le temps en énormément de tranche !
Surtout si l'argent n'est pas prélevé avant la construction mais seulement au moment où celle ci commence !
Le script devra faire ceci !
$time = Combien de temps avant que le batiment en cours ou le soldat en cours soit fini
On met à jour les ressource (sans compter le batiments)
On regarde si à ce moment là, il avait assez de ressource pour le batiment 2 dans la liste
Si oui, on calcule le temps nécessaire pour que ce batiment soit fini.
On met à jour les ressource (on tient compte du batiment 1 mais pas 2)
Sinon, on doit regarder le 3ème batiment dans la liste
Etc etc et ceci sans prendre en compte les soldat !
Imaginons que la construction d'un soldat prene 4minutes, il faut découper les 80*4 premières minutes en tranche de 4 minutes.
Il faudra alors 80 fois mettre à jour les ressources et verifier si il en avait assez pour construire un soldat supplémentaire...
Ceci est super gourmand en temps de calcul et en nombre de requête SQL, d'où ma question
Je voulais donc savoir s'il existe des algorithme ou des scripts un peu plus malin pour éviter de perdre trop de temps en calcul
Merci
PS: J'espère que mon explication est claire