13-04-2009, 02:44 PM
bonjour
J'ai construit il y a longtemps une classe "action" qui consomme diverses énergies (fatigue, etc...)
grosso modo ça donne :
J'ai construit il y a longtemps une classe "action" qui consomme diverses énergies (fatigue, etc...)
grosso modo ça donne :
Code PHP :
<?php
$toto = new action($x,$y,$z);
$toto->addTest($t); // je rajoute diverses choses pour préparer le calcul du résultat
$retour =$toto->realise(); // c'est la le sujet du post
$echo .= $toto->retourXML(); // je renvoie le résultat par des echo XML
dans ma méthode realise, je fais deux choses :
1) je contrôle la possibilité de faire ou non l'action (y a plus assez de points, etc...)
2) je calcule la consommation pour chaque paramètre
3) je fais mon update en base MySQL
jusque là ça allait bien car je lançais un ordre ajax qui ne consommait qu'une action unique (exemple couper l'arbre) par script
maintenant je travaille sur mon système de combat et oh drame, oh désespoir, un combat (donc un script, donc un ordre ajax) est constitué de plusieurs (beaucoup) d'actions
et là je me dis, faire autant d'update sur la même clef qu'il y a d'actions c'est beaucoup trop, un update concluant l'ensemble du combat serait plus pertinent (il ferait une seule mise à jour en base de données qui serait l'agrégation de toutes les actions)
Aussi je réfléchis à modifier un peu ma classe en sortant la mise à jour SQL de la méthode realise
et là deux choix, soit le destructeur, soit une méthode "update"
Code PHP :
<?php
$toto = new action($x,$y,$z);
while (condition)
{
$toto->addTest($t); // je rajoute diverses choses pour préparer le calcul du résultat
$retour = $toto->realise(); // le même qu'avant mais sans le update Mysql
$echo .= $toto->retourXML(); // je renvoie le résultat par des echo XML
}
$toto->majBDD();