public void ColorCheck(Chameleon partner) { for (int xC = 0; xC < Size.Width; xC++) { int ChameleonWidth = xC + Location.X; if (ChameleonWidth > partner.Location.X && ChameleonWidth < partner.Location.X + partner.Size.Width && Location.Y < partner.Location.Y + partner.Size.Height && Location.Y + Size.Height > partner.Location.Y) { if (Color == ChameleonTypes.Colors.Red && partner.Color == ChameleonTypes.Colors.Blue || Color == ChameleonTypes.Colors.Blue && partner.Color == ChameleonTypes.Colors.Red) { Color = ChameleonTypes.Colors.Green; partner.Color = ChameleonTypes.Colors.Green; } else if (Color == ChameleonTypes.Colors.Green && partner.Color == ChameleonTypes.Colors.Blue || Color == ChameleonTypes.Colors.Blue && partner.Color == ChameleonTypes.Colors.Green) { Color = ChameleonTypes.Colors.Red; partner.Color = ChameleonTypes.Colors.Red; } else if (Color == ChameleonTypes.Colors.Red && partner.Color == ChameleonTypes.Colors.Green || Color == ChameleonTypes.Colors.Green && partner.Color == ChameleonTypes.Colors.Red) { Color = ChameleonTypes.Colors.Blue; partner.Color = ChameleonTypes.Colors.Blue; } Speed = new Point(Speed.X * -1, Speed.Y * -1); partner.Speed = new Point(partner.Speed.X * -1, partner.Speed.Y * -1); } } }
public static List <Chameleon> GenerateChameleons(int red, int blue, int green) { Random rnd = new Random(); List <Chameleon> chameleons = new List <Chameleon>(); for (int r = 0; r < red; r++) { Point speed = new Point(rnd.Next(1, 4), rnd.Next(1, 4)); Chameleon chameleonRed = new Chameleon(new Size(20, 20), ChameleonTypes.Colors.Red, new Point(rnd.Next(1, 700 - 21), rnd.Next(1, 600 - 21)), speed); chameleons.Add(chameleonRed); } for (int b = 0; b < blue; b++) { Point speed = new Point(rnd.Next(1, 4), rnd.Next(1, 4)); Chameleon chameleonBlue = new Chameleon(new Size(20, 20), ChameleonTypes.Colors.Blue, new Point(rnd.Next(1, 700 - 21), rnd.Next(1, 600 - 21)), speed); chameleons.Add(chameleonBlue); } for (int g = 0; g < green; g++) { Point speed = new Point(rnd.Next(1, 4), rnd.Next(1, 4)); Chameleon chameleonGreen = new Chameleon(new Size(20, 20), ChameleonTypes.Colors.Green, new Point(rnd.Next(1, 700 - 21), rnd.Next(1, 600 - 21)), speed); chameleons.Add(chameleonGreen); } return(chameleons); }