public override string ToString( ) { var result = $"\n\n{V}\n\n"; result += string.Join("\n", Wins.Select(x => $"{x.Key,16} = {x.Value}")); result += $"\n\n\nHeritability Mean:\n{HeritabilityMean}\n"; result += $"\nHeritability Standard Deviation:\n{HeritabilitySd}\n"; var max = GenerationsCount.Values.Max( ); result += "\nGenerations Count:\n"; var count = GenerationsCount.Values .CumulativeSum( ) .ToList( ) .TakeUntil(x => x >= V.Runs) .Count( ); result += string.Join( "\n", GenerationsCount .Take(count) .Select(pair => $"{pair.Key,-3} {pair.Value,-5} " + $"{new string ( '█', pair.Value * 100 / max )}")); return(result); }
private void On_Timer_Tick(object sender, EventArgs e) { CheckGeneration(); ChangeState(); GenerationsCount?.Invoke(this, new EventArgs()); }