From 569e97e909485a9187c6ae4df0b5a2b4ca5525b3 Mon Sep 17 00:00:00 2001 From: Nikita Potapov <47923521+nikita-potapov@users.noreply.github.com> Date: Tue, 29 Nov 2022 11:06:30 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20=D0=BE=D1=82=D1=80?= =?UTF-8?q?=D0=B8=D1=81=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=BE=D0=B1=D1=8A=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B0=20=D0=B8=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= =?UTF-8?q?=D1=84=D0=B5=D0=B9=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DrawingBoat.java | 5 +++++ src/DrawingObjectBoat.java | 46 ++++++++++++++++++++++++++++++++++++++ src/IDrawingObject.java | 2 +- 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/DrawingObjectBoat.java diff --git a/src/DrawingBoat.java b/src/DrawingBoat.java index f092340..f30c78c 100644 --- a/src/DrawingBoat.java +++ b/src/DrawingBoat.java @@ -202,4 +202,9 @@ public class DrawingBoat { __startPosY = __pictureHeight - __boatHeight; } } + + // Метод для получения текущих координат объекта + Position GetCurrentPosition() { + return new Position(__startPosX, __startPosY, __startPosX + __boatWidth, __startPosY + __boatHeight); + } } diff --git a/src/DrawingObjectBoat.java b/src/DrawingObjectBoat.java new file mode 100644 index 0000000..f3af4a8 --- /dev/null +++ b/src/DrawingObjectBoat.java @@ -0,0 +1,46 @@ +package src; + +import java.awt.*; + +public class DrawingObjectBoat implements IDrawingObject { + private DrawingBoat __drawingBoat = null; + + public DrawingObjectBoat(DrawingBoat drawingBoat) { + __drawingBoat = drawingBoat; + } + + @Override + public Position GetCurrentPosition() { + if (__drawingBoat == null) + return null; + return __drawingBoat.GetCurrentPosition(); + } + + @Override + public void MoveObject(EnumDirection enumDirection) { + if (__drawingBoat == null) + return; + __drawingBoat.MoveTransport(enumDirection); + } + + @Override + public float Step() { + if (__drawingBoat == null) + return 0; + if (__drawingBoat.entityBoat == null) + return 0; + return __drawingBoat.entityBoat.Step(); + } + + @Override + public void SetObject(int x, int y, int width, int height) { + __drawingBoat.SetPosition(x, y, width, height); + } + + @Override + public void DrawingObject(Graphics g) { + if (__drawingBoat == null) + return; + __drawingBoat.DrawTransport(g); + } +} diff --git a/src/IDrawingObject.java b/src/IDrawingObject.java index 4c93ddc..cf65086 100644 --- a/src/IDrawingObject.java +++ b/src/IDrawingObject.java @@ -4,7 +4,7 @@ import java.awt.*; public interface IDrawingObject { - float Step = 0; + float Step(); void SetObject(int x, int y, int width, int height);