Добавление интерфейса

This commit is contained in:
Hells Hound 2022-10-16 14:03:12 +04:00
parent e65faf2146
commit 565bfd8dd7
4 changed files with 62 additions and 0 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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();

15
src/IDrawingObject.java Normal file
View File

@ -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();
}