SuperImageEvolver.HardishMutator.MutateMultiplePoints C# (CSharp) Méthode

MutateMultiplePoints() public méthode

public MutateMultiplePoints ( Shape shape, Random rand, DNA dna, TaskState task ) : void
shape Shape
rand System.Random
dna DNA
task TaskState
Résultat void
        void MutateMultiplePoints( Shape shape, Random rand, DNA dna, TaskState task )
        {
            int index = rand.Next( shape.Points.Length );
            shape.Points[index] = MutatePoint( rand, dna, shape.Points[index], task );
            if( rand.Next( 2 ) == 0 ) {
                index = ( index + 1 ) % shape.Points.Length;
                shape.Points[index] = MutatePoint( rand, dna, shape.Points[index], task );
                if( rand.Next( 2 ) == 0 ) {
                    index = ( index + 1 ) % shape.Points.Length;
                    shape.Points[index] = MutatePoint( rand, dna, shape.Points[index], task );
                }
                dna.LastMutation = MutationType.AdjustPoints;
            } else {
                dna.LastMutation = MutationType.AdjustPoint;
            }
        }