public void render(Renderer renderer) { Stroke stroke = new BasicStroke(2); renderer.setStroke(stroke); renderer.rotate(getX(), getY(), -getAngle()); renderer.drawCircle(getX(), getY(), NECK_RADIUS, getColor()); mouth.render( renderer, getX(), getY() + PIXEL_BUFFER + NECK_RADIUS + MOUTH_HEIGHT / 2, getColor()); // renderer.drawArc(getX(), getY() + PIXEL_BUFFER + NECK_RADIUS // + MOUTH_HEIGHT / 2, MOUTH_WIDTH, MOUTH_HEIGHT, 0, 90, // getColor()); // // renderer.drawArc(getX(), getY() + PIXEL_BUFFER + NECK_RADIUS // + MOUTH_HEIGHT / 2, MOUTH_WIDTH, MOUTH_HEIGHT, 180, -90, // getColor()); renderer.rotate(getX(), getY(), getAngle()); renderer.rotate( getXFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE), getYFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE), -getAngle()); renderer.fillRect( getXFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE), getYFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE), TAIL_RADIUS * 2, TAIL_RADIUS * 2, getColor()); renderer.rotate( getXFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE), getYFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE), getAngle()); for (int x = 0; x < getBodyParts().size(); x++) getBodyParts().get(x).render(renderer); }