PIbd-22_Chernyshev_G.J._29_.../Trolleybus/MoveToCenter.java

51 lines
1.3 KiB
Java
Raw Normal View History

2023-11-13 22:25:33 +04:00
package Trolleybus;
public class MoveToCenter extends AbstractStrategy{
@Override
protected boolean IsTargetDestination() {
var objParams = GetObjectParameters();
if (objParams == null) {
return false;
}
return objParams.ObjectMiddleHorizontal() <= FieldWidth() / 2 &&
objParams.ObjectMiddleHorizontal() + GetStep() >= FieldWidth() / 2 &&
objParams.ObjectMiddleVertical() <= FieldHeight() / 2 &&
objParams.ObjectMiddleVertical() + GetStep() >= FieldHeight() / 2;
}
@Override
protected void MoveToTarget()
{
var objParams = GetObjectParameters();
if (objParams == null)
{
return;
}
var diffX = objParams.ObjectMiddleHorizontal() - FieldWidth() / 2;
if (Math.abs(diffX) > GetStep())
{
if (diffX > 0)
{
MoveLeft();
}
else
{
MoveRight();
}
}
var diffY = objParams.ObjectMiddleVertical() - FieldHeight() / 2;
if (Math.abs(diffY) > GetStep())
{
if (diffY > 0)
{
MoveUp();
}
else
{
MoveDown();
}
}
}
}