Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在while循环中处理if语句-Python_Python_If Statement_While Loop_Pyautogui - Fatal编程技术网

如何在while循环中处理if语句-Python

如何在while循环中处理if语句-Python,python,if-statement,while-loop,pyautogui,Python,If Statement,While Loop,Pyautogui,我正在为我自己的游戏创建一个游戏机器人,在这个(下图所示)游戏中,这个棍子人会随机转身离开。同时,如果他在你点击按钮时转身,我可以使用点击按钮偷他的钱,游戏将结束 我尝试执行的是,使用pyautogui库获取其前额的x、y值和RGB的像素R值,如果它与前额的R值匹配,我将执行鼠标单击。如果没有,也一样 我遇到的问题是,当我尝试运行下面的脚本时,它运行得非常完美,但是鼠标单击事件被触发了不止一次 输入键盘 导入pyautogui 当不使用键盘时。按下_('q'): 如果pyautogui.pixe

我正在为我自己的游戏创建一个游戏机器人,在这个(下图所示)游戏中,这个棍子人会随机转身离开。同时,如果他在你点击按钮时转身,我可以使用点击按钮偷他的钱,游戏将结束

我尝试执行的是,使用pyautogui库获取其前额的x、y值和RGB的像素R值,如果它与前额的R值匹配,我将执行鼠标单击。如果没有,也一样

我遇到的问题是,当我尝试运行下面的脚本时,它运行得非常完美,但是鼠标单击事件被触发了不止一次

输入键盘 导入pyautogui 当不使用键盘时。按下_('q'): 如果pyautogui.pixel(687144)[0]!=255: 打印(“看着你”) pyautogui。单击(681662) 其他: 打印(“不看你”) pyautogui。单击(681662) 我用下面的方法尝试了使用bool变量的onscript,但是它只对两个看着你的人起作用一次&如果这些变量变为false,程序就不能工作了

输入键盘 导入pyautogui 布尔瓦尔1=真 布尔瓦尔2=真 当不使用键盘时。按下_('q'): 如果pyautogui.pixel(687144)[0]!=255: 如果布尔值为1: 打印(“看着你”) pyautogui。单击(681662) boolval1=False 其他: 如果布尔值为2: 打印(“不看你”) pyautogui。单击(681662) boolval2=False 不管怎样,每当这个棍子手转身离开时,我只能执行一次点击吗

在这里,我附上了一个游戏的草图,以获得一个简短的想法


您是否尝试过将代码包装在无限循环中

while True:
    # do stuff with is pressed and clicks

这只是一条建议,但我认为您应该查看MVC设计模式, 这将是一个混乱的理解后:

        if pyautogui.pixel(687, 144)[0] != 255:
a=正确 当不使用键盘时。按下_('q'): b=错误 如果pyautogui.pixel(687144)[0]==255: b=正确 如果b!=a: 打印(“单击”) a=b
我找到了一个答案,这可能会节省时间

我不需要处理任何数据交换来使用MVC,而事实是:这就是我在
while True:
    # do stuff with is pressed and clicks

        if pyautogui.pixel(687, 144)[0] != 255:
a = True while not keyboard.is_pressed('q'): b = False if pyautogui.pixel(687, 144)[0] == 255: b = True if b != a: print("Click") a = b