JeuWeb - Crée ton jeu par navigateur
script de combat - migraine garantie ou remboursée :p - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : script de combat - migraine garantie ou remboursée :p (/showthread.php?tid=2287)

Pages : 1 2 3 4


script de combat - migraine garantie ou remboursée :p - leni - 16-01-2008

Bonsoir, j'ai fait un script de combat, un bon gros script :p (environ 700 lignes), et aparement, il ne marche pas xD ....

Vu la taille du code, je peu pas le poster et vous dire "allez c'est partis, go one the chasse au erreurs, moi je suis depassé" Big Grin
Ce que je propose de faire, c'est deja, de passer outre toutes les fautes d'orthaugraphe de ce message, et que si sa vous interesse de debuger un gros code comme ça, et que vous avez 2 minutes à consacrer à une pauvre brebis perdue, il suffit de me contacter par msn ^^
hobbiecat_kenobie@hotmail.com
Evidement, je peu pas demander sa comme ça, vous n'avez pas que sa à fair, donc je peu donner un allo-passe à mon sauveur Smile au moin pour rembourser les aspirines xD

nan mais si vous avez déjà des notions mathématiques et que vous avez deja fat un script aynt cette fonction, vous n'aurai aucun mal à me corriger, mauvais élève de première, je suis pas trop dur à suivre :$ ...

Rapport des erreurs :

- Si les 2 forces sont à peu près de même force (500 hommes près) le combat est dis nul
- Si l'attaquant gagne, avec par exemple 10000 hommes contre 3000, il tue les 3000 soldat sans avoir une seul perte
- Le pillage ne marche pas, on gagne une quantitée immensse dès qu'on tue un soldat
- Si le deffensseur gagne, il n'as aucune pertes
- En gros, personne ne meurs jamais, mais on gagne ou perd quand même le combat :heuuu:


Voila, c'était la list des problmèmes decouverts en se jour, ne vous inquetez pas, elle s'agrandie souvent :heuu:


bonne journée, leni
ps : avis à toutes les mauvaises langues, je ne fait aps ça en l'attente de quelqu'un qui me fasse mon boulot, je ne veu pas qu'on fasse mon jeu à ma place. La preuve est que j'ai deja fait le script. Le problème que j'ai est simple : je tien pas la route en maths, et en php, j'ai d'autant plus de mal à suivre ...


RE: script de combat - migraine garantie ou remboursée :p - cliknet - 16-01-2008

bonsoir,
Tu travail avec PHP4 ou PHP5, comment à tu consu ton algo de combat
je veux bien jeter un oeil mais avec le manque d'info je peux pas te dire grand chose
de t facon une chose est clair il y a pas que des problemes il y a aussi des solutions dans la vie


ps: je prend ton msn au passage


RE: script de combat - migraine garantie ou remboursée :p - leni - 16-01-2008

Mon script est en 2 parties : une permière ou on cré des variables et la deuxième qui constitu els calcules (puis une 3° ou un retouce la bbd :p )

voila la première :
Code PHP :
<?php 
while ($G = mysql_fetch_assoc($reqg))

{

// donnees du défenseur, la défense du défenseur, l'attaque du défenseur, le total de toutes les troupes.

//total de la deffense des hommes au corp à corp du defensseur
$G_def_cp=$G['defsoldat']*$G['nombresoldat']+$G['defcavalier']*$G['nombrecavalier']+$G['defmercenaire']*$G['nombremercenaire']+$G['defpaladin']*$G['nombrepaladin']+$G['deftemplier']*$G['nombretemplier']+$G['defhero'];

//total de l'attaque des hommes du corp a corp du defensseur
$G_off_cp=$G['attsoldat']*$G['nombresoldat']+$G['attcavalier']*$G['nombrecavalier']+$G['attmercenaire']*$G['nombremercenaire']+$G['attpaladin']*$G['nombrepaladin']+$G['atttemplier']*$G['nombretemplier']+$G['atthero'];

//total de la defense des archer d defenseur
$G_def_ar=$G['defarcher']*$G['nombrearcher']+$G['defarc']*$G['nombrearc']+$G['defarbalestrier']*$G['nombrearbalestrier'];

//total de l'attaque des archers du gentil
$G_off_ar=$G['attarcher']*$G['nombrearcher']+$G['attarc']*$G['nombrearc']+$G['attarbalestrier']*$G['nombrearbalestrier'];

//nombre total d'hommes au corp à corp du gentil
$G_tot_cp=$G['nombresoldat']+$G['nombrecavalier']+$G['nombremercenaire']+$G['nombrepaladin']+$G['nombretemplier'];

//total des archers du genti
$G_tot_ar=$G['nombrearcher']+$G['nombrearc']+$G['nombrearbalestrier'];

}

$reqm = mysql_query("SELECT * FROM hommes WHERE pseudo='".$att['mechant']."'") or die(mysql_error().' ligne 16');

while (
$M = mysql_fetch_assoc($reqm))

{

// donnees de l'attaquant, la défense de l'attaquant, l'attaque de l'attaquant, le total de toutes les troupes. idem que pour le gentil

$M_def_cp=$M['defsoldat']*$att['soldat']+$M['defcavalier']*$att['cavalier']+$M['defmerceniare']*$att['mercenaire']+$M['defpaladin']*$att['paladin']+$M['deftemplier']*$att['templier']+$att['baliste']*$M['defbaliste']+$M['defhero'];

$M_off_cp=$M['attsoldat']*$att['soldat']+$M['attcavalier']*$att['cavalier']+$M['attmerceniare']*$att['mercenaire']+$M['attpaladin']*$att['paladin']+$M['atttemplier']*$att['templier']+$att['baliste']*$M['attbaliste']+$M['atthero'];

$M_def_ar=$M['defarcher']*$att['archer']+$M['defarc']*$att['arc']+$M['defarbalestrier']*$att['arbalestrier'];

$M_off_ar=$M['attarcher']*$att['archer']+$M['attarc']*$att['arc']+$M['attarbalestrier']*$att['arbalestrier'];

$M_tot_cp=$att['soldat']+$att['cavalier']+$att['mercenaire']+$att['paladin']+$att['templier']+$att['baliste'];

$M_tot_ar=$att['archer']+$att['arc']+$att['arbalestrier'];

}

et le deuxième :
Code PHP :
<?php 
$M_off_cp
=$M_moy_off_cp*$M_tot_cp;

$G_off_cp=($G_moy_off_cp*$G_tot_cp)+($G_moy_off_ar*$G_tot_ar);

$M_off_ar=$M_moy_off_ar*$M_tot_ar;

$G_def_cp=$G_moy_def_cp*$G_tot_cp*10;// chaque homme dispose de 10 pts de vie

$M_def_cp=$M_moy_def_cp*$M_tot_cp*10;

$G_def_ar=$G_moy_def_ar*$G_tot_ar*100;// lesa rchers sont derrières des murs, donc 100 de vie => très costaux ^^

$G_pertes1_cp=$G_def_cp-$M_off_cp;

$G_pertes_cp=$G_pertes1_cp/10; // on divise par es 10 pts de vie

$G_tot_cp=round($G_pertes_cp/$G_moy_def_cp);

$M_pertes1_cp=$M_def_cp-$G_off_cp;

$M_pertes_cp=$M_pertes1_cp/10;

$M_tot_cp=round($M_pertes_cp/$M_moy_def_cp);

$G_pertes1_ar=$G_def_ar-$M_off_ar;

$G_pertes_ar=$G_pertes1_ar/100; // on divise par le nb de pts de vie

$G_tot_ar=ceil($G_pertes_ar/$G_moy_def_ar);

voila, c'est pour sa que j'apel sa un peu une prise de tete ^^

G veu dire gentil, alias deffensseur, M, mechant, cp corp à corp, ar archer, att attaque et def veu bien evidement dire deffensse ^^ perso je me comprend, vous allez vous me comprendre ? suspennnnsse :p


RE: script de combat - migraine garantie ou remboursée :p - cliknet - 16-01-2008

leni a écrit :nan mais si vous avez déjà des notions mathématiques et que vous avez deja fat un script aynt cette fonction, vous n'aurai aucun mal à me corriger, mauvais élève de première, je suis pas trop dur à suivre ...

Ben si un peu quand même ^^
1 pti efor dortografe fré pô de mal :heuuu:

ensuite tu explique même pas ton problème , ou cela bloque
si tu as des messages d'erreur

je veux bien t'aider mais pas faire ton travail à ta place :glace:


RE: script de combat - migraine garantie ou remboursée :p - X-ZoD - 16-01-2008

tu a tapé tes 700 lignes d'un coup
au lieu de tester chaque partie au fur et a mesure ? Big Grin gg


RE: script de combat - migraine garantie ou remboursée :p - uriak - 16-01-2008

mm, bon je vais répondre car là on a un problème très fréquent : les gens débarquent parfois pour de mauvaises raisons et en donnnant de mauvaises informations sur cette question, donc.

1 ) Pour un script qui ne fait pas ce qui était prévu utilisez echo bon sang. truffez votre code de sorties pour savoir où est-ce que vos variables ne prennent pas les valeurs prévues, quelles conditions n'ont pas marché. de même pour les requêtes, faites en des sorties pour voir si elles contiennent ce que vous imaginez.

2 ) dans le cas où vous n'y parvenez vraiment pas, expliquez clairement quel est le but du script, sur quoi il agit, etc. En gros expliquez dans le détail le comportement attendu, décrivez les champs de votre table etc. Les gens ne sont pas ici pour deviner ce que vous souhaitez faire, encore moins pour deviner vos données.

A vu de nez, la demande en question ne répond pas vraiment à ces deux points, j'attendrai donc du nouveau pour m'y pencher.


RE: script de combat - migraine garantie ou remboursée :p - leni - 16-01-2008

sachez quand même que je n'aurai aps poster avant d'avoir essayer, surtout si je propose une remuneration ^^

Le probleme, c'est justement qu'il n'y as pas de problèmes aparent, quand j'ouvre la page, m'ouvre une page blanche, c'est à dire exactemùent se que je veu.
J'ai fait des test avec des echo, toutes les variables du debut sont plosibles, lme probleme ne vien pas de là. Dernière solution : probleme mathématique .... Pourtant sur papier, sa fonctionne impec Confused

sinon, il y as une dernières faille : j'ai fait une variables qui contient le nombre total des hommes et si il est == 0, le combat est fini. Dans mon script, il y a 3 cas : victoire offenssive, victoire deffenssive, et match nul. Si le deffensseur n'as aucun soldat au debut du combat, sa marche impec, pareil si il a 10 fois plus d'hommes que l'attaquant, idem si l'attaquant as une armée beaucoup plus grande que le deffensseur.
En revanche,, à 500 hommes contre 1, le combat sera un match nul ... un grand mystère de la vie :heuuu:

voila, j'espère vous avoir un peu plus eclairer Smile


bonne journée, leni


RE: script de combat - migraine garantie ou remboursée :p - uriak - 16-01-2008

ok pour le premier point (désolé que ça tombe sur toi mais parfois les gens abusent..)

par contre la situation n'est pas plus claire, par exemple, je ne sais pas d'où sortent tes variables M_moy_off_cp et G_moy_off_cp...

PS : c'est défense, défenseur...


RE: script de combat - migraine garantie ou remboursée :p - leni - 16-01-2008

Bon alors c'est maintenant que l'utilisation d'un dictionnaire francais => leni / leni => francais (et ou je sais, je ferai bien d'en acheter un francais tout cours Big Grin )

Voici un extrait :
_ = espace entre 2 idées
G = gentil, c'est la personen qui se deffend (toujours majuscule)
M = mechant, c'est la personne qui attaque (toujours majuscule)

moy = moyenne, moyenne de la chose qui suit (minuscule)
tot = total, nombre totale de la classe qui suit (idem)

cp = corp à corp, soldat qui se bat au corp à corp (idem)
ar = archer, tout les hommes qui ne sont aps dans la masse : les derniers à mourir. (idem)

On place toujours la personne concernée en premier, suivit de se qu'on recherche et enfin la classe desirée.

donc $G_tot_cp, c'est le nombre total de soldat de corp à corp que le defensseur possède ^^
tout simple non ? Cool


RE: script de combat - migraine garantie ou remboursée :p - keke - 16-01-2008

Coucou,

Hum, tu pourrais commenter un bout ton code de combat ?

Genre, dire pourquoi tu divises pas 100 à un endroit ?

Kéké.