对于我正在编写的游戏,我需要为两组坐标之间的距离找到一个整数值。这是一个包含不同地图的二维数组。(就像原来的塞尔达)。距离中心 (5,5)越远,数字应该越高,因为敌人的难度会增加。理想情况下,它应该在 0 到 14 之间。数组是11x11 。
现在,我尝试使用我在高中时记得的毕达哥拉斯公式,但它会喷出溢出数字。我不知道为什么。
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];