제가 API를 이용해서 간단한 액션게임을 만들고있는데요..

플래이어와 몬스터가 닿으면 플래이어 쪽의 체력을 깎기위해 충돌체크를 하려고 코드를 썼는데..

작동이 안되네요..API정복책에 있는 pangpang 게임의 충돌 체크 코드를 가져와서 고쳐서 썼는데..

여기 쓰인 함수들을 대략 MSDN 뒤져보고 추측해가면서; 고쳤는데요... 작동이안되네요 ㅠㅠ 이것때문에 몇일 고민중인데..어디가 이상한건지 모르겠습니다 ㅠㅠ;;

//사용한 소스입니다.

P_dx,P_dy:플래이어 캐릭터의 x,y좌표

void damage()
{
Tag_Enemy b;//Tag_Enemy 구조체 적의 X,y좌표및 적의 존재유무를 판별하는 변수가 들어있음
int i;
HRGN Enemyrgn;
RECT mrt,ert,irt;
SetRect(&mrt,P_dx,P_dy,P_dx+30,P_dy+80);
for(i=0;i<MAX;i++)
{
if(arEnemy[MAX].Exist==FALSE) continue;
b=arEnemy[MAX];

SetRect(&ert,b.E_dx,b.E_dy,b.E_dx+55,b.E_dy+95);
IntersectRect(&irt,&mrt,&ert);
if(IsRectEmpty(&irt)==FALSE)
{
Enemyrgn=CreateRectRgn(b.E_dx,b.E_dy,b.E_dx+55,b.E_dy+95);
if(RectInRegion(Enemyrgn,&mrt))
{

life--;
if(life==0)
MessageBox(hWndMain,TEXT("게임오버입니다."),TEXT("게임오버"),MB_OK);

}
DeleteObject(Enemyrgn);

}

}

}

캐릭터가 이동하거나 몬스터가 이동할경우 이 damage() 함수를 호출해서 체력을 깎는게 목표입니다;;

제가 잘못이해하고있거나 코드내에 문제가 있으면 좀 알려주세요 ㅠㅠ 부탁드립니다..