private void drawPlayer( Graphics g, Location<Float> location, CluedoCharacter character, double step, boolean drawTransparent) { double diameter = step * PlayerDiameterRatio; final double characterBorderRatio = 1.2f; g.setColor(new Color(0.f, 0.f, 0.f, drawTransparent ? 0.2f : 1.f)); // Draw the black outline g.fillOval( round(location.x - diameter * characterBorderRatio / 2), round(location.y - diameter * characterBorderRatio / 2), round(diameter * characterBorderRatio), round(diameter * characterBorderRatio)); // Draw the character. g.setColor( new Color( character.colour().getRed(), character.colour().getGreen(), character.colour().getBlue(), drawTransparent ? 50 : 255)); g.fillOval( round(location.x - diameter / 2), round(location.y - diameter / 2), round(diameter), round(diameter)); }