def play(self): ''' Lance l'algo de resolution de mots croisés Si une instance est déja en train de tourner il l'arrete et lance une nouvelle instance :return: None ''' self.resetButton.configure(state="normal") if self.algo.hasRun: self.algo.stop() self.raz() self.algo = Algo(queue=self.queue, grille=self.algo.grille, traceframe=self.traceFrame, algoName=self.algo.algoName, heuristique=self.algo.heur) self.master.master.algo = self.algo self.master.algo = self.algo self.algo.start() self.after(1000, self.process_queue) self.master.send_To_Trace( "nombre de mot sur la grille :" + str( len(self.algo.grille.mots_horizontaux + self.algo.grille.mots_verticaux)) + "\n", "curr") self.master.send_To_Trace( "nombre de mot dans les Domaines :" + str(self.algo.grille.get_Domaines_Sizes()) + "\n", "curr")
def __init__(self, master, algo=None): Frame.__init__(self, master) # Options pour l'ouverture/sauvegarde des fichiers self.openfileoptions = dict() self.openfileoptions['filetypes'] = [('Fichier Mots croisés', '.mc'), ('Tout les fichiers', '.*')] self.openfileoptions['initialfile'] = 'ma_grille.mc' #self.openfileoptions['initialdir'] = GRILLE_PATH self.openfileoptions['parent'] = master # Queue pour les Threads self.thread_queue = Queue() self.createMenu() self.algo = Algo(algoName="AC3") self.algo.setQueue(self.thread_queue) self.mainFrame = MainFrame(self, self.algo, self.thread_queue) self.mainFrame.pack(fill=BOTH, expand=True) self.filename = None
'VAL' ] for gr in GRILLE: for al in ALGO: for dic in DICO: times = [] print 'debut algo ' + str(al) + " " + str(dic[1]) + ' Grille :' + str(gr[1]) for i in range(5): dico = Dico(dic[0]) grille = Grille(gr[0]) grille.updateDico(dico) algo = Algo(grille=grille, algoName=al, stat=True) start = time.time() algo.start() algo.join(300) elapse = time.time() - start print 'fin ' + str(i+1) + ': ' + str(elapse) times += [elapse] fichier = open(PATHSAVE+"temps_" + gr[1] + "_" + al + ".stat", "a") fichier.write(dic[1]) moy = 0 for t in times: fichier.write(" "+str(t)) moy += t print 'moyenne :' + str(moy/5) fichier.write("\n") fichier.close()