Bonjour à tous,

Je suis en train d'essayer de faire un jeux du pendu en Python et avec la librairie pysimplegui pour l'interface.

J'ai pas mal avancer mais je bloque à un endroit:

J'ai fait un input pour mettre la lettre et un bouton pour valider, quand on clique sur le bouton ca check si la lettre est présente dans le mot et dans l'idée ca complète la liste qui correspond au mot à découvrir (j'ai transformé en liste le mot à découvrir pour jouer avec les index)

Nom : pendu_souci$.png
Affichages : 106
Taille : 21,4 Ko

et je voudrais que ca donne ca au final : ['L', 'I', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_'] au fur et à mesure.

je soupçonne un problème de portée de variable mais je suis pas sur... voici le code :

Code : 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
 
def game_window():
    row1 = [
        sg.Text("Catégorie"),
        sg.Combo(['Choix', "Pays"], default_value='Choix', size=(6, 1), key='-Category_choice-', enable_events=True),
    ]
    col1 = [
                [
                    sg.Text('', key='-WordToGuess-'),
                    sg.Input(size=(5, 2), enable_events=True, key='-Input_Letter-', visible=False),
                    sg.Text('', key='-Letter_Used-'),
                    sg.OK(key='-Add_Letter-', visible=False),
                ],
    ]
 
    layout = [[row1],[sg.Column(col1)]]
 
    window = sg.Window('Pendu',layout,resizable=True)
 
    while True:
        event,values = window.read()
 
        if event == sg.WINDOW_CLOSED:
            break
 
        if event == "-Category_choice-":
            choix = values['-Category_choice-']
 
            if choix == "Choix":
                sg.popup_error(f"Veuillez choisir une catégorie")
            else:
                word_to_guess = random.choice(get_country_name())
                data = configure_word(word_to_guess)
                window['-WordToGuess-'].update(data['display'].replace('_',' _'),font=16)
                window['-Input_Letter-'].update(visible=True)
                window['-Add_Letter-'].update(visible=True)
 
        list_country = data['word']
        list_to_guess = [i for i in data['display']]
        print(word_to_guess)
 
        if event == '-Add_Letter-':
            input_letter = values['-Input_Letter-'].upper()
            if len(input_letter) > 1:
                sg.popup_error(f"Veuillez saisir une lettre")
 
            window['-Letter_Used-'].update(value=input_letter)
                #On va tester si la lettre est présente dans le mot
            for ind, letter in enumerate(list_country):
                if input_letter == letter:
                    list_to_guess[ind] = input_letter
 
        print(list_to_guess)
 
    window.close()
 
if __name__ == "__main__":
        game_window()
Pourriez-vous m'éclairer sur le souci ?

Merci d'avance.
Cordialement.