BacteryControll[] FitnessFunction2() { var bs = Copy(bacteris); BacteryControll[] parent = new BacteryControll[2]; float dist = 1000; foreach (var i in bs) { float lDist = Vector3.Distance(i.transform.position, i.pointSelf.position); if (dist > lDist) { dist = lDist; parent[0] = i; } } dist = 1000; bs.Remove(parent[0]); foreach (var i in bs) { float lDist = Vector3.Distance(i.transform.position, i.pointSelf.position); if (dist > lDist) { dist = lDist; parent[1] = i; } Debug.Log(dist); } return(parent); }
BacteryControll[] FitnessFunction() { var bs = Copy(bacteris); BacteryControll[] parents = new BacteryControll[2]; //List<BacteryControll> maxLife = MaxTimeLife(bs); //if(maxLife.Count == 1) { // bs.Remove(maxLife[0]); // var maxLife2 = MaxTimeLife(bs); // parents[0] = maxLife[0]; // parents[1] = maxLife2[0]; // return parents; //} //if(maxLife.Count == 2) { // parents[0] = maxLife[0]; // parents[1] = maxLife[1]; // return parents; //} //if(maxLife.Count > 2) { var maxScore = MaxScore(bs); if (maxScore.Count == 1) { bs.Remove(maxScore[0]); var maxScore2 = MaxScore(bs); parents[0] = maxScore[0]; parents[1] = maxScore2[0]; return(parents); } else { parents[0] = maxScore[Random.Range(0, maxScore.Count)]; maxScore.Remove(parents[0]); parents[1] = maxScore[Random.Range(0, maxScore.Count)]; return(parents); } //} return(parents); }