Skip to content
Snippets Groups Projects
Commit fb1d1cf7 authored by POUSSARDIN Malo's avatar POUSSARDIN Malo
Browse files

étape 3

parent e2517c6c
Branches
Tags template
No related merge requests found
Pipeline #38337 failed
...@@ -15,8 +15,7 @@ public record Coordinate(int x, int y) { ...@@ -15,8 +15,7 @@ public record Coordinate(int x, int y) {
* @return A new {@link Coordinate} instance. * @return A new {@link Coordinate} instance.
*/ */
public static Coordinate of(int x, int y) { public static Coordinate of(int x, int y) {
// TODO: compléter ce fabriquant return new Coordinate(x, y);
return null;
} }
/** /**
...@@ -25,8 +24,7 @@ public record Coordinate(int x, int y) { ...@@ -25,8 +24,7 @@ public record Coordinate(int x, int y) {
* @return The left adjacent {@link Coordinate}. * @return The left adjacent {@link Coordinate}.
*/ */
public Coordinate left() { public Coordinate left() {
// TODO: à compléter return new Coordinate(x-1, y);
return null;
} }
/** /**
...@@ -35,8 +33,7 @@ public record Coordinate(int x, int y) { ...@@ -35,8 +33,7 @@ public record Coordinate(int x, int y) {
* @return The right adjacent {@link Coordinate}. * @return The right adjacent {@link Coordinate}.
*/ */
public Coordinate right() { public Coordinate right() {
// TODO: à compléter return new Coordinate(x+1, y);
return null;
} }
/** /**
...@@ -45,8 +42,7 @@ public record Coordinate(int x, int y) { ...@@ -45,8 +42,7 @@ public record Coordinate(int x, int y) {
* @return The above adjacent {@link Coordinate}. * @return The above adjacent {@link Coordinate}.
*/ */
public Coordinate above() { public Coordinate above() {
// TODO: à compléter return new Coordinate(x, y+1);
return null;
} }
/** /**
...@@ -55,8 +51,7 @@ public record Coordinate(int x, int y) { ...@@ -55,8 +51,7 @@ public record Coordinate(int x, int y) {
* @return The below adjacent {@link Coordinate}. * @return The below adjacent {@link Coordinate}.
*/ */
public Coordinate below() { public Coordinate below() {
// TODO: à compléter return new Coordinate(x, y-1);
return null;
} }
/** /**
...@@ -73,8 +68,7 @@ public record Coordinate(int x, int y) { ...@@ -73,8 +68,7 @@ public record Coordinate(int x, int y) {
* @return A list of orthogonal neighboring {@link Coordinate}s. * @return A list of orthogonal neighboring {@link Coordinate}s.
*/ */
public List<Coordinate> orthogonalNeighbours() { public List<Coordinate> orthogonalNeighbours() {
// TODO: à compléter return List.of(left(), right(), above(), below());
return List.of();
} }
/** /**
...@@ -92,8 +86,11 @@ public record Coordinate(int x, int y) { ...@@ -92,8 +86,11 @@ public record Coordinate(int x, int y) {
* @return A list of diagonal neighboring {@link Coordinate}s. * @return A list of diagonal neighboring {@link Coordinate}s.
*/ */
public List<Coordinate> diagonalNeighbours() { public List<Coordinate> diagonalNeighbours() {
// TODO: à compléter return List.of(
return List.of(); new Coordinate(x-1, y-1),
new Coordinate(x+1, y-1),
new Coordinate(x-1, y+1),
new Coordinate(x+1, y+1));
} }
/** /**
...@@ -111,8 +108,11 @@ public record Coordinate(int x, int y) { ...@@ -111,8 +108,11 @@ public record Coordinate(int x, int y) {
* @return A list of all neighboring {@link Coordinate}s. * @return A list of all neighboring {@link Coordinate}s.
*/ */
public List<Coordinate> orthodiagonalNeighbours() { public List<Coordinate> orthodiagonalNeighbours() {
// TODO: à compléter return List.of(left(), right(), above(), below(),
return List.of(); new Coordinate(x-1, y-1),
new Coordinate(x+1, y-1),
new Coordinate(x-1, y+1),
new Coordinate(x+1, y+1));
} }
@Override @Override
......
...@@ -8,7 +8,10 @@ import java.util.NoSuchElementException; ...@@ -8,7 +8,10 @@ import java.util.NoSuchElementException;
* height range. * height range.
*/ */
class CoordinateIterator implements Iterator<Coordinate> { class CoordinateIterator implements Iterator<Coordinate> {
private int width;
private int height;
private int curretentx=0;
private int currenty=0;
/** /**
* Creates a new {@link CoordinateIterator} with the specified width and height. * Creates a new {@link CoordinateIterator} with the specified width and height.
* *
...@@ -16,8 +19,8 @@ class CoordinateIterator implements Iterator<Coordinate> { ...@@ -16,8 +19,8 @@ class CoordinateIterator implements Iterator<Coordinate> {
* @param height The height of the coordinate range. * @param height The height of the coordinate range.
*/ */
public CoordinateIterator(int width, int height) { public CoordinateIterator(int width, int height) {
// TODO: à compléter this.width = width;
} this.height = height; }
/** /**
* Checks if there are more {@link Coordinate}s to iterate over. * Checks if there are more {@link Coordinate}s to iterate over.
...@@ -26,8 +29,7 @@ class CoordinateIterator implements Iterator<Coordinate> { ...@@ -26,8 +29,7 @@ class CoordinateIterator implements Iterator<Coordinate> {
*/ */
@Override @Override
public boolean hasNext() { public boolean hasNext() {
// TODO: à compléter return currenty < height;
return false;
} }
/** /**
...@@ -38,7 +40,15 @@ class CoordinateIterator implements Iterator<Coordinate> { ...@@ -38,7 +40,15 @@ class CoordinateIterator implements Iterator<Coordinate> {
*/ */
@Override @Override
public Coordinate next() { public Coordinate next() {
// TODO: à compléter if (!hasNext()) {
return null; throw new NoSuchElementException("No more Elements");
}
Coordinate coordinates = new Coordinate(curretentx,currenty);
curretentx++;
if (curretentx >= width) {
curretentx=0;
currenty++;
}
return coordinates;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment