#include "monster.h" #include "define.h" void Monster::MonsterMove(const Map& wall, Player player, const Map& bean, const Map& goldBean) { int dir; if (status < 0) { dir = WaitingBorn(wall); } else if (status > 0) { dir = Escape(wall, player); status--; } else { dir = Chase(wall, player); } Move(dir); // 恢复绘制走过的bean和goldBean // .... } int Monster::Escape(const Map& wall, Player player) { int dir = Chase(wall, player); // 反向逃避即可 switch (dir) { case DIR_UP: dir = DIR_DOWN; break; case DIR_DOWN: dir = DIR_UP; break; case DIR_LEFT: dir = DIR_RIGHT; break; case DIR_RIGHT: dir = DIR_LEFT; break; default: dir = DIR_LEFT; break; } return dir; }