void Colour::approach(Colour c) { if (abs(c.red - red) <= 2 && abs(c.green - green) <= 2 && abs(c.blue - blue) <= 2) { red = c.red; green = c.green; blue = c.blue; return; } if (c.brightness() > brightness()) { red = (c.red + red * 2) / 3; green = (c.green + green * 2) / 3; blue = (c.blue + blue * 2) / 3; } else { red = (c.red + red * 2) / 3; green = (c.green + green * 2) / 3; blue = (c.blue + blue * 2) / 3; } }