示例#1
0
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)
示例#2
0
    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())
示例#3
0
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
示例#4
0
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
示例#5
0
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
示例#6
0
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.)
示例#7
0
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)
示例#8
0
    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()
示例#9
0
import graphe

graph = graphe.Graphe("centresLocaux.txt")
graph.affichageGraph()