aboutsummaryrefslogtreecommitdiff
path: root/game/ai/action.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'game/ai/action.cpp')
-rw-r--r--game/ai/action.cpp150
1 files changed, 75 insertions, 75 deletions
diff --git a/game/ai/action.cpp b/game/ai/action.cpp
index 63218ba..d85eb4d 100644
--- a/game/ai/action.cpp
+++ b/game/ai/action.cpp
@@ -1,76 +1,76 @@
-#include "action.h"
-
-bool ai::compare_action(ai::action a, ai::action b) {
- return (a.heuristic < b.heuristic);
-}
-
-std::string ai::action::to_string () {
- if (type == actype::attack) {
- if (abs(x-mx)+abs(y-my) != 0) {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
- + " move " +
- "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
- + " attack " +
- "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
- } else {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
- + " attack " +
- "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
- }
- }
- if (type == actype::heal) {
- if (abs(x-mx)+abs(y-my) != 0) {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
- + " move " +
- "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
- + " heal " +
- "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
- } else {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
- + " heal " +
- "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
- }
- }
- if (type == actype::convert) {
- if (abs(x-mx)+abs(y-my) != 0) {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
- + " move " +
- "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
- + " convert " +
- "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
- } else {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
- + " convert " +
- "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
- }
- }
- if (type == actype::move) {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
- + " move " +
- "[" + std::to_string(mx) + ", " + std::to_string(my) + "]";
- }
- if (type == actype::build) {
- if (abs(x-mx)+abs(y-my) != 0) {
- return "[" + std::to_string(x) + ", " + std::to_string(y)
- + "]" + " move " +
- "[" + std::to_string(mx) + ", " + std::to_string(my)
- + "]" + " build " +
- std::to_string(v);
- } else {
- return "[" + std::to_string(mx) + ", " + std::to_string(my)
- + "]" + " build " +
- std::to_string(v);
- }
- }
- if (type == actype::train) {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" +
- " train " + std::to_string(v);
- }
- if (type == actype::trade) {
- return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" +
- " trade " + std::to_string(v);
- }
- if (type == actype::tech) {
- return "tech " + std::to_string(v);
- }
+#include "action.h"
+
+bool ai::compare_action(ai::action a, ai::action b) {
+ return (a.heuristic < b.heuristic);
+}
+
+std::string ai::action::to_string () {
+ if (type == actype::attack) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
+ + " attack " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ } else {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " attack " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ }
+ }
+ if (type == actype::heal) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
+ + " heal " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ } else {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " heal " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ }
+ }
+ if (type == actype::convert) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
+ + " convert " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ } else {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " convert " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ }
+ }
+ if (type == actype::move) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]";
+ }
+ if (type == actype::build) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y)
+ + "]" + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my)
+ + "]" + " build " +
+ std::to_string(v);
+ } else {
+ return "[" + std::to_string(mx) + ", " + std::to_string(my)
+ + "]" + " build " +
+ std::to_string(v);
+ }
+ }
+ if (type == actype::train) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" +
+ " train " + std::to_string(v);
+ }
+ if (type == actype::trade) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" +
+ " trade " + std::to_string(v);
+ }
+ if (type == actype::tech) {
+ return "tech " + std::to_string(v);
+ }
} \ No newline at end of file