From 48e5277680d60f6ca2b30b88b525e06a9cba1110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=94=D0=BC=D0=B8?= =?UTF-8?q?=D1=82=D1=80=D0=B8=D0=B5=D0=B2?= Date: Tue, 25 Feb 2025 15:30:39 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/dmt/projectairbus/DrawningAirbus.java | 14 ++++++++++++-- src/main/java/dmt/projectairbus/EntityAirbus.java | 8 +++++++- src/main/java/dmt/projectairbus/FormAirbus.java | 10 +++++++++- src/main/resources/dmt/projectairbus/View.fxml | 2 ++ 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main/java/dmt/projectairbus/DrawningAirbus.java b/src/main/java/dmt/projectairbus/DrawningAirbus.java index c2709e5..8dabc2e 100644 --- a/src/main/java/dmt/projectairbus/DrawningAirbus.java +++ b/src/main/java/dmt/projectairbus/DrawningAirbus.java @@ -16,6 +16,7 @@ public class DrawningAirbus { private Integer pictureHeight; private Integer startPosX; private Integer startPosY; + private DrawningWindows drawningWindows; private final int drawningAirbusWidth = 155; private final int drawningAirbusHeight = 70; @@ -24,9 +25,14 @@ public class DrawningAirbus { return entityAirbus; } - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, boolean passengerSection, boolean engines) { + public DrawningWindows getDrawningWindows() { + return drawningWindows; + } + + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, boolean passengerSection, boolean engines, boolean windows) { entityAirbus = new EntityAirbus(); - entityAirbus.Init(speed, weight, bodyColor, additionalColor, passengerSection, engines); + entityAirbus.Init(speed, weight, bodyColor, additionalColor, passengerSection, engines, windows); + drawningWindows = new DrawningWindows(); pictureWidth = null; pictureHeight = null; startPosX = null; @@ -158,5 +164,9 @@ public class DrawningAirbus { g.fillOval(startPosX, startPosY + 30, 35, 15); g.strokeOval(startPosX, startPosY + 30, 35, 15); } + + if(entityAirbus.getWindows()) { + drawningWindows.drawWindows(g, startPosX + 40, startPosY + 35, entityAirbus.getAdditionalColor()); + } } } \ No newline at end of file diff --git a/src/main/java/dmt/projectairbus/EntityAirbus.java b/src/main/java/dmt/projectairbus/EntityAirbus.java index 754b3c5..856b591 100644 --- a/src/main/java/dmt/projectairbus/EntityAirbus.java +++ b/src/main/java/dmt/projectairbus/EntityAirbus.java @@ -54,6 +54,11 @@ public class EntityAirbus { return engines; } + private boolean windows; + public boolean getWindows() { + return windows; + } + /** * Шаг перемещения аэробуса */ @@ -70,12 +75,13 @@ public class EntityAirbus { * @param passengerSection Признак(опция) наличия доп. пассажирского отсека * @param engines Признак(опция) наличия доп. двигателей */ - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, boolean passengerSection, boolean engines) { + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, boolean passengerSection, boolean engines, boolean windows) { this.speed = speed; this.weight = weight; this.bodyColor = bodyColor; this.additionalColor = additionalColor; this.passengerSection = passengerSection; this.engines = engines; + this.windows = windows; } } diff --git a/src/main/java/dmt/projectairbus/FormAirbus.java b/src/main/java/dmt/projectairbus/FormAirbus.java index b9c0169..210f62b 100644 --- a/src/main/java/dmt/projectairbus/FormAirbus.java +++ b/src/main/java/dmt/projectairbus/FormAirbus.java @@ -5,6 +5,8 @@ import javafx.fxml.FXML; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.control.Button; +import javafx.scene.control.Spinner; +import javafx.scene.control.SpinnerValueFactory; import javafx.scene.paint.Color; import java.util.Random; @@ -17,12 +19,17 @@ public class FormAirbus { @FXML private Canvas mainCanvas; + @FXML + private Spinner spinnerSelector; + @FXML private void initialize() { drawningAirbus = new DrawningAirbus(); graphicsContext = mainCanvas.getGraphicsContext2D(); graphicsContext.setImageSmoothing(false); + spinnerSelector.setValueFactory(new SpinnerValueFactory.IntegerSpinnerValueFactory(10, 30, 10, 10)); + random = new Random(); } @@ -36,8 +43,9 @@ public class FormAirbus { random.nextInt(100, 300), random.nextInt(1000, 3000), Color.rgb(random.nextInt(0, 256), random.nextInt(0, 256), random.nextInt(0, 256)), Color.rgb(random.nextInt(0, 256), random.nextInt(0, 256), random.nextInt(0, 256)), - random.nextBoolean(), random.nextBoolean() + random.nextBoolean(), random.nextBoolean(), random.nextBoolean() ); + drawningAirbus.getDrawningWindows().setSpinnerBlockCount(spinnerSelector.getValue()); drawningAirbus.setPictureSize((int) mainCanvas.getWidth(), (int) mainCanvas.getHeight()); drawningAirbus.setPosition(random.nextInt(10, 100), random.nextInt(10, 100)); diff --git a/src/main/resources/dmt/projectairbus/View.fxml b/src/main/resources/dmt/projectairbus/View.fxml index 6cb6c36..99cfa3b 100644 --- a/src/main/resources/dmt/projectairbus/View.fxml +++ b/src/main/resources/dmt/projectairbus/View.fxml @@ -2,6 +2,7 @@ + @@ -16,5 +17,6 @@