summaryrefslogtreecommitdiffstats
path: root/src/include/game/ai.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/game/ai.h')
-rw-r--r--src/include/game/ai.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/include/game/ai.h b/src/include/game/ai.h
new file mode 100644
index 0000000..d9bc80d
--- /dev/null
+++ b/src/include/game/ai.h
@@ -0,0 +1,29 @@
+typedef struct {
+ int location;
+ segment2 player;
+ segment2 opponent;
+ vec2 intersection;
+ float t_player, t_opponent;
+} AI_Configuration;
+
+typedef struct {
+ float front, left, right, backleft;
+} AI_Distances;
+
+typedef struct {
+ int minTurnTime[4];
+ float maxSegLength[4];
+ float critical[4];
+ int spiral[4];
+ int rlDelta[4];
+} AI_Parameters;
+
+extern AI_Parameters ai_params;
+
+void ai_getDistances(int player, AI_Distances *distances);
+void ai_getClosestOpponent(int player, int* opponent, float *distance);
+void ai_getConfig(int player, int opponent, AI_Configuration *config);
+void ai_aggressive(int player, int opponent, int location,
+ AI_Distances *distances);
+void ai_evasive(int player, int opponent, int location,
+ AI_Distances *distances);