>>210
あたり判定
ソースを読んでみたのだが、今プレイヤーが壁に向かっているか否かは
CPlayer::HitCheckMap()の中でcMap.GetMap()を使用して背景スプライト番号で
判定しているが、これを障害物マップに置き換えてみてはどうだろうか。
あるいは背景スプライト番号(m_pbyMap)の意味を拡張して、
障害物フラグも内包するなど、今は8ビットだがこれを16ビットにして
下8ビットをスプライト番号、上位8ビットを障害物フラグなど。
unsigned short mapItem;
mapItem = cMap.GetMap(...);
if(!(mapItem & 0xff00) && ((mapItem & 0x00ff) == 1)){
 mapItem = cMap.GetMap(進行方向);
 if((mapItem & 0xff00) || ((mapItem & 0x00ff) != 1)){
  m_byWalkFlag &= ~WALK_XXXX;
  nHit = true;
 }
}
この場合CMap::m_pbyMapの内容は村人の移動とともに書き換えることになる。
絵付きで細かく説明しないとわかりにくいかもしれないが、ご容赦。