aboutsummaryrefslogtreecommitdiff
path: root/game/ai/evaluator.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/ai/evaluator.h')
-rw-r--r--game/ai/evaluator.h30
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