Bonjour à tous,

Je tente de faire un programme pour un jeu en ligne, je n'arrive pas à le faire fonctionner pour cause d'indentation. Je suis totalement débutant en programmation, cela m'a pris beaucoup de temps pour faire le code, et j'ai beau chercher je ne trouve pas la solution.

Est-il possible d'avoir des avis/conseils/de l'aide pour corriger mes erreurs svp ?

L'invité de commande me donne une erreur ligne 22 :
elif state == States.WAITING_TURN:
^^^^
SyntaxError: invalid syntax


Merci de m'avoir lu :)


Voici le code :

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
def main():
    state = States.OUT_OF_COMBAT
 
    while True:
        screenshot = pyautogui.screenshot(region=(0, 0, 1020, 768))
        screenshot_gray = cv2.cvtColor(np.array(screenshot), cv2.COLOR_RGB2GRAY)
 
        if state == States.OUT_OF_COMBAT:
            monster_name, monster_position = find_monster(screenshot_gray)
 
        if monster_name:
            print(f"Monstre {monster_name} trouvé à la position {monster_position}")
            pyautogui.rightClick(monster_position[0], monster_position[1])
        else:
            print("Aucun monstre trouvé")
 
            time.sleep(2)
            pyautogui.click(x=830, y=295)
            time.sleep(1)
            pyautogui.press('space')
 
        elif state == States.WAITING_TURN:
            if is_bot_next_turn(screenshot_gray):
                if is_combat_over(screenshot_gray):
                    print("Combat terminé")
                    break
                else:
                    state = States.FIRST_TURN
 
        elif state == States.FIRST_TURN:
            time.sleep(1)
            pyautogui.click(893, 330)
            time.sleep(1)
            pyautogui.press('t')
            time.sleep(1)
            pyautogui.click(1133, 451)
            time.sleep(1)
            pyautogui.press('t')
            time.sleep(1)
            pyautogui.click(1133, 451)
            pyautogui.press('space')
 
        elif state == States.WAITING_TURN:
            if is_bot_next_turn(screenshot_gray):
                if is_combat_over(screenshot_gray):
                    print("Combat terminé")
                    break
                else:
                    state = States.SECOND_TURN
 
        elif state == States.SECOND_TURN:
            time.sleep(1)
            pyautogui.click(930, 385)
            time.sleep(1)
            pyautogui.press('&')
            time.sleep(1)
            pyautogui.click(930, 385)
            time.sleep(1)
            pyautogui.press('&')
            time.sleep(1)
            pyautogui.click(930, 385)
            time.sleep(1)
            pyautogui.press('é')
            time.sleep(1)
            pyautogui.click(930, 385)
            time.sleep(1)
            pyautogui.press('é')
            time.sleep(1)
            pyautogui.click(930, 385)
            time.sleep(1)
            pyautogui.press('"')
            time.sleep(1)
            pyautogui.click(930, 385)
            pyautogui.press('space')
            time.sleep(5)