21-08-2019, 04:45 PM
Si t'as peur de l'aléatoire, Ter Rowan (je me demande bien de quoi qui tu peux avoir peur en parlant d'aléa?!... ), tu peux appliquer le même principe sans aléatoire: tu pourrais ajouter, à chaque joueur, un "delta de dégat pas reçus", et l'appliquer au prochain combat (ça revient un peu à avoir une "barre de vie"). Exemple:
- A envoie 1 unité de 100 PV attaquer D, qui a 100 unités de 1 PV
- A fait 80 de dégats, et tue 80 unités de D, D fait aussi 80 de dégats, mais le floor(80/100) fait que l'unité de A est en vie
- On enregistre donc que A a 80 de dégats reçus non-pris en compte, mais on ne l'affiche pas
- A envoie 1 unité de 100PV contre E, qui a aussi 50 unités de 1PV
- A fait 80 de dégats, encore, et tue les 50 unités de E. On n'enregistre rien pour E: même s'il manque 30 PV de dégats de la part de A, ce "delta" ne vient pas de la numérisation du jeu, c'est juste que A a "tappé trop fort"
- E fait 50 de dégats, et au lieu de compter floor(50/100), on compte floor((80+50)/10), et l'unité de A est donc également tuée
Cela assure l'équilibre: un "joueur chanceux" (pour qui l'arrondi est souvent favorable), dans ce modèle, n'existe plus. Y'a sûrement d'autres pistes possibles (une fun: si le dernier chiffre après la virgule est pair, on arrondi au dessus, sinon, au dessous ) pour avoir le même équilibrage de manière déterministe. Mais niveau justification... c'est faible pour ce dernier exemple fun!
- A envoie 1 unité de 100 PV attaquer D, qui a 100 unités de 1 PV
- A fait 80 de dégats, et tue 80 unités de D, D fait aussi 80 de dégats, mais le floor(80/100) fait que l'unité de A est en vie
- On enregistre donc que A a 80 de dégats reçus non-pris en compte, mais on ne l'affiche pas
- A envoie 1 unité de 100PV contre E, qui a aussi 50 unités de 1PV
- A fait 80 de dégats, encore, et tue les 50 unités de E. On n'enregistre rien pour E: même s'il manque 30 PV de dégats de la part de A, ce "delta" ne vient pas de la numérisation du jeu, c'est juste que A a "tappé trop fort"
- E fait 50 de dégats, et au lieu de compter floor(50/100), on compte floor((80+50)/10), et l'unité de A est donc également tuée
Cela assure l'équilibre: un "joueur chanceux" (pour qui l'arrondi est souvent favorable), dans ce modèle, n'existe plus. Y'a sûrement d'autres pistes possibles (une fun: si le dernier chiffre après la virgule est pair, on arrondi au dessus, sinon, au dessous ) pour avoir le même équilibrage de manière déterministe. Mais niveau justification... c'est faible pour ce dernier exemple fun!