void random_player_color(Player& p) { float h = (float)random(0, 100000) / 100000.0; float s = 0.95f; // high saturation float v = 1.0f; // max brightness float c = v * s; float x = c * (1 - fabsf(fmodf(h * 6.0f, 2) - 1)); float m = v - c; float r1=0, g1=0, b1=0; if (h < 1.0/6) { r1=c; g1=x; } else if (h < 2.0/6) { r1=x; g1=c; } else if (h < 3.0/6) { g1=c; b1=x; } else if (h < 4.0/6) { g1=x; b1=c; } else if (h < 5.0/6) { r1=x; b1=c; } else { r1=c; b1=x; } p.setColor( (unsigned char)((r1 + m) * 255), (unsigned char)((g1 + m) * 255), (unsigned char)((b1 + m) * 255)); }