我是python的新手,正在尝试着手进行编码。我正在尝试创建一个简单的机器人来玩Facebook游戏,并且在进行了一些研究之后,我相信使用状态机是正确的选择。这是我正在尝试做的概述,但是我确信这不是编写代码的正确方法。一旦程序变得更加复杂,此代码将变得很复杂。有人可以帮助我将其转换为更强大的状态机代码吗?另外,是否有一种方法可以在用户按下按键时在状态之间进行检查,以便我可以暂停机器?谢谢。
state = 1
def runStateMachine():
global state
if state == 1:
doSomething()
state = 2
elif state == 2:
if checkSomething():
state = 3
else:
state = 1
elif state == 3:
finishSomething()
state = 1
while True:
runStateMachine()
sleep(5)
#check if a key has been pressed and pause here until the key is pressed again
我也是初学者,但是您的代码对我来说很好。
您可以做的改进代码的一件事是将state = X变成:
state = state % 3 + 1