// select two random genomes from the list and cross them to make a child
        private static TankGenome DoCrossover(IReadOnlyList <TankGenome> genomes)
        {
            var a = genomes[Random.Next(genomes.Count)];
            var b = a;

            while (a == b)
            {
                b = genomes[Random.Next(genomes.Count)];
            }

            return(TankGenome.CrossOver(a, b));
        }