public void WriteGene(Genome g, DataDictionary dd) { try { Sw.WriteLine("\"Genome\":{" + g.GenesToString() + ", " + dd.GetDataAsString(g.GenomeId) + "}"); }catch (NotImplementedException e) { Sw.WriteLine("\"Genome\":{" + g.GenesToString() + "}"); } }
public void WriteSpecies(List <Species> species, DataDictionary dd) { StringBuilder sb = new StringBuilder(); sb.Append("\"Species\":["); foreach (Species s in species) { long minFit = long.MinValue; Genome best = null; foreach (Genome g in s.Genomes) { if (g.Fitness > minFit) { minFit = g.Fitness; best = g; } } int[] scores = dd.GetScore(best.GenomeId); sb.Append("{\"Id\":").Append(s.SpeciesId) .Append(", \"Count\":").Append(s.Genomes.Count) .Append(", \"From\":").Append(s.FromGen) .Append(", \"Best\":{").Append("\"Genome\":"); WriteGene(sb, best, scores); sb.Append(", ") .Append(best.GenesToString()).Append(", ").Append(dd.GetDataAsString(best.GenomeId)).Append("}}, "); } sb.Remove(sb.Length - 2, 2); sb.Append("]"); Sw.WriteLine(sb.ToString()); }