home · contact · privacy
Replaced random movement by enemies with a pretty dumb AI of "move in direction of...
[plomrogue] / src / misc.c
index 06c6a30a7ce6882e7f8b97ff0044ac7a731d844e..c637a5d8ea478bdc17d2135e721036bd9537a8a0 100644 (file)
                           * write_map_objects()
                           */
 #include "map_object_actions.h" /* for struct MapObjAct */
+#include "ai.h" /* for pretty_dumb_ai() */
 #include "map.h" /* for Map struct, is_passable() */
 #include "main.h" /* for world global */
 #include "yx_uint16.h" /* for yx_uint16 struct */
-#include "rexit.h" /* for exit_err() */
+#include "rexit.h" /* for exit_err(), exit_trouble() */
 #include "wincontrol.h" /* for init_winconfs(), init_wins(), free_winconfs(),
                          * sorted_wintoggle_and_activate()
                          */
@@ -34,21 +35,6 @@ extern uint16_t rrand()
 
 
 
-extern void exit_trouble(uint8_t test, char * parent, char * child)
-{
-    char * p1 = "Trouble in ";
-    char * p2 = " with ";
-    char * p3 = ".";
-    uint16_t size = strlen(p1) + strlen(parent) + strlen(p2) + strlen(child)
-                    + strlen(p3) + 1;
-    char msg[size];
-    exit_err(NULL == msg, "malloc() in trouble_msg() failed.");
-    sprintf(msg, "%s%s%s%s%s", p1, parent, p2, child, p3);
-    exit_err(test, msg);
-}
-
-
-
 extern void * try_malloc(size_t size, char * f)
 {
     void * p = malloc(size);
@@ -252,9 +238,7 @@ extern void turn_over(char action)
                 {
                     break;
                 }
-                char * sel = "NSEW";
-                map_object->command = get_moa_id_by_name("move");
-                map_object->arg = sel[rrand() % 4];
+                pretty_dumb_ai(map_object);
             }
             first_round = 0;
             map_object->progress++;