基本的な仕組みの考え方は、敵から見た主人公の座標へのベクトルを取り(右へ〇〇、下へ〇〇の所に主人公が居るみたいなの)、そこへ敵が到達出来る様に敵の座標の数値に1ループの中で動ける数だけ足して行けば(3マス動けるなら右に1、下に2みたく)いいと思います。 けれども主人公と敵の間に障害物が有った場合、これを上手くかわしてやらないと引っ掛かって止まっちゃうので、IF文を駆使して上手くかわしてください。 かわさずに障害物を破壊して追っかけて来るってのもアリですが…。