Search in sources :

Example 51 with Position

use of spacesettlers.utilities.Position in project spacesettlers by amymcgovern.

the class TestToroidal2DPhysics method testApplyTranslationalMovementHorizontalFromStop.

@Test
public void testApplyTranslationalMovementHorizontalFromStop() {
    Movement movement = new Movement();
    movement.setAngularAccleration(0);
    movement.setTranslationalAcceleration(new Vector2D(10, 0));
    double expectedX = 10;
    double expectedY = 0;
    Position newPosition = space.applyMovement(position, movement, timestep);
    assertEquals(newPosition.getX(), expectedX, 0.01);
    assertEquals(newPosition.getY(), expectedY, 0.01);
    assertEquals(newPosition.getOrientation(), 0, 0.01);
    assertEquals(newPosition.getAngularVelocity(), 0, 0.01);
    assertEquals(newPosition.getTranslationalVelocityX(), 10, 0.01);
    assertEquals(newPosition.getTranslationalVelocityY(), 0, 0.01);
}
Also used : Movement(spacesettlers.utilities.Movement) Vector2D(spacesettlers.utilities.Vector2D) Position(spacesettlers.utilities.Position) Test(org.junit.Test)

Example 52 with Position

use of spacesettlers.utilities.Position in project spacesettlers by amymcgovern.

the class TestToroidal2DPhysics method testApplyOrientationMoveFromTurning.

@Test
public void testApplyOrientationMoveFromTurning() {
    Movement movement = new Movement();
    movement.setAngularAccleration(Math.PI / 180.0);
    movement.setTranslationalAcceleration(new Vector2D());
    double expectedOrientation = (3.0 * Math.PI) / 180.0;
    // first time is from stop
    Position newPosition = space.applyMovement(position, movement, timestep);
    // second time it is moving already
    newPosition = space.applyMovement(newPosition, movement, timestep);
    assertEquals(newPosition.getOrientation(), expectedOrientation, 0.01);
    assertEquals(newPosition.getAngularVelocity(), Math.PI / 90.0, 0.01);
    assertEquals(newPosition.getX(), 0, 0.0);
    assertEquals(newPosition.getY(), 0, 0.0);
    assertEquals(newPosition.getTranslationalVelocityX(), 0, 0);
    assertEquals(newPosition.getTranslationalVelocityY(), 0, 0);
}
Also used : Movement(spacesettlers.utilities.Movement) Vector2D(spacesettlers.utilities.Vector2D) Position(spacesettlers.utilities.Position) Test(org.junit.Test)

Example 53 with Position

use of spacesettlers.utilities.Position in project spacesettlers by amymcgovern.

the class TestToroidal2DPhysics method testApplyNoMovementFromStop.

@Test
public void testApplyNoMovementFromStop() {
    Movement movement = new Movement();
    movement.setAngularAccleration(0);
    movement.setTranslationalAcceleration(new Vector2D());
    Position newPosition = space.applyMovement(position, movement, timestep);
    assertEquals(newPosition.getX(), 0, 0.01);
    assertEquals(newPosition.getY(), 0, 0.01);
    assertEquals(newPosition.getOrientation(), 0, 0.01);
    assertEquals(newPosition.getAngularVelocity(), 0, 0.01);
    assertEquals(newPosition.getTranslationalVelocityX(), 0, 0.01);
    assertEquals(newPosition.getTranslationalVelocityY(), 0, 0.01);
}
Also used : Movement(spacesettlers.utilities.Movement) Vector2D(spacesettlers.utilities.Vector2D) Position(spacesettlers.utilities.Position) Test(org.junit.Test)

Example 54 with Position

use of spacesettlers.utilities.Position in project spacesettlers by amymcgovern.

the class PolygonGraphics method fromPositions.

public static PolygonGraphics fromPositions(Color c, List<Position> points) {
    Polygon myPolygon = new Polygon();
    for (Position p : points) {
        myPolygon.addPoint((int) p.getX(), (int) p.getY());
    }
    Rectangle2D bounds = myPolygon.getBounds2D();
    return new PolygonGraphics(c, myPolygon, bounds);
}
Also used : Position(spacesettlers.utilities.Position) Rectangle2D(java.awt.geom.Rectangle2D) Polygon(java.awt.Polygon)

Aggregations

Position (spacesettlers.utilities.Position)54 Test (org.junit.Test)28 Vector2D (spacesettlers.utilities.Vector2D)26 Ship (spacesettlers.objects.Ship)18 Movement (spacesettlers.utilities.Movement)16 Asteroid (spacesettlers.objects.Asteroid)14 AbstractAction (spacesettlers.actions.AbstractAction)12 DoNothingAction (spacesettlers.actions.DoNothingAction)12 Base (spacesettlers.objects.Base)11 Beacon (spacesettlers.objects.Beacon)10 MoveToObjectAction (spacesettlers.actions.MoveToObjectAction)9 UUID (java.util.UUID)6 MoveAction (spacesettlers.actions.MoveAction)6 AbstractObject (spacesettlers.objects.AbstractObject)6 AiCore (spacesettlers.objects.AiCore)5 HashMap (java.util.HashMap)4 Team (spacesettlers.clients.Team)2 AbstractActionableObject (spacesettlers.objects.AbstractActionableObject)2 Flag (spacesettlers.objects.Flag)2 ResourcePile (spacesettlers.objects.resources.ResourcePile)2