This commit is contained in:
Егор Пыжов 2024-02-27 13:59:00 +04:00
parent fac7aba105
commit 7fb5ba8c39
10 changed files with 24 additions and 35 deletions

View File

@ -2,19 +2,17 @@ import java.awt.*;
import java.util.Random;
public class DrawningCatamaran {
public EntityCatamaran entityCatamaran;
private EntityCatamaran entityCatamaran;
public EntityCatamaran getEntityCatamaran() {
return entityCatamaran;
}
private Integer _pictureWidth;
private Integer _pictureHeight;
private Integer _startPosX;
private Integer _startPosY;
private final int _drawingCatamaranWidth = 120;
private final int _drawingCatamaranHeight = 70;
private DrawningCatamaranPaddle _drawingCatamaranPaddle;
public EntityCatamaran EntityCatamaran() {
return entityCatamaran;
}
public DrawningCatamaranPaddle _drawingCatamaranPaddle;
public void Init(int speed, float weight, Color bodyColor, Color additionalColor, boolean floaters, boolean sail) {
entityCatamaran = new EntityCatamaran();
@ -24,7 +22,7 @@ public class DrawningCatamaran {
_pictureWidth = null;
_pictureHeight = null;
_drawingCatamaranPaddle = new DrawningCatamaranPaddle(entityCatamaran);
_drawingCatamaranPaddle = new DrawningCatamaranPaddle();
Random random = new Random();
int paddlesCount = random.nextInt(1,4);
_drawingCatamaranPaddle.setEnumNumber(paddlesCount);
@ -49,6 +47,8 @@ public class DrawningCatamaran {
if (_drawingCatamaranHeight > height || _drawingCatamaranWidth > width)
return false;
_pictureHeight = height;
_pictureWidth = width;
if (_startPosX != null && _startPosY != null)
{
@ -57,15 +57,10 @@ public class DrawningCatamaran {
if (_startPosY + _drawingCatamaranHeight > height)
_startPosY = height - _drawingCatamaranHeight;
}
_pictureHeight = height;
_pictureWidth = width;
return true;
}
public boolean moveTransport(DirectionType direction) {

View File

@ -2,14 +2,11 @@ import java.awt.*;
public class DrawningCatamaranPaddle {
private PaddlesCount _paddlesCount;
private final EntityCatamaran _entityCatamaran;
public DrawningCatamaranPaddle(EntityCatamaran entityCatamaran) {
_entityCatamaran = entityCatamaran;
}
public void setEnumNumber(int paddlesCount) {
for (PaddlesCount value : PaddlesCount.values()) {
if (value.enumNumber == paddlesCount) {
if (value.getEnumNumber() == paddlesCount) {
_paddlesCount = value;
return;
}
@ -22,7 +19,7 @@ public class DrawningCatamaranPaddle {
g2d.setColor(color);
g2d.setStroke(new BasicStroke(4));
int distanceBetweenPaddles = 27;
for (int i = 0; i < _paddlesCount.enumNumber; i++) {
for (int i = 0; i < _paddlesCount.getEnumNumber(); i++) {
int posX = (int)(startPosX + i * distanceBetweenPaddles); // Позиция X для текущей пары весел
drawPaddlePair(g2d, posX, (int)startPosY + 5);
@ -31,16 +28,7 @@ public class DrawningCatamaranPaddle {
}
private void drawPaddlePair(Graphics2D g2d, int posX, int posY) {
if (!_entityCatamaran.getFloaters()) {
g2d.drawLine(posX + 20, posY + 20, posX + 5, posY + 5); // Рисуем левое весло
g2d.drawLine(posX + 20, posY + 45, posX + 5, posY + 60); // Рисуем правое весло
} else {
g2d.drawLine(posX + 20, posY + 10, posX + 5, posY - 5); // Рисуем левое весло
g2d.drawLine(posX + 20, posY + 55, posX + 5, posY + 70); // Рисуем правое весло
}
g2d.drawLine(posX + 20, posY + 15, posX + 5, posY); // Рисуем левое весло
g2d.drawLine(posX + 20, posY + 50, posX + 5, posY + 65); // Рисуем правое весло
}
}

View File

@ -81,7 +81,7 @@ public class FormCatamaran extends JFrame {
}
private void Draw() {
if (_drawningCatamaran.EntityCatamaran() == null)
if (_drawningCatamaran.getEntityCatamaran() == null)
return;
if (PictureBox.getWidth() == 0 || PictureBox.getHeight() == 0) {
return;

View File

@ -10,7 +10,7 @@ public class Main {
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(500, 200);
frame.pack();
frame.setSize(1000, 500);
frame.setSize(700, 500);
frame.setVisible(true);
//TIP Press <shortcut actionId="ShowIntentionActions"/> with your caret at the highlighted text
// to see how IntelliJ IDEA suggests fixing it.

View File

@ -3,6 +3,12 @@ public enum PaddlesCount {
Two(2),
Three(3);
public final int enumNumber;
PaddlesCount(int i) {this.enumNumber = i;}
final private int EnumNumber;
PaddlesCount(int enumNumber) {
EnumNumber = enumNumber;
}
public int getEnumNumber() {
return EnumNumber;
}
}