繁体   English   中英

如何在不满足特定条件时使用键盘打破循环? 一个循环中的两个条件

[英]How to use the keyboard to break a loop when a certain condition is not met? Two conditions in one loop

我正在尝试使用 python 代码根据提供给项目的图像来操作游戏。 问题是,每次我尝试设置一个键来停止或打破一个已经定义了可能结束的循环(例如,当游戏中发生某些事情时),它永远不会打破循环。 相反,第一个条件是唯一可以打破它的条件。

我根据我看过的一些教程在 PyCharm 上启动了这个项目。 我观看的其中一个教程是为了了解该做什么的基础,在频道上有特色:“Indently”。 但我仍然没有任何提示这个问题。 这里是:


    # if the bot sees lava or the user press the keybind, he'll stop.
    if locate_lava() or keyboard.is_pressed('p'):
        break
    else:
        move_character('w', 2, 'attack')
        locate_mobs()



我在 stack overflow: Break a loop when pressing a key中看到过类似的问题,但没有一个答案真正有帮助。 很抱歉对 Python 或英语的任何不尊重,我不擅长这两种语言。

最初,作为 Lua 代码的用户和 Python 的初学者,尝试了一堆 Python 库的代码(因为我真的不知道发生了什么)。 最后,我在这个项目中的尝试都没有成功。

不太确定为什么您的代码不起作用,它应该。 您是否导入了键盘(并使用 pip 安装)?

诺曼在这里的回答可能对你有帮助: https://stackoverflow.com/a/57644349/18505884

一种方法:

import keyboard

while True:
    if keyboard.read_key() == "p" or locate_lava():
        print("You pressed p or found lava")
        break
    else:
        move_character('w', 2, 'attack')
        locate_mobs()
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM