47 lines
1.4 KiB
Java
47 lines
1.4 KiB
Java
import java.awt.*;
|
|
|
|
public class DrawingWavyEngines implements IDrawingEngines {
|
|
private EnginesCount enginesCount;
|
|
private Color color;
|
|
|
|
public DrawingWavyEngines(int count, Color bodyColor) {
|
|
setCount(count);
|
|
color = bodyColor;
|
|
}
|
|
|
|
@Override
|
|
public void setCount(int count) {
|
|
if(count <= 2) enginesCount = EnginesCount.Two;
|
|
else if(count >= 6) enginesCount = EnginesCount.Six;
|
|
else enginesCount = EnginesCount.Four;
|
|
}
|
|
|
|
private void drawEngine(Graphics2D g, int x, int y) {
|
|
g.setColor(color);
|
|
g.fillRect(x, y, 21, 10);
|
|
|
|
g.fillArc(x, y - 4, 7, 8, 0, 180);
|
|
g.fillArc(x + 7, y - 4, 7, 8, 0, 180);
|
|
g.fillArc(x + 14, y - 4, 7, 8, 0, 180);
|
|
|
|
g.fillArc(x, y + 6, 7, 8, 180, 180);
|
|
g.fillArc(x + 7, y + 6, 7, 8, 180, 180);
|
|
g.fillArc(x + 14, y + 6, 7, 8, 180, 180);
|
|
}
|
|
|
|
public void draw(Graphics2D g, int startPosX, int startPosY) {
|
|
drawEngine(g, startPosX + 84, startPosY + 10);
|
|
drawEngine(g, startPosX + 84, startPosY + 146);
|
|
|
|
if(enginesCount == EnginesCount.Two) return;
|
|
|
|
drawEngine(g, startPosX + 84, startPosY + 30);
|
|
drawEngine(g, startPosX + 84, startPosY + 125);
|
|
|
|
if(enginesCount == EnginesCount.Four) return;
|
|
|
|
drawEngine(g, startPosX + 84, startPosY + 50);
|
|
drawEngine(g, startPosX + 84, startPosY + 106);
|
|
}
|
|
}
|