diff --git a/S1/Echecs/guiTk.py b/S1/Echecs/guiTk.py index 4dfc905..a0b11b8 100644 --- a/S1/Echecs/guiTk.py +++ b/S1/Echecs/guiTk.py @@ -1,5 +1,5 @@ from tkinter import * -from logique import LogiqueEchecs, LogiqueDames +from logique import * class PlateauTk: @@ -442,20 +442,50 @@ class FenetreTk: .grid(row=2, column=1, padx=3, pady=3) Button(self.fen, text="Quitter", command=self.fen.destroy)\ .grid(row=2, column=3, padx=3, pady=3) + self.fen.bind("", self.fen.destroy) - def statut(self, texte, delai=0): + def statut(self, texte): """ Change le message affiché. """ self.chaine.config(text=texte) # TODO Messages permanents et messages temporaires - # (exemple permanent : "Aux blancs de jouer", exemple - # temporaire "Vous ne pouvez pas jouer ici !") + # (exemple permanent : "Aux blancs de jouer", + # exemple temporaire "Vous ne pouvez pas jouer ici !") + + @staticmethod + def choixNvPartie(): + dialogue = Toplevel() + dialogue.geometry('+400+400') + dialogue.grab_set() + dialogue.title('Choix du mode') + + def fermer(): + dialogue.destroy() + + MODES = [('Échecs', 'Echecs'), ('Dames (International)', 'Dames'), \ + ('Dames (Anlaises)', 'DamesAnglaises')] + modeChoisi = StringVar() + modeChoisi.set(MODES[0][1]) + for texte, mode in MODES: + Radiobutton(dialogue, text=texte, variable=modeChoisi, value=mode).pack(anchor=W) + + Button(dialogue, text='Commencer !', command=fermer).pack(anchor=W) + dialogue.wait_window(dialogue) + + return modeChoisi.get() def nvPartie(self): """ Démarre une nouvelle partie. """ del self.plateau - self.plateau = PlateauTk( - self.fen, self.can, self.statut, LogiqueDames()) + choix = self.choixNvPartie() + if choix == 'Echecs': + logique = LogiqueEchecs() + elif choix == 'Dames': + logique = LogiqueDames() + elif choix == 'DamesAnglaises': + logique = LogiqueDamesAnglaises() + + self.plateau = PlateauTk(self.fen, self.can, self.statut, logique)