From 84953098cba5576f0fa30c18828015b765e71a4a Mon Sep 17 00:00:00 2001 From: tpariney Date: Wed, 17 Sep 2025 15:45:47 +0200 Subject: [PATCH] Add maptools module --- maptools/pom.xml | 78 +++++++++++++++++++ .../m1info/gl/tparineymates/Coordinates.java | 20 +++++ .../m1info/gl/tparineymates/Direction.java | 5 ++ .../m1info/gl/tparineymates/MapTools.java | 38 +++++++++ pom.xml | 1 + 5 files changed, 142 insertions(+) create mode 100644 maptools/pom.xml create mode 100644 maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Coordinates.java create mode 100644 maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Direction.java create mode 100644 maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/MapTools.java diff --git a/maptools/pom.xml b/maptools/pom.xml new file mode 100644 index 0000000..4cc7306 --- /dev/null +++ b/maptools/pom.xml @@ -0,0 +1,78 @@ + + + 4.0.0 + + robot-modules + fr.ufrst.m1info.gl.tparineymates + 1.0-SNAPSHOT + + + fr.ufrst.m1info.gl.tparineymates + maptools + 1.0-SNAPSHOT + + maptools + + http://www.example.com + + + UTF-8 + 1.7 + 1.7 + + + + + junit + junit + 4.11 + test + + + + + + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + diff --git a/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Coordinates.java b/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Coordinates.java new file mode 100644 index 0000000..f866599 --- /dev/null +++ b/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Coordinates.java @@ -0,0 +1,20 @@ +package fr.ufrst.m1info.gl.tparineymates; + +public class Coordinates { + + private int x; + private int y; + + public Coordinates(int x, int y) { + this.x = x; + this.y = y; + } + + public int getX() { + return x; + } + + public int getY() { + return y; + } +} diff --git a/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Direction.java b/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Direction.java new file mode 100644 index 0000000..c72f0d2 --- /dev/null +++ b/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/Direction.java @@ -0,0 +1,5 @@ +package fr.ufrst.m1info.gl.tparineymates; + +public enum Direction { + NORTH, WEST, SOUTH, EAST +} diff --git a/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/MapTools.java b/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/MapTools.java new file mode 100644 index 0000000..acd93bf --- /dev/null +++ b/maptools/src/main/java/fr/ufrst/m1info/gl/tparineymates/MapTools.java @@ -0,0 +1,38 @@ +package fr.ufrst.m1info.gl.tparineymates; + +public class MapTools { + + static Coordinates nextForwardPosition(Coordinates position, Direction direction) { + if (direction == Direction.NORTH) + return new Coordinates(position.getX(), position.getY() + 1); + if (direction == Direction.SOUTH) + return new Coordinates(position.getX(), position.getY() - 1); + if (direction == Direction.EAST) + return new Coordinates(position.getX() + 1, position.getY()); + return new Coordinates(position.getX() - 1, position.getY()); + } + + static Coordinates nextBackwardPosition(Coordinates position, Direction direction) { + if (direction == Direction.NORTH) + return new Coordinates(position.getX(), position.getY() - 1); + if (direction == Direction.SOUTH) + return new Coordinates(position.getX(), position.getY() + 1); + if (direction == Direction.EAST) + return new Coordinates(position.getX() - 1, position.getY()); + return new Coordinates(position.getX() + 1, position.getY()); + } + + static Direction counterclockwise(Direction direction) { + if (direction == Direction.NORTH) return Direction.WEST; + if (direction == Direction.WEST) return Direction.SOUTH; + if (direction == Direction.SOUTH) return Direction.EAST; + return Direction.NORTH; + } + + static Direction clockwise(Direction direction) { + if (direction == Direction.NORTH) return Direction.EAST; + if (direction == Direction.EAST) return Direction.SOUTH; + if (direction == Direction.SOUTH) return Direction.WEST; + return Direction.NORTH; + } +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 3fe9687..db92108 100644 --- a/pom.xml +++ b/pom.xml @@ -17,5 +17,6 @@ robot battery + maptools -- GitLab