Research Article
Artificial Intelligence in Video Games: Towards a Unified Framework
Algorithm 5
DPS estimation of an ability chain. This function can be useful for creating optimal DPS plans.
double calc_dps(AbilityChain & ac) | { | double dmg = 0; | double dur = 0; | AbilityChain::iterator a; | //Add up the damage and duration of each ability in the chain | for (a = ac.begin(); a != ac.end(); ++a) | { | dmg += (a)->damage(); | dur += (a)->usetime(); | } | //DPS = total damage/total execution time | if (zero(dmg)) | return 0; | if (zero(dur)) | return numeric_limits<double >::infinity(); | return dmg/dur; | } |
|