26-09-2007, 04:16 PM
Pour la limitation, relis à haute voix le premier algorithme que je t'ai filé (en traduisant les expressions mathématiques en français) : tu comprendras plus facilement la logique et le principe est à la portée de n'importe quel débutant (peut-être qu'il faut s'y arrêter quelques minutes tout de même pour bien piger). Effectivement, la fonction max ne devrait pas être très utile ici.
Concernant le script d'augmentation d'habitants, interroge toi sur la valeur de timestamp et sur les effets que peut produire cette variable dans ton calcul : tu risques effectivement d'avoir quelques problèmes dans tes résultats.
Après, tu as deux possibilités :
- ou bien la mise en place d'une tâche cron qui va incrémenter le nombre d'habitants tous les jours pour tous les joueurs (le plus simple à mettre en place mais tu seras dépendant du serveur cron).
- ou bien l'écriture d'un script qui vérifiera à chaque connexion du joueur (ou à chaque appel de page dans le cas d'un traitement plus fin mais plus lourd) si au moins 24 heures se sont écoulées depuis la dernière incrémentation d'habitants. Après, il te suffit de bidouiller les timestamp pour calculer le nombre de journées écoulées, le temps restant, etc. Cette solution est plus compliquée mais te rend plus indépendant qu'un système cron.
Voilà quelques pistes. Il te reste maintenant à prendre un papier, un crayon (non, pas de clavier pour l'instant^^) et à réfléchir à la meilleure manière de mettre en place ce genre de système : comment limiter au max l'accès à la base de données pour ce genre de test ? Quel calcul utiliser pour connaitre le nombre d'habitants à rajouter depuis la dernière mise à jour ? Comment éviter un décalage temporel lors de l'update du timestamp ? etc.
Bonne chance
Concernant le script d'augmentation d'habitants, interroge toi sur la valeur de timestamp et sur les effets que peut produire cette variable dans ton calcul : tu risques effectivement d'avoir quelques problèmes dans tes résultats.
Après, tu as deux possibilités :
- ou bien la mise en place d'une tâche cron qui va incrémenter le nombre d'habitants tous les jours pour tous les joueurs (le plus simple à mettre en place mais tu seras dépendant du serveur cron).
- ou bien l'écriture d'un script qui vérifiera à chaque connexion du joueur (ou à chaque appel de page dans le cas d'un traitement plus fin mais plus lourd) si au moins 24 heures se sont écoulées depuis la dernière incrémentation d'habitants. Après, il te suffit de bidouiller les timestamp pour calculer le nombre de journées écoulées, le temps restant, etc. Cette solution est plus compliquée mais te rend plus indépendant qu'un système cron.
Voilà quelques pistes. Il te reste maintenant à prendre un papier, un crayon (non, pas de clavier pour l'instant^^) et à réfléchir à la meilleure manière de mettre en place ce genre de système : comment limiter au max l'accès à la base de données pour ce genre de test ? Quel calcul utiliser pour connaitre le nombre d'habitants à rajouter depuis la dernière mise à jour ? Comment éviter un décalage temporel lors de l'update du timestamp ? etc.
Bonne chance