def changer_jeu(nom_jeu): global choix global jeu global partie global plateau_graphique global THEME choix.destroy() plateau_graphique.destroy() jeu = importe(nom_jeu) partie = c.Partie(jeu, joueurs) partie.plateau.initialisation() THEME = {} try: for clef, valeur in partie.plateau.Jeu.THEME.items(): photo = PhotoImage(file=dir + valeur) # ImageTk.PhotoImage(image) THEME[clef] = photo except: print("Pas de Thème configuré") print(THEME) plateau_graphique = affichage_init(partie.plateau, THEME) plateau_graphique.grid(row=0, column=0) partie.plateau.afficher() choix = choix_joueurs(saisie) choix.grid(row=4, column=0) texte.set(text="") texte.update()
def main(jeu, joueurs): """Initialize the interactive window and lauch the games""" partie = c.Partie(jeu, joueurs) partie.plateau.initialisation() partie.plateau.afficher() global num_tour num_tour = 0 root = Tk() THEME = {} try: for clef, valeur in partie.plateau.Jeu.THEME.items(): #image = Image.open(dir+valeur) photo = PhotoImage(file=dir + valeur) #ImageTk.PhotoImage(image) THEME[clef] = photo except: print("Pas de Thème configuré") print(THEME) saisie = Frame(root) texte = StringVar() message = Label(saisie, textvariable=texte) message.grid(column=0, row=2) action = StringVar(saisie) entree = Entry(saisie, textvariable=action, width=30) def agir(): global num_tour if not (partie.plateau.termine()): if partie.plateau.est_valide(action.get(), num_tour): partie.plateau.next(action.get(), num_tour) update(plateau_graphique, partie.plateau, THEME) texte.set(partie.plateau.message(num_tour, partie.joueurs)) partie.plateau.afficher() num_tour += 1 else: texte.set( partie.plateau.message(num_tour, partie.joueurs) + "\nLe coup entré n'est pas valide") else: texte.set(partie.plateau.resultat(partie.plateau)) if partie.plateau.termine(): texte.set(partie.plateau.resultat(partie.plateau)) print(entree.get()) jouer = Button(saisie, text="Jouer", command=agir) #entree.bind("<Return>", agir) plateau_graphique = affichage_init(partie.plateau, THEME) plateau_graphique.grid(row=0, column=0) entree.grid(column=0, row=0) jouer.grid(column=0, row=1) saisie.grid(row=0, column=1) texte.set(partie.plateau.message(num_tour, partie.joueurs)) root.mainloop()
def main(): """Set the window with parameters and interactions""" global root root = Tk() side = Frame(root) saisie = Frame(side) restart = Button(side, text="Nouvelle Partie", command=recommencer) global mode global nom_du_jeu global jeu global choix mode = IntVar() nom_du_jeu = StringVar() nom_du_jeu.set("dames") jeu = importe(nom_du_jeu.get()) top = Frame(side) def choix_joueurs(root): fond = Frame(root) if jeu.nb_joueurs == 1: vals = [0, 1] etiqs = ['Humain', 'IA'] for i in range(2): b = Radiobutton(fond, variable=mode, text=etiqs[i], value=vals[i]) b.pack(side='left', expand=1) if jeu.nb_joueurs == 2: vals = [0, 1, 2] etiqs = ['Humain vs Humain', 'Humain vs IA', 'IA vs IA'] for i in range(3): b = Radiobutton(fond, variable=mode, text=etiqs[i], value=vals[i]) b.pack(side='left', expand=1) return fond def parametres(root): fond = Frame(root) vals = [ 'dames', 'demineur', '2048', 'puissance_4', 'morpion', 'echecs', 'othello' ] etiqs = [ 'Dames', 'Démineur', '2048', 'Puissance 4', 'Morpion', 'Echecs', 'Othello' ] for i in range(7): b = Radiobutton(fond, variable=nom_du_jeu, text=etiqs[i], value=vals[i], command=lambda: changer_jeu(nom_du_jeu.get())) b.pack(side='left', expand=1) return fond settings = parametres(top) choix = choix_joueurs(saisie) global partie joueurs = ["Alice", "Bob"] partie = c.Partie(jeu, joueurs) settings.grid() choix.grid(row=4, column=0) partie.plateau.initialisation() partie.plateau.afficher() global num_tour num_tour = 0 global THEME THEME = {} try: for clef, valeur in partie.plateau.Jeu.THEME.items(): photo = PhotoImage(file=dir + valeur) #ImageTk.PhotoImage(image) THEME[clef] = photo except: print("Pas de Thème configuré") print(THEME) global texte texte = StringVar() message = Label(saisie, textvariable=texte) message.grid(column=0, row=2) action = StringVar(saisie) entree = Entry(saisie, textvariable=action, width=30) global plateau_graphique plateau_graphique = affichage_init(partie.plateau, THEME) def changer_jeu(nom_jeu): global choix global jeu global partie global plateau_graphique global THEME choix.destroy() plateau_graphique.destroy() jeu = importe(nom_jeu) partie = c.Partie(jeu, joueurs) partie.plateau.initialisation() THEME = {} try: for clef, valeur in partie.plateau.Jeu.THEME.items(): photo = PhotoImage(file=dir + valeur) # ImageTk.PhotoImage(image) THEME[clef] = photo except: print("Pas de Thème configuré") print(THEME) plateau_graphique = affichage_init(partie.plateau, THEME) plateau_graphique.grid(row=0, column=0) partie.plateau.afficher() choix = choix_joueurs(saisie) choix.grid(row=4, column=0) texte.set(text="") texte.update() jouer = Button(saisie, text="Jouer", command=lambda: agir(action.get())) top.grid(row=0, column=0) plateau_graphique.grid(row=0, column=0) entree.grid(column=0, row=0) jouer.grid(column=0, row=1) restart.grid(column=0, row=2) saisie.grid(row=1, column=0) side.grid(row=0, column=1) texte.set(partie.plateau.message(num_tour, partie.joueurs)) root.mainloop()