PIbd-22_Chernyshev_G.J._29_.../Trolleybus/DrawingTriangleDoors.java
2023-11-13 21:25:33 +03:00

83 lines
4.3 KiB
Java

package Trolleybus;
import java.awt.*;
public class DrawingTriangleDoors implements IDrawingDoors{
private CntOfDoors _cntOfDoors;
public void SetCntOfDoors(int cnt) {
if (cnt <= 3) {
_cntOfDoors = CntOfDoors.Three;
}
if (cnt == 4) {
_cntOfDoors = CntOfDoors.Four;
}
if (cnt >= 5) {
_cntOfDoors = CntOfDoors.Five;
}
}
public void DrawDoors(Graphics2D g, Color BodyColor, int _startPosX, int _startPosY) {
switch (_cntOfDoors)
{
case Three:
g.setColor(BodyColor);
//Первая дверь
g.drawLine(_startPosX + 2, _startPosY + 80, _startPosX + 10, _startPosY + 50);
g.drawLine(_startPosX + 10, _startPosY + 50, _startPosX + 18, _startPosY + 80);
//Вторая дверь
g.drawLine(_startPosX + 67, _startPosY + 80, _startPosX + 75, _startPosY + 50);
g.drawLine(_startPosX + 75, _startPosY + 50, _startPosX + 83, _startPosY + 80);
//Третья дверь
g.drawLine(_startPosX + 132, _startPosY + 80, _startPosX + 140, _startPosY + 50);
g.drawLine(_startPosX + 140, _startPosY + 50, _startPosX + 148, _startPosY + 80);
g.setColor(Color.CYAN);
g.drawOval(_startPosX + 22, _startPosY + 35, 16, 24);
g.drawOval(_startPosX + 47, _startPosY + 35, 16, 24);
g.drawOval(_startPosX + 87, _startPosY + 35, 16, 24);
g.drawOval(_startPosX + 112, _startPosY + 35, 16, 24);
break;
case Four:
g.setColor(BodyColor);
//Первая дверь
g.drawLine(_startPosX + 2, _startPosY + 80, _startPosX + 10, _startPosY + 50);
g.drawLine(_startPosX + 10, _startPosY + 50, _startPosX + 18, _startPosY + 80);
//Вторая дверь
g.drawLine(_startPosX + 48, _startPosY + 80, _startPosX + 56, _startPosY + 50);
g.drawLine(_startPosX + 56, _startPosY + 50, _startPosX + 64, _startPosY + 80);
//Третья дверь
g.drawLine(_startPosX + 86, _startPosY + 80, _startPosX + 94, _startPosY + 50);
g.drawLine(_startPosX + 94, _startPosY + 50, _startPosX + 102, _startPosY + 80);
//Четвёртая дверь
g.drawLine(_startPosX + 132, _startPosY + 80, _startPosX + 140, _startPosY + 50);
g.drawLine(_startPosX + 140, _startPosY + 50, _startPosX + 148, _startPosY + 80);
g.setColor(Color.CYAN);
g.drawOval(_startPosX + 25, _startPosY + 35, 16, 24);
g.drawOval(_startPosX + 67, _startPosY + 35, 16, 24);
g.drawOval(_startPosX + 109, _startPosY + 35, 16, 24);
break;
case Five:
g.setColor(BodyColor);
//Первая дверь
g.drawLine(_startPosX + 2, _startPosY + 80, _startPosX + 10, _startPosY + 50);
g.drawLine(_startPosX + 10, _startPosY + 50, _startPosX + 18, _startPosY + 80);
//Вторая дверь
g.drawLine(_startPosX + 48, _startPosY + 80, _startPosX + 56, _startPosY + 50);
g.drawLine(_startPosX + 56, _startPosY + 50, _startPosX + 64, _startPosY + 80);
//Третья дверь
g.drawLine(_startPosX + 67, _startPosY + 80, _startPosX + 75, _startPosY + 50);
g.drawLine(_startPosX + 75, _startPosY + 50, _startPosX + 83, _startPosY + 80);
//Четвёртая дверь
g.drawLine(_startPosX + 86, _startPosY + 80, _startPosX + 94, _startPosY + 50);
g.drawLine(_startPosX + 94, _startPosY + 50, _startPosX + 102, _startPosY + 80);
//Пятая дверь
g.drawLine(_startPosX + 132, _startPosY + 80, _startPosX + 140, _startPosY + 50);
g.drawLine(_startPosX + 140, _startPosY + 50, _startPosX + 148, _startPosY + 80);
g.setColor(Color.CYAN);
g.drawOval(_startPosX + 25, _startPosY + 35, 16, 24);
g.drawOval(_startPosX + 109, _startPosY + 35, 16, 24);
break;
}
}
}