Compare commits
2 Commits
master
...
LabWork_02
Author | SHA1 | Date | |
---|---|---|---|
d507d7fe51 | |||
933b4f7fa0 |
120
src/AbstractStrategy.java
Normal file
120
src/AbstractStrategy.java
Normal file
@ -0,0 +1,120 @@
|
||||
public class AbstractStrategy {
|
||||
/// <summary>
|
||||
/// Перемещаемый объект
|
||||
/// </summary>
|
||||
private IMoveableObject _moveableObject;
|
||||
/// <summary>
|
||||
/// Статус перемещения
|
||||
/// </summary>
|
||||
private Status _state = Status.NotInit;
|
||||
/// <summary>
|
||||
/// Ширина поля
|
||||
/// </summary>
|
||||
protected int FieldWidth;
|
||||
/// <summary>
|
||||
/// Высота поля
|
||||
/// </summary>
|
||||
protected int FieldHeight;
|
||||
/// <summary>
|
||||
/// Статус перемещения
|
||||
/// </summary>
|
||||
public Status GetStatus() { return _state; }
|
||||
/// <summary>
|
||||
/// Установка данных
|
||||
/// </summary>
|
||||
/// <param name="moveableObject">Перемещаемый объект</param>
|
||||
/// <param name="width">Ширина поля</param>
|
||||
/// <param name="height">Высота поля</param>
|
||||
public void SetData(IMoveableObject moveableObject, int width, int
|
||||
height)
|
||||
{
|
||||
if (moveableObject == null)
|
||||
{
|
||||
_state = Status.NotInit;
|
||||
return;
|
||||
}
|
||||
_state = Status.InProgress;
|
||||
_moveableObject = moveableObject;
|
||||
FieldWidth = width;
|
||||
FieldHeight = height;
|
||||
}
|
||||
/// <summary>
|
||||
/// Шаг перемещения
|
||||
/// </summary>
|
||||
public void MakeStep()
|
||||
{
|
||||
if (_state != Status.InProgress)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (IsTargetDestinaion())
|
||||
{
|
||||
_state = Status.Finish;
|
||||
return;
|
||||
}
|
||||
MoveToTarget();
|
||||
}
|
||||
/// <summary>
|
||||
/// Перемещение влево
|
||||
/// </summary>
|
||||
/// <returns>Результат перемещения (true - удалось переместиться, false - неудача)</returns>
|
||||
protected boolean MoveLeft() { return MoveTo(Direction.Left);}
|
||||
/// <summary>
|
||||
/// Перемещение вправо
|
||||
/// </summary>
|
||||
/// <returns>Результат перемещения (true - удалось переместиться,false - неудача)</returns>
|
||||
protected boolean MoveRight() { return MoveTo(Direction.Right);}
|
||||
/// <summary>
|
||||
/// Перемещение вверх
|
||||
/// </summary>
|
||||
/// <returns>Результат перемещения (true - удалось переместиться,false - неудача)</returns>
|
||||
protected boolean MoveUp() { return MoveTo(Direction.Up);}
|
||||
/// <summary>
|
||||
/// Перемещение вниз
|
||||
/// </summary>
|
||||
/// <returns>Результат перемещения (true - удалось переместиться,false - неудача)</returns>
|
||||
protected boolean MoveDown() { return MoveTo(Direction.Down);}
|
||||
/// <summary>
|
||||
/// Параметры объекта
|
||||
/// </summary>
|
||||
protected ObjectParameters GetObjectParameters() { return _moveableObject.GetObjectPosition(); }
|
||||
/// <summary>
|
||||
/// Шаг объекта
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected int GetStep()
|
||||
{
|
||||
if (_state != Status.InProgress)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return _moveableObject.GetStep();
|
||||
}
|
||||
/// <summary>
|
||||
/// Перемещение к цели
|
||||
/// </summary>
|
||||
protected abstract void MoveToTarget();
|
||||
/// <summary>
|
||||
/// Достигнута ли цель
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected abstract boolean IsTargetDestinaion();
|
||||
/// <summary>
|
||||
/// Попытка перемещения в требуемом направлении
|
||||
/// </summary>
|
||||
/// <param name="Direction">Направление</param>
|
||||
/// <returns>Результат попытки (true - удалось переместиться, false - неудача)</returns>
|
||||
private boolean MoveTo(Direction Direction)
|
||||
{
|
||||
if (_state != Status.InProgress)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (_moveableObject.CheckCanMove(Direction))
|
||||
{
|
||||
_moveableObject.MoveObject(Direction);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
6
src/Direction.java
Normal file
6
src/Direction.java
Normal file
@ -0,0 +1,6 @@
|
||||
public enum Direction {
|
||||
Up,
|
||||
Down,
|
||||
Left,
|
||||
Right
|
||||
}
|
71
src/DrawingOar.java
Normal file
71
src/DrawingOar.java
Normal file
@ -0,0 +1,71 @@
|
||||
import java.awt.*;
|
||||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
import java.awt.event.*;
|
||||
public class DrawingOar {
|
||||
private NumOars numOars;
|
||||
|
||||
public NumOars getSomeProperty() {
|
||||
return numOars;
|
||||
}
|
||||
|
||||
public void setNumOars(int oars){
|
||||
switch(oars){
|
||||
case 1:
|
||||
numOars = NumOars.OneOar;
|
||||
break;
|
||||
case 2:
|
||||
numOars = NumOars.TwoOars;
|
||||
break;
|
||||
case 3:
|
||||
numOars = NumOars.ThreeOars;
|
||||
break;
|
||||
default:
|
||||
numOars = NumOars.OneOar;
|
||||
System.out.println("Неверное значение");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Draw(int _startPosX, int _startPosY, Color color, Graphics2D g){
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawLine(_startPosX + 110, _startPosY + 145, _startPosX + 95, _startPosY + 165);
|
||||
g.setColor(color);
|
||||
g.fillPolygon(new int[]{_startPosX + 95, _startPosX + 95, _startPosX + 80, _startPosX + 65, _startPosX + 80},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawPolygon(new int[]{_startPosX + 95, _startPosX + 95, _startPosX + 80, _startPosX + 65, _startPosX + 80},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
|
||||
if (numOars == NumOars.TwoOars){
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawLine(_startPosX + 78, _startPosY + 145, _startPosX + 63, _startPosY + 165);
|
||||
g.setColor(color);
|
||||
g.fillPolygon(new int[]{_startPosX + 63, _startPosX + 63, _startPosX + 48, _startPosX + 33, _startPosX + 48},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawPolygon(new int[]{_startPosX + 63, _startPosX + 63, _startPosX + 48, _startPosX + 33, _startPosX + 48},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
}
|
||||
|
||||
if (numOars == NumOars.ThreeOars){
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawLine(_startPosX + 78, _startPosY + 145, _startPosX + 63, _startPosY + 165);
|
||||
g.setColor(color);
|
||||
g.fillPolygon(new int[]{_startPosX + 63, _startPosX + 63, _startPosX + 48, _startPosX + 33, _startPosX + 48},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawPolygon(new int[]{_startPosX + 63, _startPosX + 63, _startPosX + 48, _startPosX + 33, _startPosX + 48},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawLine(_startPosX + 46, _startPosY + 145, _startPosX + 31, _startPosY + 165);
|
||||
g.setColor(color);
|
||||
g.fillPolygon(new int[]{_startPosX + 31, _startPosX + 31, _startPosX + 16, _startPosX + 1, _startPosX + 16},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawPolygon(new int[]{_startPosX + 31, _startPosX + 31, _startPosX + 16, _startPosX + 1, _startPosX + 16},
|
||||
new int[]{_startPosY + 165, _startPosY + 180, _startPosY + 195, _startPosY + 180, _startPosY + 165}, 5);
|
||||
}
|
||||
}
|
||||
}
|
126
src/DrawingSailboat.java
Normal file
126
src/DrawingSailboat.java
Normal file
@ -0,0 +1,126 @@
|
||||
import java.awt.*;
|
||||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.Timer;
|
||||
import java.awt.event.*;
|
||||
public class DrawingSailboat {
|
||||
private DrawingOar drawingOar;
|
||||
private EntitySailboat EntitySailboat;
|
||||
private int _pictureWidth;
|
||||
private int _pictureHeight;
|
||||
private int _startPosX;
|
||||
private int _startPosY;
|
||||
private int _boatWidth = 160;
|
||||
private int _boatHeight = 195;
|
||||
public boolean Init(int speed, double weight, Color bodyColor, Color additionalColor, boolean hull, boolean sail, int oarsNum, int width, int height)
|
||||
{
|
||||
if (width < _boatWidth || height < _boatHeight)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
_pictureWidth = width;
|
||||
_pictureHeight = height;
|
||||
EntitySailboat = new EntitySailboat();
|
||||
EntitySailboat.Init(speed, weight, bodyColor, additionalColor, hull, sail, oarsNum);
|
||||
drawingOar = new DrawingOar();
|
||||
drawingOar.setNumOars(oarsNum);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void SetPosition(int x, int y)
|
||||
{
|
||||
if (x < 0 || x + _boatWidth > _pictureWidth)
|
||||
{
|
||||
x = 0;
|
||||
}
|
||||
if (y < 0 || y + _boatHeight > _pictureHeight)
|
||||
{
|
||||
y = 0;
|
||||
}
|
||||
_startPosX = x;
|
||||
_startPosY = y;
|
||||
}
|
||||
|
||||
public void MoveTransport(Direction direction)
|
||||
{
|
||||
if (EntitySailboat == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
switch (direction)
|
||||
{
|
||||
case Left:
|
||||
if (_startPosX - EntitySailboat.Step > 0)
|
||||
{
|
||||
_startPosX -= (int)EntitySailboat.Step;
|
||||
}
|
||||
break;
|
||||
case Up:
|
||||
if (_startPosY - EntitySailboat.Step > 0)
|
||||
{
|
||||
_startPosY -= (int)EntitySailboat.Step;
|
||||
}
|
||||
break;
|
||||
case Right:
|
||||
if (_startPosX + EntitySailboat.Step + _boatWidth < _pictureWidth)
|
||||
{
|
||||
_startPosX += (int)EntitySailboat.Step;
|
||||
}
|
||||
break;
|
||||
case Down:
|
||||
if (_startPosY + EntitySailboat.Step + _boatHeight < _pictureHeight)
|
||||
{
|
||||
_startPosY += (int)EntitySailboat.Step;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void DrawTransport(Graphics2D g)
|
||||
{
|
||||
if (EntitySailboat == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
g.setColor(EntitySailboat.AdditionalColor);
|
||||
//усиленный корпус парусника
|
||||
if (EntitySailboat.Hull)
|
||||
{
|
||||
g.fillPolygon(new int[]{_startPosX, _startPosX + 120, _startPosX + 160, _startPosX + 120, _startPosX},
|
||||
new int[]{_startPosY + 80, _startPosY + 80, _startPosY + 120, _startPosY + 160, _startPosY + 160}, 5);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawPolygon(new int[]{_startPosX, _startPosX + 120, _startPosX + 160, _startPosX + 120, _startPosX},
|
||||
new int[]{_startPosY + 80, _startPosY + 80, _startPosY + 120, _startPosY + 160, _startPosY + 160}, 5);
|
||||
}
|
||||
|
||||
|
||||
//основной корпус парусника
|
||||
g.setColor(EntitySailboat.BodyColor);
|
||||
g.fillPolygon(new int[]{_startPosX + 10, _startPosX + 110, _startPosX + 140, _startPosX + 110, _startPosX + 10},
|
||||
new int[]{_startPosY + 90, _startPosY + 90, _startPosY + 120, _startPosY + 150, _startPosY + 150}, 5);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawPolygon(new int[]{_startPosX + 10, _startPosX + 110, _startPosX + 140, _startPosX + 110, _startPosX + 10},
|
||||
new int[]{_startPosY + 90, _startPosY + 90, _startPosY + 120, _startPosY + 150, _startPosY + 150}, 5);
|
||||
|
||||
g.setColor(Color.green);
|
||||
g.fillOval(_startPosX + 20, _startPosY + 100, 90, 40);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawOval(_startPosX + 20, _startPosY + 100, 90, 40);
|
||||
|
||||
//парус
|
||||
if (EntitySailboat.Sail)
|
||||
{
|
||||
g.setColor(EntitySailboat.AdditionalColor);
|
||||
g.fillPolygon(new int[]{_startPosX + 65, _startPosX + 130, _startPosX + 15},
|
||||
new int[]{_startPosY, _startPosY + 120, _startPosY + 120}, 3);
|
||||
g.setColor(Color.BLACK);
|
||||
g.drawPolygon(new int[]{_startPosX + 65, _startPosX + 130, _startPosX + 15},
|
||||
new int[]{_startPosY, _startPosY + 120, _startPosY + 120}, 3);
|
||||
g.drawLine(_startPosX + 65, _startPosY + 120, _startPosX + 65, _startPosY);
|
||||
}
|
||||
|
||||
//весла
|
||||
drawingOar.Draw(_startPosX, _startPosY, new Color(128, 64, 48), g);
|
||||
}
|
||||
}
|
25
src/EntitySailboat.java
Normal file
25
src/EntitySailboat.java
Normal file
@ -0,0 +1,25 @@
|
||||
import java.awt.*;
|
||||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.Timer;
|
||||
import java.awt.event.*;
|
||||
public class EntitySailboat {
|
||||
public int Speed;
|
||||
public double Weight;
|
||||
public Color BodyColor;
|
||||
public Color AdditionalColor;
|
||||
public boolean Hull;
|
||||
public boolean Sail;
|
||||
public double Step;
|
||||
public int OarsNum;
|
||||
public void Init (int speed, double weight, Color bodyColor, Color additionalColor, boolean hull, boolean sail, int oarsNum){
|
||||
Speed = speed;
|
||||
Weight = weight;
|
||||
BodyColor = bodyColor;
|
||||
AdditionalColor = additionalColor;
|
||||
Hull = hull;
|
||||
Sail = sail;
|
||||
Step = (double)Speed * 100 / Weight;
|
||||
OarsNum = oarsNum;
|
||||
}
|
||||
}
|
119
src/FormSailboat.java
Normal file
119
src/FormSailboat.java
Normal file
@ -0,0 +1,119 @@
|
||||
import java.awt.*;
|
||||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
import java.awt.event.*;
|
||||
public class FormSailboat{
|
||||
private DrawingSailboat _drawingSailboat;
|
||||
Canvas canv;
|
||||
|
||||
public void Draw(){
|
||||
canv.repaint();
|
||||
}
|
||||
|
||||
public FormSailboat(){
|
||||
JFrame w=new JFrame ("Парусник");
|
||||
JButton buttonCreate = new JButton("Создать");
|
||||
JButton up = new JButton();
|
||||
up.setBorderPainted(true);
|
||||
up.setFocusPainted(false);
|
||||
up.setContentAreaFilled(false);
|
||||
up.setName("up");
|
||||
up.setIcon(new ImageIcon(((new ImageIcon("C:\\storage\\university\\2 course\\rpp\\up.png")).getImage()).getScaledInstance(35, 35, java.awt.Image.SCALE_SMOOTH)));
|
||||
JButton down = new JButton();
|
||||
down.setBorderPainted(true);
|
||||
down.setFocusPainted(false);
|
||||
down.setContentAreaFilled(false);
|
||||
down.setName("down");
|
||||
down.setIcon(new ImageIcon(((new ImageIcon("C:\\storage\\university\\2 course\\rpp\\down.png")).getImage()).getScaledInstance(35, 35, java.awt.Image.SCALE_SMOOTH)));
|
||||
JButton left = new JButton();
|
||||
left.setBorderPainted(true);
|
||||
left.setFocusPainted(false);
|
||||
left.setContentAreaFilled(false);
|
||||
left.setName("left");
|
||||
left.setIcon(new ImageIcon(((new ImageIcon("C:\\storage\\university\\2 course\\rpp\\left.png")).getImage()).getScaledInstance(35, 35, java.awt.Image.SCALE_SMOOTH)));
|
||||
JButton right = new JButton();
|
||||
right.setBorderPainted(true);
|
||||
right.setFocusPainted(false);
|
||||
right.setContentAreaFilled(false);
|
||||
right.setName("right");
|
||||
right.setIcon(new ImageIcon(((new ImageIcon("C:\\storage\\university\\2 course\\rpp\\right.png")).getImage()).getScaledInstance(35, 35, java.awt.Image.SCALE_SMOOTH)));
|
||||
|
||||
buttonCreate.addActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e){
|
||||
System.out.println(e.getActionCommand());
|
||||
Random random = new Random();
|
||||
_drawingSailboat = new DrawingSailboat();
|
||||
_drawingSailboat.Init(random.nextInt(200) + 100, random.nextInt(2000) + 1000,
|
||||
new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)),
|
||||
new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)),
|
||||
random.nextInt(2) == 1, random.nextInt(2) == 1, random.nextInt(3) + 1, 1000, 560);
|
||||
_drawingSailboat.SetPosition(random.nextInt(90) + 10, random.nextInt(90) + 10);
|
||||
canv._drawingSailboat = _drawingSailboat;
|
||||
Draw();
|
||||
}
|
||||
}
|
||||
);
|
||||
ActionListener actioListener = new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e){
|
||||
System.out.println(((JButton)(e.getSource())).getName());
|
||||
if (_drawingSailboat == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
switch(((JButton)(e.getSource())).getName()){
|
||||
case "up":
|
||||
_drawingSailboat.MoveTransport(Direction.Up);
|
||||
break;
|
||||
case "down":
|
||||
_drawingSailboat.MoveTransport(Direction.Down);
|
||||
break;
|
||||
case "left":
|
||||
_drawingSailboat.MoveTransport(Direction.Left);
|
||||
break;
|
||||
case "right":
|
||||
_drawingSailboat.MoveTransport(Direction.Right);
|
||||
break;
|
||||
}
|
||||
Draw();
|
||||
}
|
||||
};
|
||||
up.addActionListener(actioListener);
|
||||
down.addActionListener(actioListener);
|
||||
left.addActionListener(actioListener);
|
||||
right.addActionListener(actioListener);
|
||||
|
||||
w.setSize (1000, 600);
|
||||
w.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
|
||||
w.setLayout(null);
|
||||
canv = new Canvas();
|
||||
canv.setBounds(0, 0, 1000, 600);
|
||||
buttonCreate.setBounds(5, 500, 100, 40);
|
||||
up.setBounds(900, 440, 40, 40);
|
||||
down.setBounds(900, 480, 40, 40);
|
||||
left.setBounds(860, 480, 40, 40);
|
||||
right.setBounds(940, 480, 40, 40);
|
||||
w.add(canv);
|
||||
w.add(buttonCreate);
|
||||
w.add(up);
|
||||
w.add(down);
|
||||
w.add(left);
|
||||
w.add(right);
|
||||
w.setVisible (true);
|
||||
}
|
||||
}
|
||||
|
||||
class Canvas extends JComponent{
|
||||
public DrawingSailboat _drawingSailboat;
|
||||
public Canvas(){
|
||||
}
|
||||
public void paintComponent (Graphics g){
|
||||
if (_drawingSailboat == null){
|
||||
return;
|
||||
}
|
||||
super.paintComponents (g) ;
|
||||
Graphics2D g2d = (Graphics2D)g;
|
||||
_drawingSailboat.DrawTransport(g2d);
|
||||
super.repaint();
|
||||
}
|
||||
}
|
21
src/IMoveableObject.java
Normal file
21
src/IMoveableObject.java
Normal file
@ -0,0 +1,21 @@
|
||||
public interface IMoveableObject {
|
||||
/// <summary>
|
||||
/// Получение координаты X объекта
|
||||
/// </summary>
|
||||
ObjectParameters GetObjectPosition();
|
||||
/// <summary>
|
||||
/// Шаг объекта
|
||||
/// </summary>
|
||||
int GetStep();
|
||||
/// <summary>
|
||||
/// Проверка, можно ли переместиться по нужному направлению
|
||||
/// </summary>
|
||||
/// <param name="direction"></param>
|
||||
/// <returns></returns>
|
||||
boolean CheckCanMove(Direction direction);
|
||||
/// <summary>
|
||||
/// Изменение направления пермещения объекта
|
||||
/// </summary>
|
||||
/// <param name="direction">Направление</param>
|
||||
void MoveObject(Direction direction);
|
||||
}
|
@ -1,17 +1,5 @@
|
||||
// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`,
|
||||
// then press Enter. You can now see whitespace characters in your code.
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
// Press Alt+Enter with your caret at the highlighted text to see how
|
||||
// IntelliJ IDEA suggests fixing it.
|
||||
System.out.printf("Hello and welcome!");
|
||||
|
||||
// Press Shift+F10 or click the green arrow button in the gutter to run the code.
|
||||
for (int i = 1; i <= 5; i++) {
|
||||
|
||||
// Press Shift+F9 to start debugging your code. We have set one breakpoint
|
||||
// for you, but you can always add more by pressing Ctrl+F8.
|
||||
System.out.println("i = " + i);
|
||||
}
|
||||
FormSailboat formSailboat = new FormSailboat();
|
||||
}
|
||||
}
|
5
src/NumOars.java
Normal file
5
src/NumOars.java
Normal file
@ -0,0 +1,5 @@
|
||||
public enum NumOars {
|
||||
OneOar,
|
||||
TwoOars,
|
||||
ThreeOars
|
||||
}
|
44
src/ObjectParameters.java
Normal file
44
src/ObjectParameters.java
Normal file
@ -0,0 +1,44 @@
|
||||
public class ObjectParameters {
|
||||
private int _x;
|
||||
private int _y;
|
||||
private int _width;
|
||||
private int _height;
|
||||
/// <summary>
|
||||
/// Левая граница
|
||||
/// </summary>
|
||||
public int LeftBorder() {return _x;}
|
||||
/// <summary>
|
||||
/// Верхняя граница
|
||||
/// </summary>
|
||||
public int TopBorder () {return _y;}
|
||||
/// <summary>
|
||||
/// Правая граница
|
||||
/// </summary>
|
||||
public int RightBorder () {return _x + _width;}
|
||||
/// <summary>
|
||||
/// Нижняя граница
|
||||
/// </summary>
|
||||
public int DownBorder () {return _y + _height;}
|
||||
/// <summary>
|
||||
/// Середина объекта
|
||||
/// </summary>
|
||||
public int ObjectMiddleHorizontal () {return _x + _width / 2;}
|
||||
/// <summary>
|
||||
/// Середина объекта
|
||||
/// </summary>
|
||||
public int ObjectMiddleVertical () {return _y + _height / 2;}
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
/// <param name="x">Координата X</param>
|
||||
/// <param name="y">Координата Y</param>
|
||||
/// <param name="width">Ширина</param>
|
||||
/// <param name="height">Высота</param>
|
||||
public ObjectParameters(int x, int y, int width, int height)
|
||||
{
|
||||
_x = x;
|
||||
_y = y;
|
||||
_width = width;
|
||||
_height = height;
|
||||
}
|
||||
}
|
5
src/Status.java
Normal file
5
src/Status.java
Normal file
@ -0,0 +1,5 @@
|
||||
public enum Status {
|
||||
NotInit,
|
||||
InProgress,
|
||||
Finish
|
||||
}
|
Loading…
Reference in New Issue
Block a user