mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-02-01 07:39:35 +01:00
Gjør metoden for å sjekke om et trekk blir stoppet av en vegg offentlig
Bytter navn fra robotMove til move
This commit is contained in:
parent
979265c592
commit
3b7a5c6899
@ -135,7 +135,7 @@ public class Board {
|
|||||||
Position robotPosition = robot.getPosition();
|
Position robotPosition = robot.getPosition();
|
||||||
Position newPosition = getNewPosition(robotPosition, direction);
|
Position newPosition = getNewPosition(robotPosition, direction);
|
||||||
//There is a wall blocking the robot. It can't proceed.
|
//There is a wall blocking the robot. It can't proceed.
|
||||||
if (robotMoveIsStoppedByWall(robotPosition, newPosition, direction)) {
|
if (moveIsStoppedByWall(robotPosition, newPosition, direction)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//Robot tried to go outside of the map. Kill it.
|
//Robot tried to go outside of the map. Kill it.
|
||||||
@ -241,18 +241,6 @@ public class Board {
|
|||||||
return tiles.getElement(position.getXCoordinate(), position.getYCoordinate());
|
return tiles.getElement(position.getXCoordinate(), position.getYCoordinate());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the wall on a specific position
|
|
||||||
* @param position The position to get a wall from
|
|
||||||
* @return The wall on the given position
|
|
||||||
*/
|
|
||||||
public Wall getWallOnPosition(Position position) {
|
|
||||||
if (!isValidPosition(position)) {
|
|
||||||
throw new IllegalArgumentException("Position is not on the board!");
|
|
||||||
}
|
|
||||||
return walls.getElement(position.getXCoordinate(), position.getYCoordinate());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a list of BoardElementContainers, containing all tiles and positions of given tile types
|
* Gets a list of BoardElementContainers, containing all tiles and positions of given tile types
|
||||||
* @param tiles The tiles you want all positions for
|
* @param tiles The tiles you want all positions for
|
||||||
@ -280,13 +268,13 @@ public class Board {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if a potential robot move would be blocked by a wall
|
* Checks if a potential move would be blocked by a wall
|
||||||
* @param robotPosition The current position of the robot
|
* @param robotPosition The current position of whatever is trying to move
|
||||||
* @param newPosition The position the robot is trying to move to
|
* @param newPosition The position something is trying to move to
|
||||||
* @param direction The direction the robot is going
|
* @param direction The direction something is going
|
||||||
* @return True if a wall would stop its path
|
* @return True if a wall would stop its path
|
||||||
*/
|
*/
|
||||||
private boolean robotMoveIsStoppedByWall(Position robotPosition, Position newPosition, Direction direction) {
|
public boolean moveIsStoppedByWall(Position robotPosition, Position newPosition, Direction direction) {
|
||||||
return hasWallFacing(robotPosition, direction) || (isValidPosition(newPosition) &&
|
return hasWallFacing(robotPosition, direction) || (isValidPosition(newPosition) &&
|
||||||
hasWallFacing(newPosition, Direction.getReverseDirection(direction)));
|
hasWallFacing(newPosition, Direction.getReverseDirection(direction)));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user