(May-18-2023, 07:14 PM)Axel_Erfurt Wrote: [ -> ]No images please, post your code.
from donnees import *
from tkinter import *
import pickle
from pathlib import Path
from donnees import *
from random import choice
import os
root = Tk()
root.geometry("1080x720")
root.title("Jeu du Pendu")
root.iconbitmap("jeu-du-pendu.ico")
def saisie_utilisateur():
user_entry = frame.entry2.get()
frame.entry2.delete(0, END)
return user_entry
class Interface(Frame):
def __init__(self, fenetre, **kwargs):
Frame.__init__(self, fenetre, width=1080, height=720, **kwargs)
self.pack(expand=YES)
self.entry1 = Entry(self, bg="#ffe599", width=80, font=("Helvetica", 25))
self.entry2 = Entry(self, bg="#a2b3d8", width=80, font=("Helvetica", 25))
self.entry1.pack()
self.entry2.pack(pady=20)
self.button = Button(self, text="Entrer", bg="#9999ff", width=20, height=1, fg="white", font=("Helvetica", 20),
command=saisie_utilisateur)
self.button.pack(pady=30)
frame = Interface(root)
def recuperer_scores() -> dict[str, int]:
chemin_scores = Path(NOM_FICHIER_SCORES)
if chemin_scores.exists and os.path.getsize(chemin_scores) > 0:
with chemin_scores.open("rb") as fichier_scores:
scores = pickle.load(fichier_scores)
else:
scores = {}
return scores
def enregistrer_scores(scores: dict[str, int]):
chemin_scores = Path(NOM_FICHIER_SCORES)
with chemin_scores.open("wb") as fichier_scores:
pickle.dump(scores, fichier_scores)
def enregistrer_nom_utilisateur() -> str:
frame.entry1.delete(0, END)
frame.entry1.insert(0, "Saississez votre pseudo dans l'encadré bleu.")
nom_utilisateur = saisie_utilisateur()
nom_utilisateur = nom_utilisateur.capitalize()
if not nom_utilisateur.isalnum():
frame.entry1.delete(0, END)
frame.entry1.insert(0, "Le pseudo saisi n'est pas valide.")
return enregistrer_nom_utilisateur()
else:
return nom_utilisateur
def recuperer_lettre() -> str:
lettre = input("\nSaississez une lettre contenue dans le mot caché:")
lettre = lettre.lower()
if not lettre.isalpha() or len(lettre) > 1:
print("\nVeuillez saisir une lettre valide:")
return recuperer_lettre()
else:
return lettre
def recuperer_mot_masque(mot_complet: str, lettres_trouvees: set[str]) -> str:
mot_masque = ""
for lettre in mot_complet:
if lettre in lettres_trouvees:
mot_masque += lettre
else:
mot_masque += "*"
return mot_masque
def choisir_mot() -> str:
mot_choisi = choice(liste_solutions)
return mot_choisi
root.mainloop()
enregistrer_nom_utilisateur()
error message:
Error:
C:\Users\Eli._.am\AppData\Local\Programs\Python\Python311\pythonw.exe "C:\Users\Eli._.am\PycharmProjects\1\Pendu Ameliore\fonctions.py"
Traceback (most recent call last):
File "C:\Users\Eli._.am\PycharmProjects\1\Pendu Ameliore\fonctions.py", line 97, in <module>
enregistrer_nom_utilisateur()
File "C:\Users\Eli._.am\PycharmProjects\1\Pendu Ameliore\fonctions.py", line 59, in enregistrer_nom_utilisateur
frame.entry1.delete(0, END)
File "C:\Users\Eli._.am\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 3105, in delete
self.tk.call(self._w, 'delete', first, last)
_tkinter.TclError: invalid command name ".!interface.!entry"