def yd():
global model
A=0
S=0
W=0
D=0
for s,u in zip(swr,spr):
AA=s.xcor()-u.xcor()
BB=s.ycor()-u.ycor()
if 0<AA<700:
D=1
if 0>AA>-700:
S=1
if 0<BB<700:
W=1
if 0>BB>-700:
A=1
mod=model.predict([[A,S,W,D]])[0]
if mod==1:
yy=s.ycor()+random.randint(1,10)
xx=s.xcor()
mod=model.predict([[A,S,W,D]])[0]
if xx<-450 :
s.speed(0)
xx=-450
s.goto(xx,yy)
if xx>450:
s.speed(0)
xx=450
s.goto(xx,yy)
if yy<0:
s.speed(0)
yy=0
s.goto(xx,yy)
if yy>900:
s.speed(0)
yy=900
s.goto(xx,yy)
s.goto(yy,xx)
s.speed(1)
A=0
S=0
W=0
D=0
if mod==2:
yy=s.ycor()
xx=s.xcor()+random.randint(1,10)
mod=model.predict([[A,S,W,D]])[0]
if xx<-450 :
s.speed(0)
xx=-450
s.goto(yy,xx)
if xx>450:
s.speed(0)
xx=450
s.goto(yy,xx)
if yy<0:
s.speed(0)
yy=0
s.goto(yy,xx)
if yy>900:
s.speed(0)
yy=900
s.goto(yy,xx)
s.goto(xx,yy)
s.speed(1)
A=0
S=0
W=0
D=0
if mod==3:
yy=s.ycor()+random.randint(1,10)
xx=s.xcor()
mod=model.predict([[A,S,W,D]])[0]
if xx<-450 :
s.speed(0)
xx=-450
s.goto(yy,xx)
if xx>450:
s.speed(0)
xx=450
s.goto(yy,xx)
if yy<0:
s.speed(0)
yy=0
s.goto(yy,xx)
if yy>900:
s.speed(0)
yy=900
s.goto(yy,xx)
s.goto(xx,yy)
s.speed(1)
A=0
S=0
W=0
D=0
if mod==4:
yy=s.ycor()
xx=s.xcor()-random.randint(1,10)
mod=model.predict([[A,S,W,D]])[0]
if xx<-450 :
s.speed(0)
xx=-450
s.goto(yy,xx)
if xx>450:
s.speed(0)
xx=450
s.goto(yy,xx)
if yy<0:
s.speed(0)
yy=0
s.goto(yy,xx)
if yy>900:
s.speed(0)
yy=900
s.goto(yy,xx)
s.goto(xx,yy)
s.speed(1)
A=0
S=0
W=0
D=0
if mod==0:
yy=s.ycor()
xx=s.xcor()
mod=model.predict([[A,S,W,D]])[0]
if xx<-450 :
s.speed(0)
xx=-450
s.goto(yy,xx)
if xx>450:
s.speed(0)
xx=450
s.goto(yy,xx)
if yy<0:
s.speed(0)
yy=0
s.goto(yy,xx)
if yy>900:
s.speed(0)
yy=900
s.goto(yy,xx)
s.goto(xx,yy)
s.speed(1)
A=0
S=0
W=0
D=0
AI运行不了,求帮助我(程序员)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 何事_ 2024-07-29 15:39关注
引自免费微信小程序:皆我百晓生
首先,从你的代码来看,你正在使用Python和sklearn库进行机器学习模型的预测,并根据预测结果来操作一些对象(可能是游戏中的实体)。对于这个问题,我建议我们一步一步解决可能存在的问题。以下是关于你的代码的潜在问题和我相应的解决方案。
首先,在你的代码中,我注意到每次预测之前都没有重置
A
,S
,W
,D
的值,这可能是个问题。在你的代码中,这四个变量在每个循环迭代中都依赖于前一个迭代的结果,这可能不是你想要的。为了解决这个问题,你可能需要在每次循环开始时重置这些变量的值。你可以尝试在每个循环的开始部分添加以下代码:A = 0 S = 0 W = 0 D = 0
然后,你在代码中多次使用了
model.predict([[A,S,W,D]])
,这可能是造成问题的原因。你的预测逻辑可能会在每个迭代中被多次重复执行,导致无限循环和不可预期的结果。我建议你检查模型预测的逻辑,确保它在每次迭代中只被调用一次。如果可能的话,将预测逻辑移到循环外部可能是一个好的解决方案。如果需要在每次迭代中进行预测,确保每次迭代开始时都重置输入变量(如上所述)。最后,你的代码看起来是在处理一些游戏对象的位置和速度。你需要确保这些对象的行为符合预期,例如不要让他们走出屏幕边界等。对于这种情况,你需要检查
xx
和yy
的值是否在正确的范围内,如果不正确的话就需要进行调整。在你的代码中,你已经做了一些这样的检查,但是你需要确保这些检查在所有可能的路径中都存在。此外,你可能还需要检查你的游戏引擎是否支持这些操作(如goto
和speed
)。如果你使用的库或框架不支持这些操作,你可能需要找到替代的方法来实现相同的功能。你可能还需要查看模型预测的准确性是否足够好以控制游戏对象的行为。如果模型预测不准确或不可靠,可能需要重新训练模型或调整模型参数。总的来说,你需要确保你的代码逻辑正确,并且所有的函数和库都正确地被使用。如果这些都没有问题的话,那么问题可能出在别的地方,例如你的运行环境或者你的模型本身。在这种情况下,你可能需要提供更多的信息才能找到问题的根源。希望这些信息能帮助你解决问题!如果你有任何其他的问题或者需要进一步的帮助,请随时告诉我!
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 35114 SVAC视频验签的问题
- ¥15 impedancepy
- ¥15 在虚拟机环境下完成以下,要求截图!
- ¥15 求往届大挑得奖作品(ppt…)
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图
- ¥15 UE5.1局部变量对蓝图不可见