Voilà , je paufine en ce moment mon système de combat, destiné à simuler des escarmouches entre des groupes d'adversaires (plutôt que des duels)
Dans sa première forme il risque de nécessité pas mal de génération d'aléa, et je voulais savoir si c'était là une operation coûteuse en terme de perfo que d'appeller un rand() régulièrement.
Pour le moment l'algo ressemble à ça
1 détermination des choix de chaque joueur en cours de journée
2 exécution
on calcule un Facteur d'Attaque, un facteur de Défense et un Niveau d'Engagement pour chaque joueur
FA = somme des FA d'une équipe, FD = somme des FD d'une équipe
puis pour chaque combattant, on fait un rand(FA+FD) (FA de son équipe et FD des ennemis)
si le rand est < FA, il a touché un adversaire. Celui-ci est tiré au sort parmi la liste des adversaires pondérée par leur NE respectifs. Les dégats, probablement aussi affecté par un Rand() sont noté.s
Une fois toutes les attaques portées, on applique les dégats et retire les morts éventuels, un rapport est généré et fourni à la prochaine connexion des participants...
Et est-ce que l'ordre de grandeur de la graine est connu si on ne la présice pas explictement ? Largement supérieur, à disons des intervalles < 1000 ?
Dans sa première forme il risque de nécessité pas mal de génération d'aléa, et je voulais savoir si c'était là une operation coûteuse en terme de perfo que d'appeller un rand() régulièrement.
Pour le moment l'algo ressemble à ça
1 détermination des choix de chaque joueur en cours de journée
2 exécution
on calcule un Facteur d'Attaque, un facteur de Défense et un Niveau d'Engagement pour chaque joueur
FA = somme des FA d'une équipe, FD = somme des FD d'une équipe
puis pour chaque combattant, on fait un rand(FA+FD) (FA de son équipe et FD des ennemis)
si le rand est < FA, il a touché un adversaire. Celui-ci est tiré au sort parmi la liste des adversaires pondérée par leur NE respectifs. Les dégats, probablement aussi affecté par un Rand() sont noté.s
Une fois toutes les attaques portées, on applique les dégats et retire les morts éventuels, un rapport est généré et fourni à la prochaine connexion des participants...
Et est-ce que l'ordre de grandeur de la graine est connu si on ne la présice pas explictement ? Largement supérieur, à disons des intervalles < 1000 ?