PIbd-21_Kryukov_A_I_Excavat.../src/DrawningExcavator.java
Алексей Крюков 7b0ffff8ac лаба 3
2023-12-18 20:31:50 +04:00

69 lines
2.9 KiB
Java

import java.awt.*;
public class DrawningExcavator extends DrawningTracktor {
public DrawningExcavator(int speed, double weight, Color bodyColor, boolean bucket, boolean supports, Color bucketColor , Color supportsColor, int width, int height, int rollersCount)
{
super(speed, weight, bodyColor, width, height, 110, 87, rollersCount);
if (getEntityTracktor() != null)
{
setEntityTracktor(new EntityExcavator(speed, weight, bodyColor,bucketColor,supportsColor, bucket, supports));
}
}
public DrawningExcavator(EntityExcavator entityExcavator, int width, int height, int countRollers, IDrawningRollers iDrawningRollers){
super(entityExcavator,width,height,countRollers,iDrawningRollers);
if(getEntityTracktor() != null){
setEntityTracktor(entityExcavator);
}
}
@Override
public void DrawTransport(Graphics2D g){
if (!(getEntityTracktor() instanceof EntityExcavator excavator))
{
return;
}
Color pen;
Color supportsBrush = excavator.getSupportsColor();
Color bucketBrush = excavator.getBucketColor();
if (excavator.getBucket())
{
pen = excavator.getBucketColor();
g.setStroke(new BasicStroke(5));
g.setColor(pen);
g.drawLine((int)_startPosX + 1, (int)_startPosY + 90, (int)_startPosX + 15, (int)_startPosY + 70);
g.drawLine((int)_startPosX + 15, (int)_startPosY + 72, (int)_startPosX + 15, (int)_startPosY + 50);
g.drawLine((int)_startPosX + 15, (int)_startPosY + 52, (int)_startPosX + 10, (int)_startPosY + 45);
g.drawLine((int)_startPosX + 15, (int)_startPosY + 60, (int)_startPosX + 40, (int)_startPosY + 50);
g.setStroke(new BasicStroke(1));
}
_startPosX += 20;
_startPosY += 5;
super.DrawTransport(g);
_startPosX -= 20;
_startPosY -= 5;
if (excavator.getSupports())
{
pen = Color.BLACK;
g.setColor(supportsBrush);
g.fillRect((int)_startPosX + 100, (int)_startPosY + 50, 10, 42);
g.setColor(pen);
g.drawRect((int)_startPosX + 100, (int)_startPosY + 50, 10, 42);
g.setColor(supportsBrush);
g.fillRect((int)_startPosX + 90, (int)_startPosY + 82, 30, 10);
g.setColor(pen);
g.drawRect((int)_startPosX + 90, (int)_startPosY + 82, 30, 10);
g.setColor(supportsBrush);
g.fillRect((int)_startPosX + 45, (int)_startPosY + 50, 10, 42);
g.setColor(pen);
g.drawRect((int)_startPosX + 45, (int)_startPosY + 50, 10, 42);
g.setColor(supportsBrush);
g.fillRect((int)_startPosX + 35, (int)_startPosY + 82, 30, 10);
g.setColor(pen);
g.drawRect((int)_startPosX + 35, (int)_startPosY + 82, 30, 10);
}
}
}