Пример #1
0
        public float calcMutationChance(float mutationChance, IOrganismo o)
        {
            if (settings.mutationType == ALifeConsts.MUTTYPE_OCCUPATION_RATIO)
            {
                float ratio = ((float)mundo.size())
                              / (settings.occupationRatio * settings.maxOrganismos);

                /*
                 * if (ratio<0.01f){ ratio=0.01f; }
                 */
                // return mutationChance2;
                return(ratio * mutationChance);
            }

            if (settings.mutationType == ALifeConsts.MUTTYPE_POSITIONAL_CENTER)
            {
                if (o == null)
                {
                    return(0);
                }
                float dif   = Math.abs(midPt - o.getY());
                float ratio = dif / midPt * mutationChance;
                return(ratio);
            }
            return(0);
        }