J'ai un petit probleme pour faire un systeme de sauvegarde des combats .
J'utilise une boucle pour mon Systeme de combat mais je ne vois pas comment faire pour les sauvegarder dans une base de donnée ou dans des fichiers texte je ne sais pas ce qui peu etre le mieux .
Quelqu'un sait comment faire et peu etre me mettre sur une petite piste ??
Que veut tu dire par sauvegarde de combat ? S'agit t'il d'un jeu de stratégie comme Ogame ou Travian ? (euh enfin de bourrinage pour être plus précis)
Si oui il te suffit de créer une table "Attaque ou "Combat" avec comme champs :
Citation :id
timestamp
attaquant
defenseur
troupe1
troupe2
troupe3 ... (enfin le nombre de troupes disponible dans ton jeu et * 2 pour 2 joueur)
perte1
perte2
perte3 ... (enfin le nombre de troupes disponibles dans ton jeu * 2 pour 2 joueurs)
/* S'il y a la possibilité d'avoir plusieurs villages/planètes/château .. */
Village attaquant
Village défenseur
Euh voilà je dit sa un peut à la vasvite, mais si tu as par exemple un système d'assistance il faudras faire un système plus complexe
EDIT: S'il s'agit d'un jeux de rôle en principe il y a une bestiole ou un méchant gugus VS le gentil héros qui font chacun X attaques jusqu'a ce que la bestiole s'enfuit ou l'un des dux meurts, pour enregistrer sa tu as cas à chaque attaque créer un tableau (par exemple nommé attaque1[]) où tu stocke le nom de l'attaquant, l'attaque, les dégâts occassionés suivit par exemple d'un trait d'union, ensuite tu enregistre tous sa dans une table ayant les champs suivant :
Citation :id
id_heros
nom_heros
combat (==> ici tu stocke les variables les unes à la suite des autres)
Et après à l'affichage tu découpe le champ combat de type text à l'aide d'une fontion (dont je ne me rappelle plus le nom) qui sépare le text après chaque trait d'union et ensuite tu n'as plus qu'a mettre en forme le text.
ps: c'est fait à l'arrache il doit y avoir plus simple ^^
Non non c'est un jeu d'elevage je veut juste faire un truc pour que les joueurs peuvent voir le combat en detail quand il se font attaquer .
Il y a pas un nombre de tour max c'est jusqu'a ce que la bestiole soit morte donc 0 pv
On peut être attaqué dans un jeu d'élevage ? Enfin bon regarde ma propostion pour les jeux de rôles voir si sa te vas ^^
Tu peu faire des combats entre bestiole non ?
Sinon si il y a pas des combats a quoi ça sert ?
J'essai de faire un melange de jeu de role et d'elevage ^^ on verra ce que sa donne .
Alors, tu creer une table resultat_combat avec comme champs :
¤ ID_attaquant ( ou ce que tu utilise pour te permettre d'identifier une personne dans ton )
¤ ID_defenseur
¤ Tour
¤ Dommage_attaquant
¤Dommage_defenseur
Et à la fin de chaque tour tu fait un update :
Code PHP :
<?php
$array=mysql_fetch_array(mysql_query("SELECT `dommage_attaquant`,`dommage_defenseur`,`tour`,`id_attaquant`,`id_defenseur` WHERE `ID_attaquant`='$id' OR `ID_attaquant`='$id'"));
$dmgattaquant = $array['dommage_attaquant'];
$dmgdefenseur = $array['dommage_defenseur'];
$tour = $array['tour']
$idattaquant = $array['id_attaquant'];
$iddefenseur = $array['id_defenseur'];
//Apres, tu prend les dommages de la BDD et tu rajoute les dommage du tout
$nouveaudmgattaquant = $dmgattaquant + $dmgdutour_attaquant;
$nouveaudmgdefenseur = $dmgadefenseur + $dmgdutour_defenseur;
$tour = $tour + 1;
Et tu fait un creer une nouvelle entrée
mysql_query("INSERT INTO resultat_combat ...
C'est une idée comme une autre
A la fin du combat, suffit de faire une boucle qui ecrits les dommages du tout
En éspérant que cela puisse t'aider
J'avais pensé a faire un insert to au debut de la boucle et ensuite a chaque fait de boucle sa verifie si l'insert a fonctionner et si oui il update jusqu'a la fin du combat .
Le champ deroulement sera de Type Text .
Quelqu'un pense que sa peu marcher comme ça ?
En effet, ton idées est peut etre meilleur
Si tu a un champ deroulement, tu récupère la variable $deroulement et tu fait :
Code PHP :
<?php
$deroulement : "$deroulement + $msgdutour";
T'a méthode est certainement meilleur pour ton type de jeu, mais pour les jeux de combats ou tu as plusieurs unités, elle ne marche pas.
Donc oui, fait cela ca peut marcher et c'est plus facile. De plus, ca optimise l'espace de ta BDD.