from tkinter import * import random fenetre=Tk() fenetre['bg']='white' fenetre.title('choix') cn=Frame(fenetre,padx=50,pady=50, borderwidth=2, relief=GROOVE) cn.grid() nombre=StringVar() choix1=Radiobutton(cn,text='1',variable=nombre, value="1") choix1.grid(row=1,column=1) choix2=Radiobutton(cn,text='2',variable=nombre ,value="2") choix2.grid(row=1,column=2) choix3=Radiobutton(cn,text='3',variable=nombre,value="3") choix3.grid(row=1,column=3) B=20 I=0 J=0 def Jeu2(): global B global I global J if B!=1: J=nombre.get() J=int(J)#int() : permet de modifier une variable en entier. print("Vous avez pris",J,"batons.") B=B-J print("Il reste",B,"batons.") #if B<=1:#inutile #print("Vous avez gagné.")#inutile #else: print("Tour terminé,à l'IA de jouer.") if J==1: if B>1:#explication au procahin I=2 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"batons.")#rawinput pour creer pause a chaque tour, cliquer sur vlaider continue la fonction #choix1.deselect() while B!=1:#enlever while mettre sous forme variable avec decompte tour J=choix1.deselect() J=nombre.get () J=int() print("Vous avez pris",J,"batons.") B=B-J print("Il reste",B,"batons.") #choix1.deselect() if B<=1: print("Vous avez gagné.") break else: print("Tour terminé,à l'IA de jouer.") if B==8:#faille du programme le rendant battable--->corrigé I=3# print("L'IA a pris",I,"batons.")# B=B-I# print("Il reste",B,"batons.")# if B>6:#6 a la place de 4 car sinon lance la condition d au dessOus et celle ci I=4-J print("L'IA a pris",I,"baton(s).") B=B-I print("Il reste",B,"batons.") elif B<=4: if B==4: I=3 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"baton.") print("Vous avez perdu.") break if B==3: I=2 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"baton.") print("Vous avez perdu") break if B==2: I=1 print("L'IA a pris",I,"baton.") B=B-I print("Il reste",B,"baton.") print("Vous avez perdu") break if J==2: if B>1:#explciation au prochain I=1 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"batons.") while B!=1: J=nombre.get() J=int(J) print("Vous avez pris",J,"batons.") B=B-J print("Il reste",B,"batons.") if B<=1: print("Vous avez gagné.") break else: print("Tour terminé,à l'IA de jouer.") if B==8:#faille du programme le rendant battable--->corrigé I=3# print("L'IA a pris",I,"batons.")# B=B-I# print("Il reste",B,"batons.")# if B>6: I=4-J print("L'IA a pris",I,"baton(s).") B=B-I print("Il reste",B,"batons.") elif B<=4: if B==4: I=3 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"baton.") print("Vous avez perdu.") break if B==2: I=1 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"baton") print("Vous avez perdu") break if B==3: I=2 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"baton") print("Vous avez perdu") break if J==3: if B>1:#corrige le bug,qui avec cette combinaison 2,3,2,3,3, faisait continuer le programme en dessous de 1 car le precedent J est egale a 3 ce qui l'active, bug pas compris mais resolu I=3 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"batons.") while B!=1: J=nombre.get() J=int(J) print("Vous avez pris",J,"batons.") B=B-J print("Il reste",B,"batons.") if B<=1: print("Vous avez gagné.") break else: print("Tour terminé,à l'IA de jouer.") if B==8:#faille du programme le rendant battable--->corrigé I=3# print("L'IA a pris",I,"batons.")# B=B-I# print("Il reste",B,"batons.")# if B>6: I=4-J print("L'IA a pris",I,"baton(s).") B=B-I print("Il reste",B,"batons.") elif B<=4: if B==4: I=3 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"baton.") print("Vous avez perdu.") break if B==3: I=2 print("L'IA a pris",I,"batons.") B=B-I print("Il reste",B,"baton.") print("Vous avez perdu.") break if B==2: I=1 print("L'IA a pris",I,"baton.") B=B-I print("Il reste",B,"baton.") print("Vous avez perdu") break vali=Button(cn,text='valider',command=Jeu2) vali.grid(row=2,column=2,padx=5,pady=5) fenetre.mainloop()