From 0f2092b72cec67809482cb1d159bb7d2a0c62294 Mon Sep 17 00:00:00 2001 From: "ityurner02@mail.ru" Date: Fri, 4 Nov 2022 20:16:30 +0400 Subject: [PATCH 1/3] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20?= =?UTF-8?q?=D1=83=D1=81=D0=BB=D0=BE=D0=B6=D0=BD=D0=B5=D0=BD=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/antiaircraftgun/Direction.java | 27 ++ .../antiaircraftgun/DrawingArmoredCar.java | 130 ++++++++ .../antiaircraftgun/DrawingRollers.java | 58 ++++ .../antiaircraftgun/EntityArmoredCar.java | 38 +++ .../antiaircraftgun/FormArmoredCar.java | 305 ++++++++++++++++++ .../antiaircraftgun/HelloApplication.java | 23 -- .../antiaircraftgun/NumberRollers.java | 27 ++ .../src/main/resources/arrowDown.png | Bin 0 -> 245 bytes .../src/main/resources/arrowLeft.png | Bin 0 -> 257 bytes .../src/main/resources/arrowRight.png | Bin 0 -> 254 bytes .../src/main/resources/arrowUp.png | Bin 0 -> 234 bytes .../example/antiaircraftgun/hello-view.fxml | 6 + 12 files changed, 591 insertions(+), 23 deletions(-) create mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/Direction.java create mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java create mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingRollers.java create mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/EntityArmoredCar.java create mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/FormArmoredCar.java delete mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloApplication.java create mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/NumberRollers.java create mode 100644 AntiAircraftGun/src/main/resources/arrowDown.png create mode 100644 AntiAircraftGun/src/main/resources/arrowLeft.png create mode 100644 AntiAircraftGun/src/main/resources/arrowRight.png create mode 100644 AntiAircraftGun/src/main/resources/arrowUp.png create mode 100644 AntiAircraftGun/src/main/resources/com/example/antiaircraftgun/hello-view.fxml diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/Direction.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/Direction.java new file mode 100644 index 0000000..a1a4f28 --- /dev/null +++ b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/Direction.java @@ -0,0 +1,27 @@ +package com.example.antiaircraftgun; + +public enum Direction { + Up, + Down, + Left, + Right; + + public static Direction FromInteger(int intValue) + { + switch(intValue) + { + case 1: + return Up; + case 2: + return Down; + case 3: + return Left; + case 4: + return Right; + default: + System.out.println("Error: incorrect value!"); + return Up; + } + } +} + diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java new file mode 100644 index 0000000..e7ef116 --- /dev/null +++ b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java @@ -0,0 +1,130 @@ +package com.example.antiaircraftgun; + +import javafx.scene.canvas.GraphicsContext; +import javafx.scene.paint.Color; + +public class DrawingArmoredCar +{ + private EntityArmoredCar _armoredCar; + private DrawingRollers _drawingRollers; + private float _startPosX; + private float _startPosY; + private Integer _pictureWidth; + private Integer _pictureHeight; + private int _armoredCarWidth = 90; + private int _armoredCarHeight = 40; + + public EntityArmoredCar GetArmoredCar() + { + return _armoredCar; + } + public DrawingRollers GetDrawningRollers() + { + return _drawingRollers; + } + + public void Init(int speed, float weight, Color bodyColor) + { + _armoredCar = new EntityArmoredCar(); + _armoredCar.Init(speed, weight, bodyColor); + + _drawingRollers = new DrawingRollers(); + _drawingRollers.Init(bodyColor); + } + + public void SetPosition(int x, int y, int width, int height) + { + if (x < 0 || y < 0) { + return; + } + + if (x + _armoredCarWidth > width || y + _armoredCarHeight > height) { + return; + } + + _startPosX = x; + _startPosY = y; + + _pictureWidth = width; + _pictureHeight = height; + } + + public void MoveTransport(Direction direction) + { + if (_pictureWidth == null || _pictureHeight == null) { + return; + } + + switch (direction) { + case Up: + if (_startPosY - _armoredCar.GetStep() > 0) { + _startPosY -= _armoredCar.GetStep(); + } + break; + + case Down: + if (_startPosY + _armoredCarHeight + _armoredCar.GetStep() < _pictureHeight) { + _startPosY += _armoredCar.GetStep(); + } + break; + + case Left: + if (_startPosX - _armoredCar.GetStep() > 0) { + _startPosX -= _armoredCar.GetStep(); + } + break; + + case Right: + if (_startPosX + _armoredCarWidth + _armoredCar.GetStep() < _pictureWidth) { + _startPosX += _armoredCar.GetStep(); + } + break; + + default: + break; + } + } + + public void DrawTransport(GraphicsContext gc) + { + if (_startPosX < 0 || _startPosY < 0 || _pictureWidth == null || _pictureHeight == null) { + return; + } + + // Броня + gc.setStroke(Color.BLACK); + gc.setLineWidth(2); + gc.setFill(_armoredCar.GetBodyColor()); + gc.fillRect(_startPosX + 25, _startPosY, 40, 10); + gc.fillRect(_startPosX + 5, _startPosY + 10, 80, 10); + gc.strokeRect(_startPosX + 25, _startPosY, 40, 10); + gc.strokeRect(_startPosX + 5, _startPosY + 10, 80, 10); + + // Гусеницы + gc.setFill(Color.GRAY); + gc.fillRect(_startPosX + 10, _startPosY + 20, 70, 20); + gc.fillOval(_startPosX, _startPosY + 20, 20, 20); + gc.fillOval(_startPosX + 70, _startPosY + 20, 20, 20); + _drawingRollers.DrawRollers(gc, _startPosX, _startPosY); + } + + public void ChangeBorders(int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + + if (_pictureWidth <= _armoredCarWidth || _pictureHeight <= _armoredCarHeight) { + _pictureWidth = null; + _pictureHeight = null; + return; + } + + if (_startPosX + _armoredCarWidth > _pictureWidth) { + _startPosX = _pictureWidth - _armoredCarWidth; + } + + if (_startPosY + _armoredCarHeight > _pictureHeight) { + _startPosY = _pictureHeight - _armoredCarHeight; + } + } +} diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingRollers.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingRollers.java new file mode 100644 index 0000000..935a54b --- /dev/null +++ b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingRollers.java @@ -0,0 +1,58 @@ +package com.example.antiaircraftgun; + +import javafx.scene.canvas.GraphicsContext; +import javafx.scene.paint.Color; + +public class DrawingRollers { + private Color _RollersColor; + private NumberRollers _numRollers; + public void SetNumberRollers(int numberRollers) + { + _numRollers = NumberRollers.FromInteger(numberRollers); + } + public void Init(Color trackRollersColor) + { + _RollersColor = trackRollersColor; + } + + public void DrawRollers(GraphicsContext gc, float startPosX, float startPosY) { + if (_RollersColor == null) { + return; + } + + gc.setFill(_RollersColor); + + switch (_numRollers) { + case Four: + DrawRoller1(gc, startPosX, startPosY); + break; + + case Five: + DrawRoller1(gc, startPosX, startPosY); + DrawRoller2(gc, startPosX, startPosY); + break; + + case Six: + DrawRoller1(gc, startPosX, startPosY); + DrawRoller2(gc, startPosX, startPosY); + DrawRoller3(gc, startPosX, startPosY); + break; + } + } + void DrawRoller1(GraphicsContext gc, float startPosX, float startPosY) { + gc.setFill(_RollersColor); + gc.fillOval(startPosX +1, startPosY + 21, 18, 18); + gc.fillOval(startPosX + 69, startPosY + 21, 18, 18); + gc.fillOval(startPosX + 19, startPosY + 30, 11, 11); + gc.fillOval(startPosX + 58, startPosY + 30, 11, 11); + } + void DrawRoller2(GraphicsContext gc, float startPosX, float startPosY) { + gc.setFill(_RollersColor); + gc.fillOval(startPosX + 45, startPosY + 30, 11, 11); + } + void DrawRoller3(GraphicsContext gc, float startPosX, float startPosY) { + gc.setFill(_RollersColor); + gc.fillOval(startPosX + 32, startPosY + 30, 11, 11); + } +} + diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/EntityArmoredCar.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/EntityArmoredCar.java new file mode 100644 index 0000000..ecbd464 --- /dev/null +++ b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/EntityArmoredCar.java @@ -0,0 +1,38 @@ +package com.example.antiaircraftgun; + +import javafx.scene.paint.Color; +import java.util.Random; + +public class EntityArmoredCar +{ + private int _speed; + private float _weight; + private Color _bodyColor; + public int GetSpeed() + { + return _speed; + } + + public float GetWeight() + { + return _weight; + } + + public Color GetBodyColor() + { + return _bodyColor; + } + + public float GetStep() + { + return _speed * 100 / _weight; + } + + public void Init(int speed, float weight, Color bodyColor) + { + Random random = new Random(); + _speed = speed <= 0 ? random.nextInt(100) + 50 : speed; + _weight = weight <= 0 ? random.nextInt(30) + 40 : weight; + _bodyColor = bodyColor; + } +} diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/FormArmoredCar.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/FormArmoredCar.java new file mode 100644 index 0000000..494c84f --- /dev/null +++ b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/FormArmoredCar.java @@ -0,0 +1,305 @@ +package com.example.antiaircraftgun; + +import javafx.application.Application; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.canvas.Canvas; +import javafx.scene.canvas.GraphicsContext; +import javafx.scene.control.Button; +import javafx.scene.control.ComboBox; +import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Pane; +import javafx.scene.paint.Color; +import javafx.stage.Stage; + +import java.io.IOException; +import java.util.Random; + +public class FormArmoredCar extends Application +{ + private Pane _root; + private Scene _scene; + private Canvas _canvas; + private HBox _hBox; + private Button _buttonCreate; + private Button _buttonUp; + private Button _buttonDown; + private Button _buttonLeft; + private Button _buttonRight; + private Label _labelSpeedValue; + private Label _labelWeightValue; + private Label _labelBodyColorValue; + private ComboBox _comboBoxNumRollers; + private double _hBoxHeight; + private double _buttonCreateHeight; + private final int _buttonMoveWidth = 30; + private final int _buttonMoveHeight = 30; + private final int _distanceBetweenMoveButtons = 5; + private final double _buttonMargin = 10.0; + private DrawingArmoredCar _armoredCar; + + @Override + public void start(Stage stage) throws IOException + { + FXMLLoader fxmlLoader = new FXMLLoader(FormArmoredCar.class.getResource("hello-view.fxml")); + _scene = new Scene(fxmlLoader.load(), 600, 400); + + _root = (Pane) _scene.lookup("#root"); + _root.setStyle("-fx-background-color: #31374c;"); + + _canvas = new Canvas(); + _root.getChildren().add(_canvas); + + InitHBox(); + InitButtonCreate(); + InitMoveButtons(); + + stage.setTitle("AntiAircraftGun"); + stage.setScene(_scene); + + _scene.widthProperty().addListener((obs, oldVal, newVal) -> { + UpdateGUI(); + if (_armoredCar != null) + { + _armoredCar.ChangeBorders((int) _canvas.getWidth(), (int) _canvas.getHeight()); + } + Draw(); + }); + + _scene.heightProperty().addListener((obs, oldVal, newVal) -> { + UpdateGUI(); + if (_armoredCar != null) + { + _armoredCar.ChangeBorders((int) _canvas.getWidth(), (int) _canvas.getHeight()); + } + Draw(); + }); + + _root.applyCss(); + _root.layout(); + + stage.setOnShowing(event -> { + _hBoxHeight = _hBox.getHeight(); + _buttonCreateHeight = _buttonCreate.getHeight(); + UpdateGUI(); + Draw(); + }); + + stage.show(); + } + + private void InitHBox() + { + _hBox = new HBox(); + _hBox.setStyle("-fx-background-color: #31374c;"); + _root.getChildren().add(_hBox); + + Label labelSpeed = new Label("Speed:"); + labelSpeed.setStyle("-fx-text-fill: #b8becc; -fx-padding: 5 5 5 5;"); + _hBox.getChildren().add(labelSpeed); + + _labelSpeedValue = new Label("-"); + _labelSpeedValue.setStyle("-fx-text-fill: #ffffff; -fx-padding: 5 5 5 0; -fx-font-weight: bold;"); + _hBox.getChildren().add(_labelSpeedValue); + + Label labelWeight = new Label("Weight:"); + labelWeight.setStyle("-fx-text-fill: #b8becc; -fx-padding: 5 5 5 5;"); + _hBox.getChildren().add(labelWeight); + + _labelWeightValue = new Label("-"); + _labelWeightValue.setStyle("-fx-text-fill: #ffffff; -fx-padding: 5 5 5 0; -fx-font-weight: bold;"); + _hBox.getChildren().add(_labelWeightValue); + + Label labelHullColor = new Label("Color:"); + labelHullColor.setStyle("-fx-text-fill: #b8becc; -fx-padding: 5 5 5 5;"); + _hBox.getChildren().add(labelHullColor); + + _labelBodyColorValue = new Label("-"); + _labelBodyColorValue.setStyle("-fx-text-fill: #ffffff; -fx-padding: 5 5 5 0; -fx-font-weight: bold;"); + _hBox.getChildren().add(_labelBodyColorValue); + + Label labelNumRollers = new Label("Rollers:"); + labelNumRollers.setStyle("-fx-text-fill: #b8becc; -fx-padding: 5 5 5 5;"); + _hBox.getChildren().add(labelNumRollers); + + ObservableList optionsForNumRollers = FXCollections.observableArrayList("4", "5", "6"); + _comboBoxNumRollers = new ComboBox<>(optionsForNumRollers); + _comboBoxNumRollers.setValue("4"); + + _comboBoxNumRollers.setOnAction(e -> { + if (_armoredCar != null) { + _armoredCar.GetDrawningRollers().SetNumberRollers(Integer.parseInt(_comboBoxNumRollers.getValue())); + Draw(); + } + }); + + _hBox.getChildren().add(_comboBoxNumRollers); + } + private void InitButtonCreate() + { + _buttonCreate = new Button("Create"); + _buttonCreate.setTranslateX(_buttonMargin); + _root.getChildren().add(_buttonCreate); + + _buttonCreate.setOnAction(e -> { + Random rnd = new Random(); + + _armoredCar = new DrawingArmoredCar(); + _armoredCar.Init(rnd.nextInt(200) + 100, rnd.nextInt(1000) + 1000, + Color.rgb(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256))); + _armoredCar.SetPosition(rnd.nextInt(90) + 10, rnd.nextInt(90)+10, + (int) _canvas.getWidth(), (int) _canvas.getHeight()); + + _armoredCar.GetDrawningRollers().SetNumberRollers(Integer.parseInt(_comboBoxNumRollers.getValue())); + + _labelSpeedValue.setText(Integer.toString(_armoredCar.GetArmoredCar().GetSpeed())); + _labelWeightValue.setText(Double.toString(_armoredCar.GetArmoredCar().GetWeight())); + _labelBodyColorValue.setText(_armoredCar.GetArmoredCar().GetBodyColor().toString()); + + Draw(); + }); + } + private void InitMoveButtons() + { + Image img; + ImageView view; + + // Button "Up" + _buttonUp = new Button(); + + img = new Image("arrowUp.png"); + view = new ImageView(img); + view.setFitHeight(14); + view.setFitWidth(14); + _buttonUp.setGraphic(view); + + _buttonUp.setPrefWidth(_buttonMoveWidth); + _buttonUp.setPrefHeight(_buttonMoveHeight); + + _buttonUp.setOnAction(e -> { + if (_armoredCar != null) { + _armoredCar.MoveTransport(Direction.Up); + Draw(); + } + }); + + _root.getChildren().add(_buttonUp); + + // Button "Down" + _buttonDown = new Button(); + + img = new Image("arrowDown.png"); + view = new ImageView(img); + view.setFitHeight(14); + view.setFitWidth(14); + _buttonDown.setGraphic(view); + + _buttonDown.setPrefWidth(_buttonMoveWidth); + _buttonDown.setPrefHeight(_buttonMoveHeight); + + _buttonDown.setOnAction(e -> { + if (_armoredCar != null) { + _armoredCar.MoveTransport(Direction.Down); + Draw(); + } + }); + + _root.getChildren().add(_buttonDown); + + // Button "Left" + _buttonLeft = new Button(); + + img = new Image("arrowLeft.png"); + view = new ImageView(img); + view.setFitHeight(14); + view.setFitWidth(14); + _buttonLeft.setGraphic(view); + + _buttonLeft.setPrefWidth(_buttonMoveWidth); + _buttonLeft.setPrefHeight(_buttonMoveHeight); + + _buttonLeft.setOnAction(e -> { + if (_armoredCar != null) { + _armoredCar.MoveTransport(Direction.Left); + Draw(); + } + }); + + _root.getChildren().add(_buttonLeft); + + // Button "Right" + _buttonRight = new Button(); + + img = new Image("arrowRight.png"); + view = new ImageView(img); + view.setFitHeight(14); + view.setFitWidth(14); + _buttonRight.setGraphic(view); + + _buttonRight.setPrefWidth(_buttonMoveWidth); + _buttonRight.setPrefHeight(_buttonMoveHeight); + + _buttonRight.setOnAction(e -> { + if (_armoredCar != null) { + _armoredCar.MoveTransport(Direction.Right); + Draw(); + } + }); + + _root.getChildren().add(_buttonRight); + } + private void UpdateGUI() + { + double sceneWidth = _scene.getWidth(); + double sceneHeight = _scene.getHeight(); + + _canvas.setWidth(sceneWidth); + _hBox.setPrefWidth(sceneWidth); + _canvas.setHeight(sceneHeight - _hBoxHeight); + _hBox.setTranslateY(sceneHeight - _hBoxHeight); + + _buttonCreate.setTranslateY(sceneHeight - _hBoxHeight - _buttonCreateHeight - _buttonMargin); + + _buttonUp.setTranslateY(sceneHeight - _hBoxHeight - _buttonMoveHeight * 2.0 - _buttonMargin - + _distanceBetweenMoveButtons); + _buttonUp.setTranslateX(sceneWidth - _buttonMargin - _buttonMoveWidth * 2.0 - _distanceBetweenMoveButtons); + + _buttonDown.setTranslateY(sceneHeight - _hBoxHeight - _buttonMoveHeight - _buttonMargin); + _buttonDown.setTranslateX(sceneWidth- _buttonMargin - _buttonMoveWidth * 2.0 - _distanceBetweenMoveButtons); + + _buttonLeft.setTranslateY(sceneHeight - _hBoxHeight - _buttonMoveHeight - _buttonMargin); + _buttonLeft.setTranslateX(sceneWidth - _buttonMargin - _buttonMoveWidth * 3.0 - + _distanceBetweenMoveButtons * 2.0); + + _buttonRight.setTranslateY(sceneHeight - _hBoxHeight - _buttonMoveHeight - _buttonMargin); + _buttonRight.setTranslateX(sceneWidth - _buttonMargin - _buttonMoveWidth); + } + + private void Draw() + { + GraphicsContext gc = _canvas.getGraphicsContext2D(); + + gc.clearRect(0.0, 0.0, _canvas.getWidth(), _canvas.getHeight()); + gc.setFill(Color.WHITE); + gc.fillRect(0.0, 0.0, _canvas.getWidth(), _canvas.getHeight()); + + gc.setStroke(Color.BLACK); + gc.setLineWidth(4); + gc.strokeRect(0.0, 0.0, _canvas.getWidth(), _canvas.getHeight()); + + if (_armoredCar != null) + { + _armoredCar.DrawTransport(gc); + } + } + + public static void main(String[] args) + { + launch(); + } +} diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloApplication.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloApplication.java deleted file mode 100644 index aea115a..0000000 --- a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloApplication.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.antiaircraftgun; - -import javafx.application.Application; -import javafx.fxml.FXMLLoader; -import javafx.scene.Scene; -import javafx.stage.Stage; - -import java.io.IOException; - -public class HelloApplication extends Application { - @Override - public void start(Stage stage) throws IOException { - FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("hello-view.fxml")); - Scene scene = new Scene(fxmlLoader.load(), 320, 240); - stage.setTitle("Hello!"); - stage.setScene(scene); - stage.show(); - } - - public static void main(String[] args) { - launch(); - } -} \ No newline at end of file diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/NumberRollers.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/NumberRollers.java new file mode 100644 index 0000000..1e15f4f --- /dev/null +++ b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/NumberRollers.java @@ -0,0 +1,27 @@ +package com.example.antiaircraftgun; + +public enum NumberRollers +{ + Four, + Five, + Six; + + public static NumberRollers FromInteger(int intValue) + { + switch(intValue) + { + case 4: + return Four; + + case 5: + return Five; + + case 6: + return Six; + + default: + System.out.println("Error: incorrect value!"); + return Four; + } + } +} diff --git a/AntiAircraftGun/src/main/resources/arrowDown.png b/AntiAircraftGun/src/main/resources/arrowDown.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e08ba1994a3d1c15bb76811473939640ff124a GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XrhB?LhE&{obL}8!g8>igg(hx`Cgs%455n#hm3H?n2;38~ z;>xn0RWI7>|2>$zP4UYY3%4!OJC3K#*dk~lwf?Lzi_EewlZ_Lm?Ef%rx%}DFzn{(G zR*Wf5Y+1d0`xP0Tu=h&g{P~;YR`wL+KGfCKpA?iodG*oRd)5WG?b!Em8iU8Hw~wM8 t#XhwP;ah(zaCgS@e^qaOhL$n1F|hqMZg^|v)DLtbgQu&X%Q~loCID)}W>o+H literal 0 HcmV?d00001 diff --git a/AntiAircraftGun/src/main/resources/arrowLeft.png b/AntiAircraftGun/src/main/resources/arrowLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..ded8e03ce6ed164e4d63c7276856871d5275a428 GIT binary patch literal 257 zcmV+c0sj7pP)>nWM2ykNl6jQG6$N)LPM)5qFR+atgLmuesoit-%L00000NkvXX Hu0mjfQtoR5 literal 0 HcmV?d00001 diff --git a/AntiAircraftGun/src/main/resources/arrowRight.png b/AntiAircraftGun/src/main/resources/arrowRight.png new file mode 100644 index 0000000000000000000000000000000000000000..3df59321276c99083b4a157af57aeb44892592fb GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X7I?ZihE&`-GToc^fB}#5YDI|_M~x|t9E%+!mN-hXte<{& z*Q)s{eP7N^n-{d*ccoqVLys26hnjPG9`L8KDhJtWwXASwPG#M_%AH;Bm0`oCCf}>c zOu}Cy93l^Tze+qXrAi_wbU*8r_vZq1d!C-Uc)GOr)m9CG#E`VUb!Sw!Zoa-KV*Xx( zt;z?NWmU^pKZ-3*%!)p^F6;k3gGo)tW8Z2YU}#WQ5SSb5u?px`22WQ%mvv4FO#ltT BVxj;5 literal 0 HcmV?d00001 diff --git a/AntiAircraftGun/src/main/resources/arrowUp.png b/AntiAircraftGun/src/main/resources/arrowUp.png new file mode 100644 index 0000000000000000000000000000000000000000..46ff64c771df8a4a683b14e5153e956b0661c961 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XdOTemLn>~)xq6WEfC5izqWepan>veAMcg;Y>2Rn@m{y8p zJ&4`&r~Q3`*Yk6=A9nCog@oVY5Z(K#Nc`Me-9JmZ?Sxyh1CMcp=Zd^tb@pyFPhffe zypCO!mz_#(-+uM#ov!r7)cmpzzv{`!SKjP>z3YuG~5j?OfK>F0@pd`GrA@I g|GrcHzU~2r-ZMr~#uGPf2fB;F)78&qol`;+0AV>@2LJ#7 literal 0 HcmV?d00001 diff --git a/AntiAircraftGun/src/main/resources/com/example/antiaircraftgun/hello-view.fxml b/AntiAircraftGun/src/main/resources/com/example/antiaircraftgun/hello-view.fxml new file mode 100644 index 0000000..af7d531 --- /dev/null +++ b/AntiAircraftGun/src/main/resources/com/example/antiaircraftgun/hello-view.fxml @@ -0,0 +1,6 @@ + + + + + + -- 2.25.1 From 025940e3034540540f710140d76cf9ca0ef804fd Mon Sep 17 00:00:00 2001 From: "ityurner02@mail.ru" Date: Fri, 4 Nov 2022 20:21:06 +0400 Subject: [PATCH 2/3] =?UTF-8?q?=D0=98=D0=B7=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=82=20=D0=BB=D0=B8=D1=88=D0=BD?= =?UTF-8?q?=D0=B5=D0=B3=D0=BE=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/antiaircraftgun/HelloController.java | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloController.java diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloController.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloController.java deleted file mode 100644 index e1ab6e3..0000000 --- a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/HelloController.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.antiaircraftgun; - -import javafx.fxml.FXML; -import javafx.scene.control.Label; - -public class HelloController { - @FXML - private Label welcomeText; - - @FXML - protected void onHelloButtonClick() { - welcomeText.setText("Welcome to JavaFX Application!"); - } -} \ No newline at end of file -- 2.25.1 From 970a1b77b334c1aac53b8bac17d5386ba968eaff Mon Sep 17 00:00:00 2001 From: "ityurner02@mail.ru" Date: Fri, 4 Nov 2022 20:27:50 +0400 Subject: [PATCH 3/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=B5=D1=82=D0=B0=D0=BB=D0=B5=D0=B9?= =?UTF-8?q?=20=D0=BA=D0=BE=D1=80=D0=BF=D1=83=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../antiaircraftgun/DrawingArmoredCar.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java index e7ef116..8a9ef14 100644 --- a/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java +++ b/AntiAircraftGun/src/main/java/com/example/antiaircraftgun/DrawingArmoredCar.java @@ -91,6 +91,13 @@ public class DrawingArmoredCar return; } + // Гусеницы + gc.setFill(Color.GRAY); + gc.fillRect(_startPosX + 10, _startPosY + 20, 70, 20); + gc.fillOval(_startPosX, _startPosY + 20, 20, 20); + gc.fillOval(_startPosX + 70, _startPosY + 20, 20, 20); + _drawingRollers.DrawRollers(gc, _startPosX, _startPosY); + // Броня gc.setStroke(Color.BLACK); gc.setLineWidth(2); @@ -99,13 +106,9 @@ public class DrawingArmoredCar gc.fillRect(_startPosX + 5, _startPosY + 10, 80, 10); gc.strokeRect(_startPosX + 25, _startPosY, 40, 10); gc.strokeRect(_startPosX + 5, _startPosY + 10, 80, 10); - - // Гусеницы - gc.setFill(Color.GRAY); - gc.fillRect(_startPosX + 10, _startPosY + 20, 70, 20); - gc.fillOval(_startPosX, _startPosY + 20, 20, 20); - gc.fillOval(_startPosX + 70, _startPosY + 20, 20, 20); - _drawingRollers.DrawRollers(gc, _startPosX, _startPosY); + gc.fillOval(_startPosX + 27, _startPosY + 16, 8, 8); + gc.fillOval(_startPosX + 40, _startPosY + 16, 8, 8); + gc.fillOval(_startPosX + 53, _startPosY + 16, 8, 8); } public void ChangeBorders(int width, int height) -- 2.25.1