Script d'attaque - 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 d'attaque (/showthread.php?tid=1042) Pages :
1
2
|
RE: Script d'attaque - zneman - 06-04-2007 oui =) En revanche, si a chaque fois que l'on perd le joueur perd la moitier de ces hommes, je crois pas qu'il va aimer :/ RE: Script d'attaque - Mighty - 07-04-2007 zneman a écrit :oui =) Quand tu perds, tu perds toutes tes troupes Sinon, personne n'aurait une idée ? :pleure2: PS : Désolé si je parait un peu préssant, mais c'est le dernier script qu'il me manque avant de pouvoir finir mon site :heuuu: RE: Script d'attaque - naholyr - 07-04-2007 En fait ton problème c'est de savoir quelles unités vont décéder chez le "vainqueur". Ton système manque un peu de précision, il amalgame un peu tout. Quand on résout un combat, il n'y a que deux valeurs qui importent pour chaque camp : Les dégats infligés, et la vie perdue. Le "système de combat" finalement ce n'est que le calcul qui mène à ses deux valeurs. En général ces calculs ne sont pas simplissimes ni directement calculables par les belligérants (part d'aléatoire, part d'inconnue sur l'adversaire, plusieurs stratégies d'attaque ou de défense possible, etc...). Dans ton cas : - dégats infligés par l'attaquant = attaque - dégats reçus par l'attaquant = défense de l'adversaire Et c'est symétrique pour le défenseur. C'est un système un peu trop «direct» pour qu'il soit vraiment intéressant a priori, mais bon pourquoi pas, refléchissons tout de même dessus Le cas du perdant est réglé, il perd forcément tout. Ton problème c'est quoi ? De déterminer le détails des troupes perdues par ton vainqueur ? Et bien c'est facile : tu tues les plus faibles en premier, et tu continues ainsi de suite jusqu'à atteindre ou dépasser le total des dégats infligés par le perdant. Ou alors tu les sélectionnes au hasard de la même façon. Bref aucun problème, la seule question que tu dois te poser c'est que faire de la dernière unité ? Par exemple mettons que le vainqueur avec 5 unités à 1, 3 unités à 2, et 3 unités à 5 (total 26) et qu'il reçoive 17 dégats. Il perd ses 1+1+1+1+1 (les 5 premières unités à 1 sont mortes, reste 12) + 2+2+2 (les 3 unités à 2 sont mortes, reste 6) + 5 (reste 1). Là il reste une inconnue : que faire de la dernière unité ? Tu as trois choix : - soit tu la tues (il aura alors perdu 21 PV en réalité) - soit tu la laisses indemne (il aura alors perdu 16 PV en réalité) - soit tu lui laisses affaiblie avec une attaque (si le vainqueur était attaquant) ou une défense (si le vainqueur était le défenseur) réduite de 1. La dernière option ne me paraîssant pas faisable dans ton système (sinon tu y aurais pensé avant). Il faut choisir entre la tuer et la laisser en vie. Si tu choisis toujours l'un ou toujours l'autre, le système sera forcément injuste. Donc je te propose de la tuer si et seulement si les dégats restants sont égaux ou supérieurs à la moitié de sa défense. L'algo serait donc celui-là : on distribue les dégats aux unités les plus faibles jusqu'à ce que tout le monde soit mort Code : DégatsÀDistribuer = .... J'attire cependant ton attention sur plusieurs déséquilibres : - L'absence d'aléatoire dans le jeu, et le calcul simpliste (un seul paramètre compte) rend le jeu extrèmement avantageux pour l'attaquant. Puisque c'est lui qui a le pouvoir de décision (le défenseur ne fait que subir la décision), il va pouvoir sélectionner sa cible en connaissant avec exactitude l'issue du combat. - Des unités très déséquilibrés n'ont pas le comportement que la logique nous indiquerait. Par exemple une unité avec une attaque de 1 et une défense de 10 va pouvoir tuer 10 unités en contre-attaque ? Etrange pour une unité qui vu son profil ressemble plus à un mur qu'à un berserk. J'affinerais à ta place RE: Script d'attaque - Mighty - 07-04-2007 naholyr a écrit :- L'absence d'aléatoire dans le jeu, et le calcul simpliste (un seul paramètre compte) rend le jeu extrèmement avantageux pour l'attaquant. Puisque c'est lui qui a le pouvoir de décision (le défenseur ne fait que subir la décision), il va pouvoir sélectionner sa cible en connaissant avec exactitude l'issue du combat. Oui, il séléctione sa cible en connaissant l'issue "théorique" du combat, mais en général les grandes puissances attaquent toujours les plus faibles et l'attaquant ne connait théoriquement pas les forces du défenseur. naholyr a écrit :- Des unités très déséquilibrés n'ont pas le comportement que la logique nous indiquerait. Par exemple une unité avec une attaque de 1 et une défense de 10 va pouvoir tuer 10 unités en contre-attaque ? Etrange pour une unité qui vu son profil ressemble plus à un mur qu'à un berserk.Non, si elle attaque elle va pouvoir tuer une unité avec une défense de 1 et si elle défend, elle va pouvoir en tuer une avec une défense de 10 ( ou 2*5...) Je ne vois pas quel système est ce que je pourrait mettre à la place RE: Script d'attaque - naholyr - 07-04-2007 Non justement, dans le système que tu nous as décris quand elle défend elle tuera une unité avec une défense de 1. Puisqu'en défense les unités attaque avec leurs points de défense, et en attaque ils se défendent avec leurs points d'attaque. C'est ça que je trouve bancal Mais j'ai sans doute mal compris alors (tu n'as pas parlé de la défense des attaquants, ni de l'attaque des défenseurs, juste de leur «force» qui est la somme des attaques pour l'attaquant, et la somme des défenses pour le défenseur). Cela ne remet cependant pas en question l'algo que je t'ai donné et qui peut convenir je pense. RE: Script d'attaque - Mighty - 07-04-2007 Je me suis lancé :heuuu: Le script n'est pas vraiement optimisé, mais plus important, sa ne marche pas :pleure2: Code PHP :
Edit : Sa marche |