게임을 작성하는 중 좌표 사이의 거리에 대한 정수 값을 찾으십시오. 다른지도를 보유하고있는 2D 배열입니다. (원래 젤다처럼). 더 멀리 가면 센터 (5,5)에서 증가할수록 적의 난이도가 높아 지므로 숫자가 높아야합니다. 0과 14 사이의 이 이상적이어야합니다.. 배열은 11x11입니다.C++ : 2D 배열의 2 좌표 사이의 "거리"
지금, 나는 내가 고등학교에서 기억 피타고라스 공식을 사용하려고하지만 오버 플로우 번호 밖으로 분출입니다. 나는 이유를 알 수 없다.
srand(rand());
int distance=sqrt(pow((5-worldx), 2)-pow((5-worldy), 2));
if(distance<0) //alternative to abs()
{
distance+=(distance * 2);
}
if(distance>13)
{
distance=13;
}
int rnd=rand()%(distance+1);
Monster testmonster = monsters[rnd];
우선 sqrt는 double을 반환하므로 거리는 double이되어야합니다. – CoryKramer