Пример #1
0
        public ConcentrationNode CreateNewConcentrationNode(string name)
        {
            foreach (Node n in NodeList)
            {
                if (n.GetName == name)
                {
                    Console.WriteLine("Le noeud nommé {0} existe déjà. Entrez un nouveau nom :", name);
                    string newName = Console.ReadLine();
                    return(CreateNewConcentrationNode(newName));
                }
            }

            ConcentrationNode NewConcentrationNode = new ConcentrationNode(name);

            NodeList.Add(NewConcentrationNode);
            LineList.Add(NewConcentrationNode.GetOutputLine);

            PowerPlant shop = new PurchaseAbroad("shop_" + name, market);

            NewConcentrationNode.AddInputLineToList(shop.GetOutPutLine);
            shop.GetOutPutLine.SetOutputNode(NewConcentrationNode);
            shop.GetOutPutLine.SetIsMarketLine(true);

            return(NewConcentrationNode);
        }
Пример #2
0
        // Connexion :: ConcentrationNode -> ConcentrationNode
        public void ConnectConcentrationToConcentrationNode(ConcentrationNode amontNode, ConcentrationNode avalNode)
        {
            Line ConnexionLine = amontNode.GetOutputLine;

            avalNode.AddInputLineToList(ConnexionLine);

            ConnexionLine.SetInputNode(amontNode);
            ConnexionLine.SetOutputNode(avalNode);
        }
Пример #3
0
        ///CONNEXION DE 2 NOEUDS

        // Connexion :: ConcentrationNode -> DistributionNode
        public void ConnectConcentrationToDistributionNode(ConcentrationNode ConcentrationNode, DistributionNode DistributionNode)
        {
            // crée la ligne de connexion qui va etre la premiere ligne de la liste des lignes de sortie du noeud de concentration (la seule)
            Line ConnexionLine = ConcentrationNode.GetOutputLineList[0];


            DistributionNode.ResetInputLineList(ConnexionLine);
            DistributionNode.SetInputLine(ConnexionLine);
            ConnexionLine.SetInputNode(ConcentrationNode);
            ConnexionLine.SetOutputNode(DistributionNode);
        }
Пример #4
0
        public RESEAUX_1()
        {
            outsider   = new Manager();
            market     = new Market();
            clock      = new Clock();
            weather_bx = new Weather("Bruxelles", clock);
            weather_os = new Weather("Ostende", clock);

            // CREATION CENTRALES
            PowerPlant doel                = outsider.CreateNewNuclearPowerPlant("doel", market);
            PowerPlant parc_eolien_os      = outsider.CreateNewWindFarm("parc éolien de Ostende", weather_os);
            PowerPlant esso                = outsider.CreateNewGasPowerPlant("station à gaz esso", market);
            PowerPlant centrale_solaire_bx = outsider.CreateNewSolarPowerPlant("centrale solaire de bruxelles", weather_bx);
            PowerPlant shop1               = outsider.CreateNewPurchasedAbroad("shop1", market);

            // CREATION CONSOMATEUR
            Consumer bx = outsider.CreateNewCity("Bruxelles", 10, weather_bx);
            Consumer os = outsider.CreateNewCity("Ostende", 7, weather_os);

            Consumer ad = outsider.CreateNewEntreprise("Audi", 2);
            Consumer bm = outsider.CreateNewEntreprise("BMW", 5);
            Consumer vw = outsider.CreateNewEntreprise("VolksWagen", 3);
            Consumer mc = outsider.CreateNewEntreprise("Mercedes", 4);

            //CREATION DES PAIRES NOEUDS MID
            ConcentrationNode midC1 = outsider.CreateNewConcentrationNode("midC1");
            ConcentrationNode midC2 = outsider.CreateNewConcentrationNode("midC2");
            DistributionNode  midD1 = outsider.CreateNewDistributionNode("midD1");
            DistributionNode  midD2 = outsider.CreateNewDistributionNode("midD2");

            //Liaison des noeuds mid entre eux
            outsider.ConnectConcentrationToDistributionNode(midC1, midD1);
            outsider.ConnectConcentrationToDistributionNode(midC2, midD2);
            //Liaison des centrales aux noeuds mid
            outsider.ConnectDistributionToConcentrationNode("LINE_C1.1", doel.GetOutputNode, midC1);
            outsider.ConnectDistributionToConcentrationNode("LINE_C1.2", parc_eolien_os.GetOutputNode, midC1);
            outsider.ConnectDistributionToConcentrationNode("LINE_C2.1", parc_eolien_os.GetOutputNode, midC2);
            outsider.ConnectDistributionToConcentrationNode("LINE_C2.2", esso.GetOutputNode, midC2);
            outsider.ConnectDistributionToConcentrationNode("LINE_C2.3", centrale_solaire_bx.GetOutputNode, midC2);
            ///magasins
            outsider.ConnectDistributionToConcentrationNode("LINE_SHOPC1", shop1.GetOutputNode, midC1);
            outsider.ConnectDistributionToConcentrationNode("LINE_SHOPC2", shop1.GetOutputNode, midC2);

            //liaison des noeuds mid aux consumers
            outsider.ConnectDistributionToConcentrationNode("LINE_D1.1", midD1, bx.GetInputNode);
            outsider.ConnectDistributionToConcentrationNode("LINE_D1.2", midD1, os.GetInputNode);
            outsider.ConnectDistributionToConcentrationNode("LINE_D1.3", midD1, ad.GetInputNode);
            outsider.ConnectDistributionToConcentrationNode("LINE_D1.4", midD1, bm.GetInputNode);

            outsider.ConnectDistributionToConcentrationNode("LINE_D2.1", midD2, ad.GetInputNode);
            outsider.ConnectDistributionToConcentrationNode("LINE_D2.2", midD2, bm.GetInputNode);
            outsider.ConnectDistributionToConcentrationNode("LINE_D2.3", midD2, vw.GetInputNode);
            outsider.ConnectDistributionToConcentrationNode("LINE_D2.4", midD2, mc.GetInputNode);
        }
Пример #5
0
        public Consumer(string name)
        {
            this.name = name;

            inputNode = new ConcentrationNode(name + "_inputNode");
            inputLine = inputNode.GetOutputLine;
            inputLine.SetIsConsumerLine(true);
            inputLine.SetInputNode(inputNode);
            inputLine.SetName(name + "_line");

            inputLine.SetMyConsumer(this);

            alertMessage = "";
        }
Пример #6
0
        // Connexion :: DistributionNode -> ConcentrationNode
        public void ConnectDistributionToConcentrationNode(string ConnexionLineName, DistributionNode DistributionNode, ConcentrationNode ConcentrationNode)
        {
            foreach (Line l in LineList)
            {
                if (l.GetName == ConnexionLineName)
                {
                    Console.WriteLine("Le noeud nommé {0} existe déjà. Entrez un nouveau nom :", ConnexionLineName);
                    string newName = Console.ReadLine();
                    ConnectDistributionToConcentrationNode(newName, DistributionNode, ConcentrationNode);
                    break;
                }
            }
            // creation d'une nouvelle ligne
            Line ConnexionLine = new Line(ConnexionLineName);

            LineList.Add(ConnexionLine);

            if (DistributionNode.GetHasMarket)
            {
                ConnexionLine.SetIsMarketLine(true);
            }                                                                          //MarketList.Add(DistributionNode.GetMyMarket); }

            ConcentrationNode.AddInputLineToList(ConnexionLine);
            DistributionNode.AddOutputLineToList(ConnexionLine);

            ConnexionLine.SetInputNode(DistributionNode);
            ConnexionLine.SetOutputNode(ConcentrationNode);

            if (DistributionNode.GetInputLine.GetIsPowerPlantLine)
            {
                Line BatteryLine = DistributionNode.GetInputLine.GetMyPowerPlant.GetMyBattery.GetOutputLine;
                BatteryLine.SetMyBattery(DistributionNode.GetInputLine.GetMyPowerPlant.GetMyBattery);
                LineList.Add(BatteryLine);

                ConcentrationNode.AddInputLineToList(BatteryLine);

                BatteryLine.SetOutputNode(ConcentrationNode);
            }
        }