まさかの二日連続更新です。
今日も細かいバグの修正のみです。

disporse(){
/* バグの原因 */
// Const int X = party->getX();
// Const int Y = party->getY();

/* 正解 */
 #define X (party->getX())
 #define Y (party->getY())

 party->move(); //先頭のメンバーの向きに座標を一歩ずらす
 encount->(X,Y);
}

パーティの位置をConstで定義した後に変更していた所為で
移動する前の座標でエンカウント判定をしていたため
100%エンカウントするはずの場所でエンカウントしないバグが起きてました。

party->Move(); の後にConstするのが正解な気もしますが
そのやり方だと後々まずいことになりそうな気がするので#defineで。
忘れずに#undefもしておきました。