如何解决如何处理while循环中的if语句 - Python
我正在为我自己的游戏创建一个游戏机器人,在这个(附图在下面)游戏中,这个棒子会随机转身然后转身离开。同时,如果他的话,我可以使用点击按钮来偷他的钱当你点击按钮时,游戏就会结束。
我想要执行的是,使用 pyautogui 库获取其前额的 x,y 值和 RGB 的像素 R 值,如果它匹配其前额的 R 值,我将执行鼠标点击。如果没有也一样。
我遇到的问题是,当我尝试运行以下脚本时,它运行良好,但鼠标单击事件被触发了不止一次。
import keyboard import pyautogui while not keyboard.is_pressed('q'): if pyautogui.pixel(687,144)[0] != 255: print("Looking at you") pyautogui.click(681,662) else: print("Not looking at you") pyautogui.click(681,662)
我用以下方式尝试了带有 bool 变量的 on 脚本,但是一旦这些变量变成了 看着你 和 不看着你,它只会一次工作false 之后程序无法运行。
import keyboard import pyautogui boolval1=True boolval2=True while not keyboard.is_pressed('q'): if pyautogui.pixel(687,144)[0] != 255: if boolval1: print("Looking at you") pyautogui.click(681,662) boolval1 = False else: if boolval2: print("Not looking at you") pyautogui.click(681,662) boolval2 = False
有没有办法每次这个火柴人转身离开时我只能点击一次??
这里我附上了游戏的草图,以得到一个简要的想法
解决方法
您是否尝试过将代码包装在无限循环中
while True:
# do stuff with is pressed and clicks
只是一条建议,但我认为您应该查看 MVC 设计模式, 之后这将是一团糟:
if pyautogui.pixel(687,144)[0] != 255:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。