Ajoute un paramètre de type "vent". Ce paramètre te donnera une direction et pourquoi pas même une force...
La direction : -1 < d_x < 1 et -1 < d_y < 1
La force : 0 < f < 9
Intérêt de la force??? La valeur fournie multipliée par une unité de temps...
Ainsi, pour une force de 0 (vent très faible), on aurai : (10 - f) * 6 = 60, nombre de minutes avant le prochain raffraichissement des incendies.
Pour une force de 9 (vent violent), on a (10-f) * 6 = 6, mise à jour toutes les 6 minutes.
Et a chaque connexion, ou même chaque requete, tu effectues les actions suivantes:
1.Temps maj atteint??? Oui => 2
2.Parcours de la table, quand un incendie est trouvé en x/y, on allume directement l'incendie en x+d_x/y+d_y si on peut le faire, puis on etteint le x/y
3.Calcul nouvelle force du vent... suivant des critères que tu définiera (météo, ...) et donc calcul de la nouvelle date/heure de maj.
4.Calcul de la nouvelle direction... aussi suivant les critères à définir!
Et si personne ne se connecte???
Au choix => Loop sur cette fonction jusqu'à ce que la nouvelle date/heure soit supérieure à la date du système
ou => On n'effectue la commande qu'une fois, point barre, mais on perd la crédibilité du temps réel!
La direction : -1 < d_x < 1 et -1 < d_y < 1
La force : 0 < f < 9
Intérêt de la force??? La valeur fournie multipliée par une unité de temps...
Ainsi, pour une force de 0 (vent très faible), on aurai : (10 - f) * 6 = 60, nombre de minutes avant le prochain raffraichissement des incendies.
Pour une force de 9 (vent violent), on a (10-f) * 6 = 6, mise à jour toutes les 6 minutes.
Et a chaque connexion, ou même chaque requete, tu effectues les actions suivantes:
1.Temps maj atteint??? Oui => 2
2.Parcours de la table, quand un incendie est trouvé en x/y, on allume directement l'incendie en x+d_x/y+d_y si on peut le faire, puis on etteint le x/y
3.Calcul nouvelle force du vent... suivant des critères que tu définiera (météo, ...) et donc calcul de la nouvelle date/heure de maj.
4.Calcul de la nouvelle direction... aussi suivant les critères à définir!
Et si personne ne se connecte???
Au choix => Loop sur cette fonction jusqu'à ce que la nouvelle date/heure soit supérieure à la date du système
ou => On n'effectue la commande qu'une fois, point barre, mais on perd la crédibilité du temps réel!