From 565bfd8dd7b6f4ae0afbfe7f71120b03bb8bb74c Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Sun, 16 Oct 2022 14:03:12 +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=D0=B8=D0=B5=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5?= =?UTF-8?q?=D0=B9=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DrawingObjectWarship.java | 37 +++++++++++++++++++++++++++++++++++ src/DrawingWarship.java | 9 +++++++++ src/EntityWarship.java | 1 + src/IDrawingObject.java | 15 ++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 src/DrawingObjectWarship.java create mode 100644 src/IDrawingObject.java diff --git a/src/DrawingObjectWarship.java b/src/DrawingObjectWarship.java new file mode 100644 index 0000000..6815af4 --- /dev/null +++ b/src/DrawingObjectWarship.java @@ -0,0 +1,37 @@ +import java.awt.*; + +public class DrawingObjectWarship implements IDrawingObject { + private DrawingWarship _warship = null; + + public DrawingObjectWarship(DrawingWarship warship) + { + _warship = warship; + } + + public float Step(){ + if(_warship !=null && _warship.Warship != null) + return _warship.Warship.Step; + return 0; + } + + @Override + public void SetObject(int x, int y, int width, int height) { + _warship.SetPosition(x, y, width, height); + } + + @Override + public void MoveObject(Direction direction) { + _warship.MoveTransport(direction); + } + + @Override + public void DrawningObject(Graphics2D g2) { + _warship.DrawTransport(g2); + } + + @Override + public float[] GetCurrentPosition() { + if(_warship != null) return _warship.GetCurrentPosition(); + return null; + } +} diff --git a/src/DrawingWarship.java b/src/DrawingWarship.java index 555490d..3e4475e 100644 --- a/src/DrawingWarship.java +++ b/src/DrawingWarship.java @@ -142,4 +142,13 @@ public class DrawingWarship { _startPosY = _pictureHeight - _warshipHeight; } } + + public float[] GetCurrentPosition(){ + float[] pos = new float[4]; + pos[0] = _startPosX; + pos[1] =_startPosY; + pos[2] = _startPosX + _warshipWidth; + pos[3] = _startPosY + _warshipHeight; + return pos; + } } diff --git a/src/EntityWarship.java b/src/EntityWarship.java index fd0d84d..c092fa2 100644 --- a/src/EntityWarship.java +++ b/src/EntityWarship.java @@ -11,6 +11,7 @@ public class EntityWarship { public Color GetBodyColor (){return BodyColor;} public float Step; + public EntityWarship(int speed, float weight, Color bodyColor) { Random rnd = new Random(); diff --git a/src/IDrawingObject.java b/src/IDrawingObject.java new file mode 100644 index 0000000..230cd63 --- /dev/null +++ b/src/IDrawingObject.java @@ -0,0 +1,15 @@ +import java.awt.*; + +public interface IDrawingObject { + // Шаг перемещения объекта + public float Step = 0; + // Установка позиции объекта + void SetObject(int x, int y, int width, int height); + // Изменение направления пермещения объекта + void MoveObject(Direction direction); + // Отрисовка объекта + void DrawningObject(Graphics2D g2); + // Получение текущей позиции объекта + // /Left, Right, Top, Bottom) + float[] GetCurrentPosition(); +}