Пример #1
0
 def escape(event=None):
     if expert:
         clear(fenetre)
         barre_de_menu(lm_donne, menu)
     else:
         clear(fenetre)
         barre_de_menu(lm_proto_menu, menu)
Пример #2
0
 def postaction():
     ''' Actions à effectuer en sortie '''
     name = saisie.get()
     if DEBUG:
         print("sortie:", saisie.get())
     name_actif = sequence_active.name
     names = [seq.name for seq in liste_des_sequences]
     names = [n for n in names if n != name_actif]
     if name:
         if name in names:
             barre_de_message('Ce nom existe déjà', messager)
         else:
             barre_de_message('Séquence validée', messager)
     else:
         barre_de_message('Entrez un nom de séquence', messager)
         return None
     if sequence_active.is_invalide():
         mess = 'Filtres incompatibles'
         barre_de_message(mess, messager)
     else :    
         sequence_active.name = name
         barre_de_menu(lm_sequence, menu)
         liste_des_sequences.sort(key=lambda seq: seq.name)
         writesequences(liste_des_sequences)
         clear(fenetre)
Пример #3
0
 def escape(event=None):
     if expert :
         barre_de_menu(lm_sequence, menu)
         clear(fenetre)
     else :
         barre_de_menu(lm_proto_menu, menu)
         clear(fenetre)
Пример #4
0
 def conclure():
     if name.get():
         if DEBUG:
             print(var_pointH_min.get(), var_HLD_min.get())
             print(name.get())
         filtre = Filtre(name=name.get(),
                         pointH_min=var_pointH_min.get(),
                         pointH_max=var_pointH_max.get(),
                         trefle_min=trefle_min.get(),
                         trefle_max=trefle_max.get(),
                         carreau_min=carreau_min.get(),
                         carreau_max=carreau_max.get(),
                         coeur_min=coeur_min.get(),
                         coeur_max=coeur_max.get(),
                         pique_min=pique_min.get(),
                         pique_max=pique_max.get(),
                         points_totaux_min=var_HLD_min.get(),
                         points_totaux_max=var_HLD_max.get())
         liste_des_filtres.append(filtre)
         if isinstance(index_filtre, int):
             del liste_des_filtres[index_filtre]
         liste_des_filtres.sort(key=lambda filtre: filtre.name)
         writefiltres(liste_des_filtres)
         barre_de_menu(lm_filtre, menu)
         mess = "Filtre enregistré"
         barre_de_message(mess, messager)
         clear(fenetre)
Пример #5
0
def c_menu_rapide():
    global expert
    expert = False
    c_charger_donnes()
    clear(menu)
    barre_de_message("Menu des enchères", messager)
    barre_de_menu(lm_enchere_rapide, menu)
    initialise_encheres()
Пример #6
0
 def postaction():
     global sequence_active
     barre_de_menu(lm_sequence, menu)
     _supprimer_sequence(sequence_active)
     writesequences(liste_des_sequences)
     barre_de_message(f'{sequence_active.name} effacée', messager)
     sequence_active = None
     clear(fenetre)
Пример #7
0
 def supprimer():
     if DEBUG:
         print('supprimer')
     if askyesno(title='Etes-vous sûr ?',
                 message='Vous allez supprimez un filtre'):
         if DEBUG:
             print('oui')
         del liste_des_filtres[index_filtre]
         liste_des_filtres.sort(key=lambda filtre: filtre.name)
         clear(fenetre)
         barre_de_menu(lm_filtre, menu)
         mess = 'Le filtre a été supprimé'
         barre_de_message(mess, messager)
Пример #8
0
 def validate(event=None):
     text = var.get()
     if text:
         try:
             filename = "data/" + text + ".pak"
             with open(filename, "wb") as fichier:
                 pickle.dump(pack_actif, fichier)
             wlabel.destroy()
             wentree.destroy()
             barre_de_message(f"Fichier {filename[5:]} sauvegardé",
                              messager)
             barre_de_menu(lm_donne, menu)
         except IOError:
             barre_de_message("Problème d'entrée/sortie", messager)
Пример #9
0
 def validate(event=None):
     global pack_actif, index_pack
     try:
         saisie = int(saisir.get())
     except ValueError:
         mess = 'Entrez un entier stictement positif'
         barre_de_message(mess, messager)
         return None
     if saisie in range(1, 1000):
         mess = 'Cela prend parfois quelques instants'
         barre_de_message(mess, messager)
         messager.update()
         index_pack = 0
         if not sequence_active:
             pack_actif = [Donne() for i in range(saisie)]
         else:
             try :
                 pack_actif = []
                 for i in range(saisie):
                     donne = sequence_active.distribue()
                     donneur = vardonneur.get()
                     if donneur == 4 :
                         donne.donneur = randint(0,3)
                     else :    
                         donne.donneur = Position(donneur)
                     vul = varvul.get()
                     if vul == 4 :
                         donne.vul = randint(0,3)
                     else:    
                         donne.vul = Vulnerabilite(vul)
                     pack_actif.append(donne.identifiant())                              
             except InvalidSequence :
                 mess = "Séquence invalide "
                 barre_de_message(mess, messager)
                 clear(menu)
                 barre_de_menu(lm_sequence, menu)
                 clear(fenetre)
                 return None
         mess = 'Donnes distribuées'
         barre_de_message(mess, messager)
         if expert :
             barre_de_menu(lm_donne, menu)
             clear(fenetre)
         else :
             c_sauvegarder_donnes()
     else:
         mess = 'Entrez un entier compris entre 1 et 1000'
         barre_de_message(mess, messager)
Пример #10
0
 def postaction():
     global sequence_active
     ''' Actions à effectuer en sortie '''
     names = [seq.name for seq in liste_des_sequences]
     name = saisie.get()
     if name in names:
         mess = "Ce nom existe déjà !"
         barre_de_message(mess, messager)
     else:
         sequence.name = name
         sequence_active = sequence
         barre_de_menu(lm_sequence, menu)
         liste_des_sequences.append(sequence)
         liste_des_sequences.sort(key=lambda seq: seq.name)
         writesequences(liste_des_sequences)
         clear(fenetre)
Пример #11
0
 def postaction():
     global sequence_active
     ''' Actions à effectuer en sortie '''
     names = [seq.name for seq in liste_des_sequences]
     name = saisie.get()
     if name in names:
         mess = "Ce nom existe déjà !"
         barre_de_message(mess, messager)
     elif name == "":
         mess = 'Entrez un nom de séquence'
         barre_de_message(mess, messager)
     elif sequence.is_invalide():
         mess = 'Filtres incompatibles'
         barre_de_message(mess, messager)
     else:
         sequence.name = name
         sequence_active = sequence
         barre_de_menu(lm_sequence, menu)
         liste_des_sequences.append(sequence)
         liste_des_sequences.sort(key=lambda seq: seq.name)
         writesequences(liste_des_sequences)
         clear(fenetre)
Пример #12
0
 def validate(event=None):
     global pack_actif, index_pack
     try:
         saisie = int(saisir.get())
     except ValueError:
         mess = 'Entrez un entier stictement positif'
         barre_de_message(mess, messager)
         return None
     if saisie in range(1, 1000):
         mess = 'Cela prend parfois quelques instants'
         barre_de_message(mess, messager)
         messager.update()
         compteur = 0
         overflow = 0
         pack_actif = []
         index_pack = 0
         while compteur <= saisie and overflow < 100_000:
             donne = Donne()
             overflow += 1
             if (not sequence_active) or sequence_active.filtre(donne):
                 compteur += 1
                 pack_actif.append(donne.identifiant())
         if compteur == 0:
             mess = 'Filtres incompatibles'
             donne = Donne()
             pack_actif.append(donne.identifiant())
         elif compteur > 0:
             mess = 'Donnes rares. Uniquement ' + str(
                 compteur) + ' donnes distribuées'
         else:
             mess = 'Donnes distribuées'
         barre_de_message(mess, messager)
         barre_de_menu(lm_donne, menu)
         clear(fenetre)
     else:
         mess = 'Entrez un entier compris entre 1 et 1000'
         barre_de_message(mess, messager)
Пример #13
0
 def annul():
     barre_de_menu(lm_sequence, menu)
     clear(fenetre)
Пример #14
0
def menu_principal():
    image()
    barre_de_menu(lm_principale, menu)
    barre_de_message("Menu principal", messager)
Пример #15
0
 def escape(event=None):
     barre_de_menu(lm_sequence, menu)
     clear(fenetre)
Пример #16
0
 def escape(event=None):
     clear(fenetre)
     barre_de_menu(lm_donne, menu)
Пример #17
0
def c_gestion_donne():
    clear(menu)
    image()
    barre_de_message("Menu des donnes", messager)
    barre_de_menu(lm_donne, menu)
Пример #18
0
def proto_menu():
    image()
    barre_de_menu(lm_proto_menu, menu)
    barre_de_message("Menu principal", messager)
Пример #19
0
 def annuler():
     clear(fenetre)
     barre_de_menu(lm_filtre, menu)
Пример #20
0
 def postaction():
     barre_de_menu(lm_sequence, menu)
     barre_de_message(f'Séquence active : {sequence_active.name}', messager)
     clear(fenetre)
Пример #21
0
def c_regler_filtre(index_filtre=None):
    clear(menu)
    barre_de_message('Réglage du filtre', messager)
    def init_vars(selection):
        var_pointH_min.set(selection.pointH_min)
        var_pointH_max.set(selection.pointH_max)
        var_HLD_min.set(selection.points_totaux_min)
        var_HLD_max.set(selection.points_totaux_max)
        pique_min.set(selection.pique_min)
        pique_max.set(selection.pique_max)
        coeur_min.set(selection.coeur_min)
        coeur_max.set(selection.coeur_max)
        carreau_min.set(selection.carreau_min)
        carreau_max.set(selection.carreau_max)
        trefle_min.set(selection.trefle_min)
        trefle_max.set(selection.trefle_max)

    def conclure():
        if name.get():
            if DEBUG:
                print(var_pointH_min.get(), var_HLD_min.get())
                print(name.get())
            filtre = Filtre(name=name.get(),
                            pointH_min=var_pointH_min.get(),
                            pointH_max=var_pointH_max.get(),
                            trefle_min=trefle_min.get(),
                            trefle_max=trefle_max.get(),
                            carreau_min=carreau_min.get(),
                            carreau_max=carreau_max.get(),
                            coeur_min=coeur_min.get(),
                            coeur_max=coeur_max.get(),
                            pique_min=pique_min.get(),
                            pique_max=pique_max.get(),
                            points_totaux_min=var_HLD_min.get(),
                            points_totaux_max=var_HLD_max.get())
            mess = filtre.controle_couleurs()
            if mess :
                barre_de_message(mess, messager)
                init_vars(filtre)
                return None
            mess = filtre.controle_HLD()
            if mess :
                barre_de_message(mess, messager)
                init_vars(filtre)
                return None
            liste_des_filtres.append(filtre)
            if isinstance(index_filtre, int):
                del liste_des_filtres[index_filtre]
            liste_des_filtres.sort(key=lambda filtre: filtre.name)
            writefiltres(liste_des_filtres)
            barre_de_menu(lm_filtre, menu)
            mess = "Filtre enregistré"
            barre_de_message(mess, messager)
            clear(fenetre)

    def annuler():
        clear(fenetre)
        barre_de_menu(lm_filtre, menu)

    def supprimer():
        if DEBUG:
            print('supprimer')
        if askyesno(title='Etes-vous sûr ?',
                    message='Vous allez supprimez un filtre'):
            if DEBUG:
                print('oui')
            del liste_des_filtres[index_filtre]
            liste_des_filtres.sort(key=lambda filtre: filtre.name)
            writefiltres(liste_des_filtres)
            clear(fenetre)
            barre_de_menu(lm_filtre, menu)
            mess = 'Le filtre a été supprimé'
            barre_de_message(mess, messager)

    clear(fenetre)
    var_pointH_min, var_pointH_max = scale_couple(fenetre, 'Points H', 0, 40)
    var_HLD_min, var_HLD_max = scale_couple(fenetre, 'Points HLD', 1, 58)
    pique_min, pique_max = scale_couple(fenetre, 'Nombre de piques', 2)
    coeur_min, coeur_max = scale_couple(fenetre, 'Nombre de coeurs', 3)
    carreau_min, carreau_max = scale_couple(fenetre, 'Nombre de carreaux', 4)
    trefle_min, trefle_max = scale_couple(fenetre, 'Nombre de trèfles', 5)
    name = tk.StringVar(fenetre)
    tk.Label(fenetre, text='Nom du filtre').grid(row=10, column=0)
    tk.Entry(fenetre, textvariable=name).grid(row=10, column=1)
    if isinstance(index_filtre, int):
        selection = liste_des_filtres[index_filtre]
        name.set(selection.name)
        init_vars(selection)
        lm_regler_filtre = [['Sauvegarder', conclure],
                            ['Supprimer', supprimer],
                            ['Annuler', annuler]
                            ]   
    else:
        var_pointH_max.set(40)
        var_HLD_max.set(58)
        pique_max.set(13)
        coeur_max.set(13)
        carreau_max.set(13)
        trefle_max.set(13)
        lm_regler_filtre = [['Sauvegarder', conclure],
                            ['Annuler', annuler]
                            ]
    barre_de_menu(lm_regler_filtre, menu)
Пример #22
0
def c_sequence():
    clear(menu)
    image()
    barre_de_message("Menu des séquences", messager)
    barre_de_menu(lm_sequence, menu)
Пример #23
0
 def cancel():
     clear(menu)
     barre_de_menu(lm_donne, menu)
     clear(fenetre)
Пример #24
0
def c_gestion_filtre():
    clear(menu)
    image()
    barre_de_message("Menu des filtres", messager)
    barre_de_menu(lm_filtre, menu)
Пример #25
0
def c_enchérir():
    clear(menu)
    barre_de_message("Menu des enchères", messager)
    barre_de_menu(lm_enchere, menu)
    initialise_encheres()