@@ -49,7 +49,7 @@ public long solveA() {
4949 // Mark as visited
5050 Tile minTile = minTileStatus .getTile ();
5151 Vector2 direction = minTileStatus .getDirection ();
52- int steps = minTileStatus .getLength ();
52+ int steps = minTileStatus .getSteps ();
5353 minTile .visit (ImmutablePair .of (direction , steps ));
5454
5555 // Obtain candidates for Tile
@@ -58,7 +58,7 @@ public long solveA() {
5858 for (TileStatus nextTileStatus : adjacentTiles ) {
5959 Tile adjacentTile = nextTileStatus .getTile ();
6060 direction = nextTileStatus .getDirection ();
61- steps = nextTileStatus .getLength ();
61+ steps = nextTileStatus .getSteps ();
6262
6363 if (!adjacentTile .isVisited (ImmutablePair .of (direction , steps ))) {
6464
@@ -87,7 +87,7 @@ private List<TileStatus> getAdjacentTiles(TileStatus currentTileStatus) {
8787 Tile currentTile = currentTileStatus .getTile ();
8888 Vector2 currentTilePos = new Vector2 (currentTile .getCol (), currentTile .getRow ());
8989 Vector2 currentDirection = currentTileStatus .getDirection ();
90- int currentDirectionSteps = currentTileStatus .getLength ();
90+ int currentDirectionSteps = currentTileStatus .getSteps ();
9191
9292 // Filter reversed direction
9393 Vector2 reversedDirection = new Vector2 (currentDirection );
@@ -98,7 +98,7 @@ private List<TileStatus> getAdjacentTiles(TileStatus currentTileStatus) {
9898 Vector2 nextPosition = Vector2 .transform (currentTilePos , nextDirection );
9999 int nextDirectionSteps = nextSteps (nextDirection , currentDirection , currentDirectionSteps );
100100
101- if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection ) && nextDirectionSteps < 4 ) {
101+ if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection )) {
102102 tileStatuses .add (createTileStatus (nextPosition , nextDirection , nextDirectionSteps ));
103103 }
104104
@@ -107,7 +107,7 @@ private List<TileStatus> getAdjacentTiles(TileStatus currentTileStatus) {
107107 nextPosition = Vector2 .transform (currentTilePos , nextDirection );
108108 nextDirectionSteps = nextSteps (nextDirection , currentDirection , currentDirectionSteps );
109109
110- if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection ) && nextDirectionSteps < 4 ) {
110+ if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection )) {
111111 tileStatuses .add (createTileStatus (nextPosition , nextDirection , nextDirectionSteps ));
112112 }
113113
@@ -116,7 +116,7 @@ private List<TileStatus> getAdjacentTiles(TileStatus currentTileStatus) {
116116 nextPosition = Vector2 .transform (currentTilePos , nextDirection );
117117 nextDirectionSteps = nextSteps (nextDirection , currentDirection , currentDirectionSteps );
118118
119- if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection ) && nextDirectionSteps < 4 ) {
119+ if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection )) {
120120 tileStatuses .add (createTileStatus (nextPosition , nextDirection , nextDirectionSteps ));
121121 }
122122
@@ -125,11 +125,11 @@ private List<TileStatus> getAdjacentTiles(TileStatus currentTileStatus) {
125125 nextPosition = Vector2 .transform (currentTilePos , nextDirection );
126126 nextDirectionSteps = nextSteps (nextDirection , currentDirection , currentDirectionSteps );
127127
128- if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection ) && nextDirectionSteps < 4 ) {
128+ if (isNotOutOfBounds (nextPosition ) && !nextDirection .equals (reversedDirection )) {
129129 tileStatuses .add (createTileStatus (nextPosition , nextDirection , nextDirectionSteps ));
130130 }
131131
132- return tileStatuses ;
132+ return tileStatuses . stream (). filter ( t -> t . getSteps () < 4 ). toList () ;
133133 }
134134
135135
0 commit comments