为了账号安全,请及时绑定邮箱和手机立即绑定

为什么下面的 python while 循环永远不会中断?它是一个简单的机器人

为什么下面的 python while 循环永远不会中断?它是一个简单的机器人

蓝山帝景 2023-06-20 14:12:26
def turn():x=0while x==0:    #the players X co-ordinate, and the players Y co-ordinate is set to 513,437 respectively    player_x, player_y=513,437    #It looks for the HP bar of the monster, and then notes down the location in terms of left, right, height in the variable target (or target2, whichever it detects.)    target = pyautogui.locateOnScreen(os.path.expanduser(r'~\Desktop\wow bot\references\target.png'),                                      region=(0, 0, 1024, 768), confidence=.7)    target2 = pyautogui.locateOnScreen(os.path.expanduser(r'~\Desktop\wow bot\references\target2.png'),                                       region=(0, 0, 1024, 768), confidence=.7)    #this turns the target location into an X, and Y format. So the location of the mob gets turned into x and y position and stored in target_x and target_y    if target is not None or target2 is not None:        global targety        global targetx        target_point=pyautogui.center(target or target2)        targetx,targety=target_point    #distance a = square root of target_y minus players_y to the power of 2    distance_a=math.sqrt((targety-player_y)**2)    #distance h = square root of target_X minus player_x to the power of 2 plus target_y minus player_y to the power of 2    distance_h=math.sqrt((targetx-player_x)**2+(targety-player_y)**2)    #inverse tan of distance a divide by distance h    radian=math.acos(distance_a/distance_h)    #turns radian into degrees    theta=(radian*180/math.pi)    #displays output of the degrees    print((theta))    direction=player_x-targetx    print(direction)我不明白为什么上面的代码没有中断?它是一个简单的机器人,除了转向它面对目标之外什么都不做。我希望循环中断,以便之后我可以继续执行另一项任务。
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

您的循环只会在theta=25您的第一个if条件声明时中断,theta>=25而嵌套的 if 条件声明theta<=25then onlyx=1这是非常荒谬的,因此条件仅满足theta=25



查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信