bool PLAYER::MayGoTo(Character *p,int posx,int posy) { int tempP_X; int tempP_Y; int operatorX,operatorY; int movement; int i,k; Math math; if(p->getX_position() < posx ) { operatorX=1; } else if(p->getX_position() == posx) { operatorX=0; } else { operatorX=-1; } if( p->getY_position() < posy) { operatorY=1; } else if(p->getY_position() > posy) { operatorY=-1; } else { operatorY=0; } if(operatorY==0) { movement=math.abs(p->getX_position()-posx); } else { movement=math.abs(p->getY_position()-posy); } tempP_X=p->getX_position(); tempP_Y=p->getY_position(); for(i=1 ; i< movement ; i++) { tempP_X=tempP_X+operatorX; tempP_Y=tempP_Y+operatorY; for(k=0;kgetAlive()) { if((ListOfCharacters[k]->getX_position()==tempP_X)&&(ListOfCharacters[k]->getY_position()==tempP_Y)) { return false; } } } } return true; }