public LeakageCalculatorAllAgents() { propertiesAvg = new Dictionary <LeakagePropertyType, LeakageProperty>(); foreach (LeakagePropertyType propertyType in Enum.GetValues(typeof(LeakagePropertyType))) { propertiesAvg[propertyType] = new LeakageProperty(propertyType); } }
public void CalculateLeakage(List <MapsAgent> mapsAgents) { foreach (MapsAgent chosen in mapsAgents) { List <MapsAgent> adversaries = new List <MapsAgent>(); foreach (MapsAgent a in mapsAgents) { if (a != chosen) { adversaries.Add(a); } } LeakageCalculatorOneAgent currAgentCalc = new LeakageCalculatorOneAgent(); currAgentCalc.CalculateLeakage(adversaries, chosen); foreach (LeakagePropertyType propertyType in Enum.GetValues(typeof(LeakagePropertyType))) { LeakageProperty avgProp = propertiesAvg[propertyType]; LeakageProperty currAgentProp = currAgentCalc.properties[propertyType]; avgProp.value += currAgentProp.percentage(); // at the end, this will sum all of the percantages of the agents' leakage avgProp.gt_value++; // at the end, this will be the amount of agents in the problem } } }