def traite_argument(args): flag = 0 reseau = graphe.Graphe() if (args.metro != 0): chargement_lignes(reseau, "METRO_", args.metro) flag = 1 if (args.rer != 0): chargement_lignes(reseau, "RER_", args.rer) flag = 1 if (args.metro == 0) and (args.rer == 0): defaut_chargement(reseau) flag = 1 affiche_stats(reseau, flag) if (args.liste_stations) == []: affiche_stations(reseau) if (args.articulations == []): affiche_points_articulation(reseau) if (args.ponts == []): affiche_ponts(reseau) if (args.ameliorer_articulations == []): affiche_amelioration_articulation(reseau) if (args.ameliorer_ponts == []): affiche_amelioration_ponts(reseau)
def buttonClicked(self): sender = self.sender() num = int(sender.text()) - 1 if self.moteurJeu.option == 1: modulo = self.moteurJeu.nombreCoupsJoue() % self.moteurJeu.permutation dividende = self.moteurJeu.nombreCoupsJoue() / self.moteurJeu.permutation if modulo == 0 and self.moteurJeu.nombreCoupsJoue() > 0: if dividende*self.moteurJeu.permutation == self.moteurJeu.nombreCoupsJoue(): self.moteurJeu.permutationBras() self.moteurJeu.actionnerBrasJoueur(num) self.moteurJeu.lancerAlgo(1) self.moyenneBras[num].setText(str(format(self.moteurJeu.esperanceJoueur(num),'.2f'))) self.nombreFoisJoueBras[num].setText(str(self.moteurJeu.nombreFoisJoueBrasJoueur(num))) self.resultatGain.setText(str(format(self.moteurJeu.gain(0), '.2f'))) self.resultatNbCoupsJoue.setText(str(self.moteurJeu.nombreCoupsJoue())) self.affichageAlgo(1) if self.moteurJeu.nombreCoupsJoue() == self.moteurJeu.nbCoupsMax: self.labelGainEspere.setVisible(True) self.resultatGainEspere.setVisible(True) self.scrollArea.setVisible(False) self.boxJeu.addWidget(resultat.Resultat(self.moteurJeu)) self.principal.addWidget(graphe.Graphe(self.moteurJeu)) self.emit(QtCore.SIGNAL("change(int)"), self.size().height())
def creerGrapheFigure1(): "Crée le Graphe de la figure 1" g = graphe.Graphe("Graphe de la figure 1") s1 = g.ajouteSommet(1.0, 1.0) s2 = g.ajouteSommet(2.0, 3.5) s3 = g.ajouteSommet(2.5, 2.5) s4 = g.ajouteSommet(5.0, 2.0) g.connecte(s1, s2, 4.0, 90.) g.connecte(s1, s4, 5.2, 124.) g.connecte(s2, s3, 2.0, 54.) g.connecte(s2, s4, 5.0, 90.) return g
def pointsAleatoires(n, L): ''' Retourne un graphe sans arretes, constitue de n sommets positionnes aleatoirement dans un carre de cote L ''' g = graphe.Graphe("Graphe de la figure 2") for i in range(n): x = random.random() * (L + 1) - L * .5 y = random.random() * (L + 1) - L * .5 g.ajouteSommet(float(x), float(y)) return g
def creerGrapheFigure1(): '''Crée le Graphe de la figure 1''' g = graphe.Graphe("Graphe de la figure 1") s1 = g.ajouteSommet(1.0, 1.0,couleur=(1.,0.,0.)) s2 = g.ajouteSommet(2.0, 3.5,couleur=(1.,0.,0.)) s3 = g.ajouteSommet(2.5, 2.5,couleur=(1.,0.,0.)) s4 = g.ajouteSommet(5.0, 2.0,couleur=(1.,0.,0.)) g.connecte(s1, s2, 4.0, 90.,couleur=(0.,1.,0.)) g.connecte(s1, s4, 5.2, 124.,couleur=(0.,1.,0.)) g.connecte(s2, s3, 2.0, 54.,couleur=(0.,1.,0.)) g.connecte(s2, s4, 5.0, 90.,couleur=(0.,1.,0.)) return g
def testQuestion1_5(): ''' Teste l'affichage graphique d'un graphe identique à celui de la figure 1.ben couleur ''' g = graphe.Graphe("Graphe de la figure 1 colorée") s1 = g.ajouteSommet(1.0, 1.0, (1., 0., 1.)) s2 = g.ajouteSommet(2.0, 3.5, (0., 1., 0.)) s3 = g.ajouteSommet(2.5, 2.5, (0., 0., 1.)) s4 = g.ajouteSommet(5.0, 2.0, (0., 1., 1.)) g.connecte(s1, s2, 4.0, 90., (1., 1., 0.)) g.connecte(s1, s4, 5.2, 124., (1., 0., 0.)) g.connecte(s2, s3, 2.0, 54., (1., 1., 0.)) g.connecte(s2, s4, 5.0, 90., (1., 0., 0.)) graphique.affiche(g, (3., 2.), 100.)
def main(): # generer un environnement: # 1. definir les dims du plateau plateau = Environnement.ClassePlateau(50, 50) # 2. définir le nombre d obstacles nbObstacles = 200 env = Environnement.ClasseEnvironnement(plateau, nbObstacles) # 3. générer les obstacles env.genererListeObstacles() #print(len(env.listeDesObstacles)) # 4. tirer un sommet d arrivee env.genererArrivee() #pdb.set_trace() # 5. tirer un sommet de départ env.genererDepart() # validation ok: #print(env.depart.x) # 6. ajouter le necessaire pour que depart puisse etre ajoute dans la # pile de priorite env.depart.initDepart(env.arrivee) env.depart.mettreAJourClassement() # 7. marque le point d arrivee comme etant l arrivee (distance arrivee nulle) env.arrivee.initArrivee() print(dir(env.depart)) # 8. creer une pilie de prio liste_priorite_noeuds_en_traitement = PileDePriorite.ClassePileDePriorite() env.pile = liste_priorite_noeuds_en_traitement # validation ok: #print(liste_priorite_noeuds_en_traitement) # 9. la liste de noeuds traités, une bete liste liste_de_noeuds_traites = ListeAssociativeDeSommetsVisites.ListeAssociativeDeSommets( ) env.traite = liste_de_noeuds_traites # 10. il nous faut une structure qui represente le graphe en fournissant les voisins # d un noeud donné G = graphe.Graphe(env) resultat = astar.astar(G, env.depart, env.arrivee, liste_de_noeuds_traites, liste_priorite_noeuds_en_traitement)
def initUI(self): """ Fenetre principale de la gamezone """ self.principal = QtGui.QVBoxLayout() if self.moteurJeu.listAlgorithme[0].numAlgo == 0: boxGain = QtGui.QVBoxLayout() self.TabJoueur = self.initTabJoueur() boxGain.addWidget(self.TabJoueur) boxGain.addStretch(1) self.Algo = self.initAlgo() boxGain.addWidget(self.Algo) self.boxJeu = QtGui.QHBoxLayout() self.boxJeu.addLayout(boxGain) self.boxJeu.addStretch(1) widget = QtGui.QWidget() self.scrollArea = QtGui.QScrollArea() widget.setLayout(self.initBoutJoueur()) self.scrollArea.setWidget(widget) self.scrollArea.setFixedWidth(710) self.boxJeu.addWidget(self.scrollArea) self.principal.addLayout(self.boxJeu) else: zoneRes = QtGui.QHBoxLayout() zoneRes.addWidget(self.initAlgo()) self.auto() zoneRes.addStretch(1) zoneRes.addWidget(resultat.Resultat(self.moteurJeu)) self.principal.addLayout(zoneRes) self.principal.addWidget(graphe.Graphe(self.moteurJeu)) self.setLayout(self.principal) self.show()
import graphe graph = graphe.Graphe("centresLocaux.txt") graph.affichageGraph()