diff --git a/Pendue_que_j_ai_du_refaire_car_je_suis_con.py b/Pendue_que_j_ai_du_refaire_car_je_suis_con.py new file mode 100644 index 0000000..fc19901 --- /dev/null +++ b/Pendue_que_j_ai_du_refaire_car_je_suis_con.py @@ -0,0 +1,234 @@ +from tkinter import * +from random import randint +nb_raté=0 +moment_mort=2 +list_l_pendue=[] +lettre_à_supp=[] +lst_mot=[] +mot_aleatoire=42 +difficulté=4 +def mot_choisie(): + global list_l_pendue + global mot_tiret + global list_mot_pendue + global mot_affiche + global mot_aleatoire + global lst_mot + + list_mot_pendue=[] + mot_pendue= mot.get() + if len(lst_mot)!=0: + mot_pendue=mot_aleatoire + list_l_pendue=[] + mot_tiret=[] + for lettre_pendue in mot_pendue: + list_l_pendue.append(lettre_pendue) + mot_tiret.append("-") + list_mot_pendue.append(lettre_pendue) + + if len(list_l_pendue)>0: + débutant.config(state=NORMAL) + intermédiaire.config(state=NORMAL) + expert.config(state=NORMAL) + maître.config(state=NORMAL) + bouton_mot.config(state=DISABLED) + choix_mot.config(state=DISABLED,show="*") + mot_affiche=Label(pendue, text=mot_tiret).grid(row=3,column=1) + bouton_mot.config(state=DISABLED) + +def commencé(): + pendue_jeux(lettre.get()) + if sorted(list_l_pendue)==sorted(lettre_à_supp): + mot_affiche=Label(pendue, text="Vous avez gagnez le mot était "+str(mot.get())+mot_aleatoire).grid(row=3,column=1) + lettre_choix.config(state=DISABLED) + bouton_l.config(state=DISABLED) + elif moment_mort==0: + mot_affiche=Label(pendue, text="Vous êtes morts le mot était" +str(mot.get())+mot_aleatoire).grid(row=3,column=1) + lettre_choix.config(state=DISABLED) + bouton_l.config(state=DISABLED) + +def pendue_jeux(lettre_choisie): + global moment_mort + global difficulté + global list_l_pendue + global mot_tiret + global mot_affiche + global nb_raté + global lettre_à_supp + lettre_trouvé=[] + #recherche si la lettre est dans le mot + for i_lettre in range(len(list_l_pendue)): + if lettre_choisie==list_l_pendue[i_lettre].lower(): + lettre_à_supp.append(list_l_pendue[i_lettre]) + lettre_trouvé.append(list_l_pendue[i_lettre]) + + for i_changement in range(len(list_mot_pendue)): + if lettre_choisie==list_mot_pendue[i_changement].lower(): + mot_tiret[i_changement]=list_mot_pendue[i_changement] + #créer l'échaffaud + if len(lettre_trouvé) ==0: + moment_mort=moment_mort-1 + if difficulté==1: + créer_échaffaud(1+nb_raté) + nb_raté=nb_raté+1 + Label(pendue, text="Tu as "+str(choix.get())+" vies").grid(row=8,column=1) + elif difficulté==2: + créer_échaffaud(2+nb_raté) + nb_raté=nb_raté+2 + Label(pendue, text="Tu as "+str(choix.get())+" vies").grid(row=8,column=1) + elif difficulté==3: + créer_échaffaud(4+nb_raté) + nb_raté=nb_raté+4 + bouton_mot =Label(pendue, text="Tu as "+str(choix.get())+" vies").grid(row=8,column=1) + elif difficulté==4: + créer_échaffaud(8+nb_raté) + nb_raté=nb_raté+8 + Label(pendue, text="Tu as "+str(choix.get())+" vies").grid(row=8,column=1) + + mot_affiche=Label(pendue, text=mot_tiret).grid(row=3,column=1) + +def créer_échaffaud(nb_tour): + for tour_fait in range(nb_tour): + if tour_fait==0: + c.create_rectangle(50,700,500+400,700+20,fill="#000000")#base + elif tour_fait==1: + c.create_rectangle(50,700,70,750,fill="#000000")#pied_g + elif tour_fait==2: + c.create_rectangle(880,700,900,750,fill="#000000")#pied_d + elif tour_fait==3: + c.create_rectangle(200,700,200+25,700-600,fill="#000000")#poutre + elif tour_fait==4: + c.create_line(208,200,300,110,fill="#000000", width=25)#pente + elif tour_fait==5: + c.create_rectangle(200,100,200+500,100+20,fill="#000000")#barre_parralèle + elif tour_fait==6: + c.create_rectangle(675,100,200+500,100+200,fill="#000000")#corde + elif tour_fait==7: + c.create_oval(650,300,200+525,375,fill="#ffffff")#tête + elif tour_fait==8: + c.create_rectangle(685,375,690,375+125,fill="#000000")#corps + elif tour_fait==9: + c.create_line(685,380,650,450,fill="#000000", width=5)#bras_g + elif tour_fait==10: + c.create_line(690,380,720,450,fill="#000000", width=5)#bras_d + elif tour_fait==11: + c.create_line(687,495,650,570,fill="#000000", width=5)#j_g + elif tour_fait==12: + c.create_line(687,495,720,570,fill="#000000", width=5)#j_d + elif tour_fait==13: + c.create_oval(655,325,100+580,350,fill="#ffffff")#eye_g + elif tour_fait==14: + c.create_oval(695,325,720,350,fill="#ffffff")#eye_d + elif tour_fait==15: + c.create_oval(675,355,700,360,fill="#ffffff")#bouche + +def choix_niveau(): + global moment_mort + global difficulté + moment_mort=choix.get() + Label(pendue, text="Tu as "+str(choix.get())+" vies").grid(row=8,column=1) + if moment_mort==16: + difficulté=1 + elif moment_mort==8: + difficulté=2 + elif moment_mort==4: + difficulté=3 + elif moment_mort==2: + difficulté=4 + débutant.config(state=DISABLED) + intermédiaire.config(state=DISABLED) + expert.config(state=DISABLED) + maître.config(state=DISABLED) + lettre_choix.config(state=NORMAL) + bouton_l.config(state=NORMAL) + +def aleatoire(): + global mot_aleatoire + global lst_mot + lst_mot=["chou","Nouveaux","Pologne","vortex","Emmanuel","Nicolas","mot","pet","chat","chate","zebre","arbre","Donald","canard","bonjour","cote", + "Mexique","France","pomme","Solene","Alabama","anticonstitutionnelement","alcool","jumeau","jumelle","bourré","intergouvernementalisation","Creuse","Elise","abricot","beau","desert","Alaska","jolie","Henry","marche"] + mot_aleatoire=lst_mot[randint(0,len(lst_mot)-1)] + mot_choisie() + + + +def ai_pendue(): + global moment_mort + global difficulté + lst_lettre=["azertyuiopqsdfghjklmwxcvbn"]*26 + while True: + moment_mort=8 + difficulté=2 + i=0 + aleatoire() + lst_lettre_tire=[] + + while not(sorted(list_l_pendue)==sorted(lettre_à_supp) or moment_mort==0): + lettre_choisie=lst_lettre[i][randint(0,len(lst_lettre[i])-1)] + pendue_jeux(lettre_choisie) + lst_lettre_tire.append(lettre_choisie) + i=i+1 + if sorted(list_l_pendue)==sorted(lettre_à_supp): + print("gg") + for i in range(0,len(lst_lettre_tire)): + lst_lettre[i]=lst_lettre[i] + lst_lettre_tire[i] + + else: + for i_lst in range(0,len(lst_lettre_tire)): + + for i_lettre in range(0,len(lst_lettre[i_lst])): + nb_l_reajouter=-1 + if lst_lettre[i_lst][i_lettre] ==lst_lettre_tire[i_lst]: + nb_l_reajouter=nb_l_reajouter+1 + lst_lettre[i_lst]=lst_lettre[i_lst].replace(lst_lettre_tire[i_lst],"") +lst_lettre_tire[i_lst]*nb_l_reajouter + if len(lst_lettre[i_lst])==0: + lst_lettre[i_lst]="azertyuiopqsdfghjklmwxcvbn" + print(lst_lettre) + ##prog principal ## +############################################### +pendue= Tk() +c = Canvas(width=1000,height=900,bg="white") +c.grid(row=1,column=2,rowspan=8,columnspan=2) +pendue.title("""pendue""") + ##lettre## +############################################### +lettre = StringVar() + +lettre_choix=Entry(textvariable=lettre, bd = 5, state=DISABLED) +lettre_choix.grid(row=1,column=1) + +bouton_l=Button(text="Confirme ta lettre",command=commencé,state=DISABLED) +bouton_l.grid(row=2,column=1) + + + + ##niveau## +############################################### +choix=IntVar() +débutant=Radiobutton(text="Débutant",variable=choix,value=16,command=choix_niveau,state=DISABLED) +débutant.grid(row=4,column=1) + +intermédiaire=Radiobutton(text="Intermédiaire",variable=choix,value=8,command=choix_niveau,state=DISABLED) +intermédiaire.grid(row=5,column=1) + +expert=Radiobutton(text="Expert",variable=choix,value=4,command=choix_niveau,state=DISABLED) +expert.grid(row=6,column=1) + +maître=Radiobutton(text="Maître",variable=choix,value=2,command=choix_niveau,state=DISABLED) +maître.grid(row=7,column=1) + +solo=Button(text="Solo",command=aleatoire) +solo.grid(row=9,column=2) + ##Mot## +############################################### +mot=StringVar() +choix_mot=Entry(textvariable=mot,bd=5) +choix_mot.grid(row=9,column=1) +bouton_mot=Button(text="choisi ton mot",command= mot_choisie) +bouton_mot.grid(row=10,column=1) + ##Ia## +############################################## +lance_ia=Button(text="Lance l'ia",command= ai_pendue) +lance_ia.grid(row=9,column=3) +############################################## +pendue.mainloop() \ No newline at end of file