Discussions et questions-réponses concernant ASL > Forum général Advanced Squad Leader

L'Asl-statisticien

<< < (2/5) > >>

Psaj:
Bonjour,


J'ai continué dans ma lancée: j'ai repris mon courage à deux mains, et l'IFT de l'autre pour construire un programme en VBA qui calcule les stats de chaque colonne de l'IFT.

En fonction de tout un tas de paramètres (Morale de l'unité cible, ELR, Leadership, TEM, ...), mon programme donne les probabilités exactes que l'unité cible soit Pinned, Cassée, Cassée avec perte ELR, Réduite, Réduite et cassée, Réduite et cassée avec perte ELR, etc... tout en prenant en compte les DR12 Casualty DR, les HoB sur un MC DR2  (donc la création de héro, les berserks, les surrenders), sans oublier la possibilité d'activer les snipers en attaque et en défense.

Comme c'est mon tout premier programme en VBA, c'est codé avec les pieds, mais ça marche :D


Il n'est pas encore fini, car je n'ai pas encore implémenté le cowering (c'est prévu pour 1 et 2 colonnes), ni le résultat Fanatic pour le HoB (mais j'ai déjà intégré les paramètres, faut juste que je crée la sous-routine idoine). La présentation mériterait aussi d'être améliorée (là, c'est moche costaud). J'oubliais,:il faudra aussi que je change un petit truc pour avoir la proba de perte de concealment.

Si vous voulez y jeter un coup d’œil, voici le lien:

https://1drv.ms/x/s!ArvbURLhawWGwzxe0pInK_VCqoR2?e=JqTpuW

Cela vous permettra notamment de voir qu'un tir à FP6 sur une unité de Morale 6 avec 0 de DRM a 0.04% de chance de conduire à une Casualty Reduction avec Battle Hardening et Création de Héro (en fait 18 chances sur 36^3)

J'ai mis quelques annotations dans le code VBA, histoire de rendre les choses un peu plus compréhensibles.

Je suis preneur de toute suggestion/amélioration !


salutations,

Patrice

Lionel62:
Impressionnant!

As tu moyen de rassembler les résultats dans le genre : si je tire à 6 DRM 0 combien ai je de chances d'affecter (KIA/Pin/Break) ma cible à 6 de morale ?

Psaj:
Hello Lionel,

C'est déjà fait.

Ces stats sont dans les colonnes AF:AJ      [Celles-là je les ai rajoutées à la fin, à la mano, faisant des sommes sur les autres colonnes]

Exemple : Cible Morale 6, 6 FP, DRM 0 sans cowering

No_Impact   Pinned   Broken   Partial Kill   KIA
43,02%          14,35%   39,24%   6,79%           2,93%


Comme tu le constateras la somme de ces éléments donne 106,33%. C'est normal car certaines occurrences sont comptées deux fois  (par ex. les Partial Kill + Broken, sont comptés une fois dans les Broken et une fois dans les Partial Kills).

Le challenge qui m'a animé a justement été de déterminer toutes les possibilités en sortie d'IFT afin d'avoir un total qui donne 100%. Après, je ne suis pas sûr d'avoir vraiment trouvé toutes les possibilités. Je n'ai pas pris le cas d'unité qui a un moral 5 qui fait un original MC DR2, sur un 4MC, qui va donner un héro mais qui sera cassée  {alors qu'un battle hardening remplace l'unité cassée par une une unité supérieure unbroken}. Mais avec mes 21 possibilités, je ne devrais pas être trop loin du compte.

Lionel62:
Merci j'avais regardé trop vite !

Lionel

Phil HIP:

--- Citation de: Psaj le 21 Août 2022, 21:14 ---Ces stats sont dans les colonnes AF:AJ      [Celles-là je les ai rajoutées à la fin, à la mano, faisant des sommes sur les autres colonnes]

--- Fin de citation ---
Pour avoir fait l'exercice il y a 30 ans (avec EXCEL 96!!), je peux te donner une astuce de présentation : convertir les stats obtenus en équivalent DR arrondis.

Ainsi par exemple 2.93% (ou 1/36) est équivalent à obtenir un DR 2
Et 10/36 (en gros 33%), c'est équivalent à obtenir un DR5 ou moins.

Cela permet de mieux appréhender les effets, et on finit par découvrir que grosso-modo : 1 TEM de DRM est compensé par un décalage de colonne sur IFT ou un cran de ML en moins.
En bref, un tir à 4 FP sur du ML8 dans TEM 0 donne à peu près les mêmes résultats qu'un tir à 8 FP sur du ML7 dans un TEM +3.

Evidemment, cela ne permet que de juger des risques, pas de définir une stratégie...

Navigation

[0] Index des messages

[#] Page suivante

[*] Page précédente

Utiliser la version classique