package game; import java.util.List; import java.util.Random; public class Position { private static Random random = new Random(); private final int x; private final int y; public Position(int x, int y) { this.x = x; this.y = y; } public static Position pos(int x, int y) { return new Position(x, y); } private boolean isSameX(Position position) { return this.x == position.x; } public boolean intersect(Position secondPosition) { return isSameX(secondPosition) ||isSameY(secondPosition) || isSameDiagonal(secondPosition); } private boolean isSameDiagonal(Position position) { return Math.abs(this.x - position.x) == Math.abs(this.y - position.y); } private boolean isSameY(Position position) { return this.y == position.y; } public boolean intersectPositions(List<Position> board, int i) { for (int j = i + 1; j < board.size(); j++) { if (intersect(board.get(j))) return true; } return false; } public static Position newRandomPosition(int size) { return new Position(randomInt(size), randomInt(size)); } private static int randomInt(int size) { return (random.nextInt(size)); } @Override public String toString() { return "(" + x + "," + y + ")"; } }