public Simulation(Variables v, IStrategyCollection strategyCollection) { V = v; StrategyCollection = strategyCollection; Wins = new Dictionary <Winner, int> { [Winner.Cooperator] = 0, [Winner.Defector] = 0, [Winner.Cooperator | Winner.Fix] = 0, [Winner.Defector | Winner.Fix] = 0, [Winner.Tie] = 0 }; TimeStepsCount = Enumerable .Range(0, V.MaxTimeSteps + 1) .ToDictionary(x => x, x => 0); HeritabilitySummaries = new List <HeritabilitySummary> (V.Runs); HeritabilityMean = new HeritabilitySummary( ); HeritabilitySd = new HeritabilitySummary( ); if (V.IncludeConfidenceIntervals) { ConfidenceIntervalStats = new ConfidenceIntervalStats(V.MaxTimeSteps, V.Runs, V.Z); } }
public static void Simulate <TVersion> (Variables v, IStrategyCollection strategyCollection) where TVersion : Iteration, new () { var timer = Stopwatch.StartNew( ); var simulation = new Simulation <TVersion> (v, strategyCollection); simulation.LogRun(5, 2); simulation.Run( ); Console.WriteLine(simulation); Console.WriteLine(timer.Elapsed); Console.ReadLine( ); }