private void NewDay() { SaveData(); int maximum = Entities.Count; GeneticData newData; for (int i = 0; i < maximum; i++) { if (Entities[i] is Animal animal) { if (animal is Rabbit rabbit) { rabbit.InHouse = false; } animal.Position = new Vector2f(10, Window.Size.Y / 2); for (int r = 1; r < animal.FoodQuantity; r++) { newData = animal.GeneticData.Copy(); if (rd.NextDouble() <= newData.MutationRate) { newData.Mutate(rd); } Entities.Add(NewRabbit(newData)); } animal.FoodQuantity = 0; } } WorldTime.NewDay(); if (AppleQuant-- < MinApples) { AppleQuant++; } SetFood(); foreach (Entity item in Entities) { if (item is Rabbit r) { r.shape.Scale += new Vector2f(1, 1); } } }