Move Movement enum to :API

This commit is contained in:
2021-03-02 10:31:45 +01:00
parent 8b012b8584
commit 6130dc5bb4
7 changed files with 67 additions and 20 deletions

View File

@@ -1,5 +1,7 @@
package com.bartlomiejpluta.base.api.entity;
import com.bartlomiejpluta.base.api.geo.Vector;
public enum Direction {
UP(0, -1),
DOWN(0, 1),
@@ -8,9 +10,11 @@ public enum Direction {
public final int x;
public final int y;
public final Vector vector;
Direction(int x, int y) {
this.x = x;
this.y = y;
this.vector = Vector.of(x, y);
}
}

View File

@@ -0,0 +1,15 @@
package com.bartlomiejpluta.base.api.entity;
import com.bartlomiejpluta.base.api.geo.Vector;
public interface Movement {
boolean perform();
Movement another();
Vector getFrom();
Vector getTo();
Direction getDirection();
}

View File

@@ -0,0 +1,19 @@
package com.bartlomiejpluta.base.api.geo;
public class Vector {
public final int x;
public final int y;
public Vector(int x, int y) {
this.x = x;
this.y = y;
}
public Vector add(Vector other) {
return new Vector(x + other.x, y + other.y);
}
public static Vector of(int x, int y) {
return new Vector(x, y);
}
}