/// <summary> /// Combines two specimens to create a child /// </summary> /// <param name="A"></param> /// <param name="B"></param> /// <returns> Returns child specimen </returns> private Specimen CreateChild(Specimen A, Specimen B) /* TODO, optional: create a less lazy implementation - actually use the second specimen in child creation */ { int shAmount = _rng.Next(_ships.Count); Specimen C = new Specimen(_ships); for (var i = 0; i < shAmount; ++i) { C._shipCargo[i] = A._shipCargo[i]; } C.Repair(_containers); return(C); }