[Algo/PHP] Cassage de tête...gestion des perte d'unité(jeu en ligne)

Cassage de tête...gestion des perte d'unité(jeu en ligne) [Algo/PHP] - PHP - Programmation

Marsh Posté le 10-10-2003 à 17:42:02    

Salut!
 
Ca fait plusieurs soirée que je galére sur ca, peut etre que vous pourriez me donner un petit coup de main.
C'est pas vraiment en probleme de code, mais plutot d'algo, et c'est pas vraiment mon fort.
 
Donc ci dessous, le code évidemment, loupé, d'une fonction qui renvoi le nombre de perte en archer et en fantassin d'une des deux armées.
 
Je mets qu'une seul parti du code, étant donnée que le reste est répétitif, et seul quelques nombre varies.
 

Code :
  1. function perte_armee($my_fantassin,$my_archer,$your_fantassin,$your_archer)
  2. {
  3. $your_army=$your_fantassin+$your_archer;
  4. $my_army=$my_fantassin+$my_archer;
  5. /*
  6. Retapper la fonction
  7. Selon ca ?
  8. Si 10% de mon armée est plus fort que toute son armée => Enorémement de perte POUR LUI
  9. Sinon-Si 20% de mon armée est plus fort que toute son armée =>beaucoup de perte POUR LUI
  10. Sinon-Si 40% de mon armée est plus fort que toute son armée =>Grand perte
  11. Sinon-Si 60% de mon armée est plus fort que toute son armée => Pas mal de perte
  12. Sinon-Si 80% de mon armée est plus fort que toute son armée => Perte moyenne
  13. */
  14. if($my_army*0.1 > $your_army)
  15. {
  16. $fant_info_min=rand($your_fantassin*0.5,$your_fantassin*0.7);
  17. $arch_info_min=rand($your_archer*0.5,$your_archer*0.7);
  18. $fant_info_max=rand($your_fantassin*0.8,$your_fantassin*1);
  19. $arch_info_max=rand($your_archer*0.8,$your_archer*1);
  20. //Execution
  21. $your_fantassin=$your_fantassin-rand($fant_info_min,$fant_info_max);
  22. $your_archer=$your_archer-rand($arch_info_min,$arch_info_max);
  23. }
  24. elseif($my_army*0.2 > $your_army) // Aprés c'est *0.3;*0.4 ect..
  25. {
  26. $fant_info_min=rand($your_fantassin*0.2,$your_fantassin*0.4);
  27. $arch_info_min=rand($your_archer*0.2,$your_archer*0.4);
  28. $fant_info_max=rand($your_fantassin*0.5,$your_fantassin*0.9);
  29. $arch_info_max=rand($your_archer*0.5,$your_archer*0.9);
  30. //Execution
  31. $your_fantassin=$your_fantassin-rand($fant_info_min,$fant_info_max);
  32. $your_archer=$your_archer-rand($arch_info_min,$arch_info_max);
  33. }
  34. //arrondisement des valeurs, on c jamais !
  35. $your_fantassin=round($your_fantassin);
  36. $your_archer=round($your_archer);
  37. echo"your_archer: $your_archer <br> your_fantassin: $your_fantassin<br>";
  38. return array($your_fantassin,$your_archer);
  39. }


 
Voilà, je pense que ma technique est vraiment nul, donc si vous avez d'autre solution a me proposer n'hésiter pas.
 
Merci d'avance.


Message édité par smilm le 10-10-2003 à 18:02:53
Reply

Marsh Posté le 10-10-2003 à 17:42:02   

Reply

Marsh Posté le 11-10-2003 à 10:28:57    

Mais qu'est ce que c'est sensé faire en fait? Au point de vue des nombre?
Parce que perte d'arché et de fantasin, ca m'explique pas grand chose sur le résultats que tu veux obtenir, et en fonction de quoi ;)
a+


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 11-10-2003 à 15:05:59    

Désolé apparament je n'ai pas été assez clair.
 
Cette fonction me permet de renvoyer le nouveau nombre de fantassin et d'archer aprés la guerre pour une des deux armée..
 
Si X envoi 30 archer et 20 fantassin, contre le village Y qui à 40 archer et 50 fantassin...
 
On va dire que c X qui perds, donc Y va comme meme faire un certain nombre de perte, et ma fonction sert a calculer le nombres restant d'archer et de fantassin du village Y.
C'est plus clair ?
 
Et donc faut que tout ca soit aléatoire mais bien sur en fonction de l'équilibre des force..
les perte de Y ne vont pas aller de 0 a 50 si l'ennemie n'envoi qu'un seul fantassin par exemple..
Y perdera a peine 1 ou 2 fantassin et archer.
 
Voilà..
En fait, ma technique marche, mais je pense que je pourrais faire mieux, donc si vous avez une idée.. :bounce:  
 
Merci d'avance.


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 11-10-2003 à 17:34:33    

Et les archets d'élite alors? :o
 
Ok, je sors. ;)

Reply

Marsh Posté le 11-10-2003 à 19:11:26    

omega2 a écrit :

Et les archets d'élite alors? :o
 
Ok, je sors. ;)


 
Ca m'avance bien ca [:totozzz]


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 11-10-2003 à 21:08:28    

j'ai une question conne mais en fait pas trop : pourquoi tu fais un jeu stupide et si oui pourquoi en php

Reply

Marsh Posté le 11-10-2003 à 23:01:45    

orazur a écrit :

j'ai une question conne mais en fait pas trop : pourquoi tu fais un jeu stupide et si oui pourquoi en php


je vois pas tres bien comment il peut repondre a 'pourquoi tu fais un jeu stupide?' par oui  :whistle:  
 
deja qui te dis qu il est stupide hein :p
 
de plus heu bah en php pour les jeu en tps reel c est mieux  enfin je vois pas trop avec quoi d autre c est possible
 
sinon, SmilM desole je sais po ^^

Reply

Marsh Posté le 11-10-2003 à 23:08:41    

orazur a écrit :

j'ai une question conne mais en fait pas trop : pourquoi tu fais un jeu stupide et si oui pourquoi en php


si quand même ... :o   te sous-estimes pas  ;)
 
edit : desolé smilM mais pas envie de foutre le nez dans ton code  :D


Message édité par simogeo le 11-10-2003 à 23:09:52

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 12-10-2003 à 00:58:23    

De@thm@ster Of Hell a écrit :


je vois pas tres bien comment il peut repondre a 'pourquoi tu fais un jeu stupide?' par oui  :whistle:  
 
deja qui te dis qu il est stupide hein :p
 
de plus heu bah en php pour les jeu en tps reel c est mieux  enfin je vois pas trop avec quoi d autre c est possible
 
sinon, SmilM desole je sais po ^^


je suis stupide je ladmets, mais bon meme marek aurait pu remarqué que la construction de la phrase etait volontaire
et ensuite jaimerais que lon mexplik vraiment linteret de faire ce jeu en php qui est je trouve pas tres idéal pour faire un jeu de stratégie Oo
cependant smilm je respecte tout a fait ton choix et je suppose que tu fais ca pour approfondir tes connaissances, bien que dautres ne comprennent pas ca et vont nous coder warcraft 3 en php, je vise personne bien sur.

Reply

Marsh Posté le 12-10-2003 à 02:27:54    

Heu mon jeu est un jeu en ligne online massivement multijoueur gratuit tour par tour a jouer sous ton navigateur  :D  et je l'ai fais en PHP parce que :
-C'est diffusable sur le web
-Je connais déjà le PHP , et ca me permet d'approfondir mes connaissances
-A 14 ans, je me suis pas encore amuser avec l'opengl le directX et des langages qui serait plus aptes a faire des jeux.(bien que j'aurais pu, mais j'ai pas trouver le temps)
-Et puis de toute facon, j'avais envie que ca soit extrement facile d'accés, quoi de plus facile d'accés qu'une page oueb pour un jeu en ligne ?!
 
Et puis je crois que WARCRAFT 3 en PHP ca va etre compliqué a developper hein  :sarcastic:  


---------------
AfterEnd: Batissez un nouveau monde
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed