import java.awt.*; public class DrawningWheels { private WheelNumber wheelNumber; public void setWheelNumber(int number) { switch (number) { case 1: wheelNumber = WheelNumber.Four; break; case 2: wheelNumber = WheelNumber.Five; break; case 3: wheelNumber = WheelNumber.Six; break; default: wheelNumber = WheelNumber.Four; } } public void drawWheels(Graphics2D g2D, Color color, int _startPosX, int _startPosY) { switch (wheelNumber) { case Four: drawFourWheels(g2D, color, _startPosX, _startPosY); break; case Five: drawFiveWheels(g2D, color, _startPosX, _startPosY); break; case Six: drawSixWheels(g2D, color, _startPosX, _startPosY); break; } } private void drawFourWheels(Graphics2D g2D, Color color, int _startPosX, int _startPosY) { g2D.setColor(color); int wheelRadius = 10; g2D.drawOval(_startPosX + 30, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 30, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 56, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 56, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 84, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 84, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 110, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 110, _startPosY + 60, wheelRadius * 2, wheelRadius * 2); } private void drawFiveWheels(Graphics2D g2D, Color color, int _startPosX, int _startPosY) { g2D.setColor(color); int wheelRadius = 10; g2D.drawOval(_startPosX + 34, _startPosY + 55, wheelRadius, wheelRadius); g2D.fillOval(_startPosX + 34, _startPosY + 55, wheelRadius, wheelRadius); g2D.drawOval(_startPosX + 45, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 45, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 69, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 69, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 94, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 94, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 115, _startPosY + 55, wheelRadius, wheelRadius); g2D.fillOval(_startPosX + 115, _startPosY + 55, wheelRadius, wheelRadius); } private void drawSixWheels(Graphics2D g2D, Color color, int _startPosX, int _startPosY) { g2D.setColor(color); int wheelRadius = 10; g2D.drawOval(_startPosX + 34, _startPosY + 54, wheelRadius, wheelRadius); g2D.fillOval(_startPosX + 34, _startPosY + 54, wheelRadius, wheelRadius); g2D.drawOval(_startPosX + 35, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 35, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 58, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 58, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 82, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 82, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 105, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.fillOval(_startPosX + 105, _startPosY + 65, wheelRadius * 2, wheelRadius * 2); g2D.drawOval(_startPosX + 115, _startPosY + 54, wheelRadius, wheelRadius); g2D.fillOval(_startPosX + 115, _startPosY + 54, wheelRadius, wheelRadius); } }