2つのオブジェクトが互いにオーバーラップするたびに実行されるif関数があり、その結果、HPは1だけ減少するはずですが、HPの値は、それらがオーバーラップしている限り減少し続けるため、3からまっすぐになります。 0。
int HP = 3;
void collision ()
{
for(int i = 0; i < balls.length; i++)
{
if (dist(balls[i].bx,balls[i].by,X,Y)< 15)
{
HP-=1;
}
}
}