// Connexion :: DistributionNode -> DistributuonNode public void ConnectDistributionToDistributionNode(DistributionNode amontNode, DistributionNode avalNode) { Line ConnexionLine = avalNode.GetInputLine; amontNode.AddOutputLineToList(ConnexionLine); ConnexionLine.SetInputNode(amontNode); ConnexionLine.SetOutputNode(avalNode); }
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); }
public PowerPlant(string Name) { name = Name; OutPutNode = new DistributionNode(String.Format(name + "_OutPutNode")); OutputLine = OutPutNode.GetInputLine; OutputLine.SetIsPowerPlantLine(true); OutputLine.SetOutputNode(OutPutNode); OutputLine.SetMyPowerPlant(this); OutputLine.SetName(Name + "_line"); OutputLine.SetPriorityLevel(4); battery = new Battery(Name + "_battery", this); }
///CREATION DE NOUVEAU NOEUD public DistributionNode CreateNewDistributionNode(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(CreateNewDistributionNode(newName)); } } DistributionNode NewDistributionNode = new DistributionNode(name); NodeList.Add(NewDistributionNode); LineList.Add(NewDistributionNode.GetInputLine); return(NewDistributionNode); }
// 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); } }
///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); }