Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur unresolved reference

Sujet résolu
    16 octobre 2021 à 17:44:14

    Bonjour,

    dans une fonction de mon programme lorsque je souhaite vérifier avec un "if" si la variable est égale à une autre et que cette vérification est vraie je modifie la variable vérifié mais j'ai une erreur qui apparaît : "Unresolved reference".

    Voici le programme (il y a quelque erreur vers le bas), le problème ce trouve dans la fonction change_tour ligne 31 :

    from tkinter import *
    global pseudo1
    global pseudo2
    
    class Player:
        def __init__(self):
            self.nom
            self.vie= 100
    
        def nom(self, nom):
            self.nom= nom
    
        def get_vie(self):
            return self.vie
    
        def get_nom(self):
            return self.nom
    
        def degat(self):
            self.vie-= 10
    
    
    
    player1= Player()
    player2= Player()
    
    play = False
    
    tour_joueur= player1
    
    def changer_tour():
        if tour_joueur== player1:
            tour_joueur= player2
        else:
            tour_joueur= player1
    
    def start_game():
        global window1
        global start_button
        global label_empty_window1
    
        label_empty_window1.configure(text= "Veuillez remplir les champs !")
    
        start_button.configure(text= "Veuillez fermer cette page", state= DISABLED)
        print(pseudo1.get())
        print(pseudo2.get())
    
    def attack():
    
        if tour_joueur== player1:
            player2.degat()
        else:
            player1.degat()
        changer_tour()
    
    def pass_tour():
        changer_tour()
    
    #creation de la fenetre de démarrage
    window1= Tk()
    
    #modification de la fenetre
    window1.title("Game")
    window1.geometry("240x120")
    
    #frame
    start_title_frame= Frame(window1)
    frame_empty_window1= Frame(window1)
    start_button_frame= Frame(window1)
    pseudo_frame= Frame(window1)
    
    #label
    label_empty_window1= Label(frame_empty_window1, font=("Courrier", 25), bg="white", fg="black")
    
    #titre
    titre= Label(start_title_frame, text= "Jeu", font=("Courrier", 25), bg="white", fg="black")
    
    #input
    pseudo1= StringVar()
    pseudo2= StringVar()
    
    pseudo1_entry= Entry(pseudo_frame, width= 20, textvariable= pseudo1)
    pseudo2_entry= Entry(pseudo_frame, width= 20, textvariable= pseudo2)
    
    #boutons
    start_button= Button(start_button_frame, text="Start", font=("Courrier", 25), bg="white", fg="black", command=start_game)
    
    #affichage des éléments
    label_empty_window1.pack()
    titre.pack()
    pseudo1_entry.pack()
    pseudo2_entry.pack()
    start_button.pack()
    
    #affichage frame
    start_title_frame.pack()
    frame_empty_window1= Frame(window1)
    pseudo_frame.pack()
    start_button_frame.pack()
    
    window1.mainloop()
    
    player1.nom(pseudo1.get())
    player2.nom(pseudo2.get())
    
    # ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    # Nouvelle fenêtre
    # ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    # creation de la fenetre de jeu
    window2 = Tk()
    
    window2.geometry("720x480")
    
    # modification de la fenetre
    window2.title("Game")
    
    # frame
    top_label_frame= Frame(window2)
    button_frame= Frame(window2)
    
    # frame du haut
    top_frame= Frame(window2)
    
    # frame du bas
    bot_frame= Frame(window2)
    
    # frame du bas gauche
    left_bot_frame= Frame(bot_frame)
    
    # pseudo gauche
    left_pseudo_frame= Frame(left_bot_frame)
    
    left_pseudo_label= Label(left_pseudo_frame, text= player1.get_nom(), font=("Courrier", 25), bg="white", fg="red")
    
    # frame info gauche
    left_info_frame= Frame(left_bot_frame)
    
    left_vie_left= Label(left_info_frame, text= 100, font=("Courrier", 25), bg="white", fg="red")
    
    # frame boutons gauche
    left_buttons_frame= Frame(left_bot_frame)
    
    left_attack_button= Button(left_buttons_frame, text= "Attaquer", font=("Courrier", 25), bg="white", fg="red")
    
    # frame du bas droite
    right_bot_frame= Frame(bot_frame)
    
    # label de gauche
    left_pseudo= Label(, text="Start", font=("Courrier", 25), bg="white", fg="black")
    
    # boutons de gauche
    attack_button1= Button(button_frame_right, text= "Attaquer", command= attack())
    pass_tour_button1= Button(button_frame_right, text= "Passer", command= pass_tour())
    
    # label de droite
    
    # boutons de droite
    
    # afficher boutons de gauche
    attack_button1.pack()
    pass_tour_button1.pack()
    
    # afficher frame
    top_label_frame.pack()
    button_frame.pack()
    
    window2.mainloop()

    Merci d'avance.

    -
    Edité par MatteoPandaure 16 octobre 2021 à 17:45:15

    • Partager sur Facebook
    • Partager sur Twitter
      16 octobre 2021 à 18:30:18

      faudrait pas un global tour_joueur dans la fonction ?
      • Partager sur Facebook
      • Partager sur Twitter

      Python c'est bon, mangez-en. 

      Erreur unresolved reference

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown