diff options
Diffstat (limited to 'game/ai/evaluator.h')
-rw-r--r-- | game/ai/evaluator.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/game/ai/evaluator.h b/game/ai/evaluator.h new file mode 100644 index 0000000..75684de --- /dev/null +++ b/game/ai/evaluator.h @@ -0,0 +1,30 @@ +#ifndef EVALUATOR_H +#define EVALUATOR_H + +#include <iostream> + +#include <string> +#include <vector> + +#include "../ground.h" +#include "../gst.h" + +namespace ai { + +class evaluator { + public: + evaluator (Gst gst) : gst(gst) {} + Gst gst; + + float eval (int player) { + float val = 0; + for (Entity &ent : gst.entities) { + int own = (int)(ent.owner != player)*2-1; + val += own*(ent.info->cost[0] + ent.info->cost[1])*(ent.hp/100.0f); + } + return val; + } +}; + +} +#endif
\ No newline at end of file |