需要修改哪里,才能够射中目标

需要修改哪里,才能够射中目标

img

img

img

img


#include 
#include 
int main()
{
int Vf=20,Vb=17,T=1;
double Yf[100],Xf[100],D[100],Yb[100],Xb[100];
Yf[0]=50,Xf[0]=0,D[0]=15,Xb[0]=80,Yb[0]=0;
for(int t=0;t<12;t++)
{
Xf[t+1]=Xf[t]+Vf*((Yb[t]-Yf[t])*1.0/D[t]);
Yf[t+1]=Yf[t]+Vf*((Xb[t]-Xf[t]*1.0)/D[t]);
D[t]=sqrt((Yb[t]-Yf[t])*(Yb[t]-Yf[t])-(Xb[t]-Xf[t])*(Xb[t]-Xf[t]));
printf("%lf\n",D[t]);
if(D[t]<=10)
printf("%d,%lf",t,D[t]);
else
{
if(t>12)
printf("打印目标脱离");
else
T=T+1;
}
}
}

img

13行根号里的值是负数,所以都出现异常数据了。和公式对比,是你写错了,应该是平方和相加啊,你写成相减了,改成
D[t]=sqrt((Yb[t]-Yf[t])(Yb[t]-Yf[t]) + (Xb[t]-Xf[t])(Xb[t]-Xf[t]));

以下内容部分参考ChatGPT模型:


为了射中目标,需要修改代码中的Xf和Yf数组的值,使其对应于目标的坐标。具体的修改方法需要了解游戏的具体规则和目标的位置信息。如果游戏中提供了函数或API可以获取目标位置信息,可以使用这些函数来获得目标坐标,然后将其赋值给Xf和Yf数组。如果没有提供这样的函数,需要手动测量或估算目标的位置信息,然后将其赋值给Xf和Yf数组。修改后重新运行程序,即可射中目标。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632