PIbd-23_Mochalov_D.V._Locom.../ExtraStarWheelDraw.java

51 lines
1.7 KiB
Java
Raw Normal View History

2022-10-08 23:13:09 +04:00
import java.awt.*;
public class ExtraStarWheelDraw implements IDrawningExtra{
private WheelsCount wheelsCount = WheelsCount.Two;
private ExtraWheelsDraw extraWheelsDraw;
2022-10-08 23:13:09 +04:00
public void setExtraNum(int num) {
switch (num) {
case 0: {
wheelsCount = WheelsCount.Three;
break;
}
case 1: {
wheelsCount = WheelsCount.Four;
break;
}
default:
break;
}
}
public ExtraStarWheelDraw (int num, Color bodyColor) {
2022-10-08 23:13:09 +04:00
setExtraNum(num);
extraWheelsDraw = new ExtraWheelsDraw(num, bodyColor);
2022-10-08 23:13:09 +04:00
}
public void DrawExtra(int startPosX, int startPosY, Graphics2D g) {
extraWheelsDraw.DrawExtra(startPosX, startPosY, g);
2022-10-08 23:13:09 +04:00
DrawStarOnWheel(startPosX, startPosY + 30, g);
DrawStarOnWheel(startPosX + 90, startPosY + 30, g);
switch (wheelsCount) {
case Four: {
DrawStarOnWheel(startPosX + 70, startPosY + 30, g);
}
case Three: {
DrawStarOnWheel(startPosX + 20, startPosY + 30, g);
break;
}
default:
break;
}
}
private void DrawStarOnWheel(int startPosX, int startPosY, Graphics2D g) {
g.drawLine(startPosX + 10, startPosY, startPosX + 15, startPosY + 17);
g.drawLine(startPosX + 10, startPosY, startPosX + 5, startPosY + 17);
g.drawLine(startPosX + 15, startPosY + 17, startPosX + 2, startPosY + 8);
g.drawLine(startPosX + 5, startPosY + 17, startPosX + 18, startPosY + 8);
g.drawLine(startPosX + 2, startPosY + 8, startPosX + 18, startPosY + 8);
}
}