Example #1
0
        /// <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);
        }