diff options
Diffstat (limited to 'app/src/main/java/com/camilstaps/rushhour/Board.java')
-rw-r--r-- | app/src/main/java/com/camilstaps/rushhour/Board.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/app/src/main/java/com/camilstaps/rushhour/Board.java b/app/src/main/java/com/camilstaps/rushhour/Board.java index eeb2580..cfd3774 100644 --- a/app/src/main/java/com/camilstaps/rushhour/Board.java +++ b/app/src/main/java/com/camilstaps/rushhour/Board.java @@ -23,10 +23,16 @@ public class Board { @Override public void onMove(Car car, int offset) { Coordinate newC = car.wouldMoveTo(offset); - if (newC.getY() > DIMENSION - 1 || newC.getX() > DIMENSION - 1 || newC.getX() < 0 || newC.getY() < 0) return; - for (Car iter : cars) - if (iter.occupies(newC)) + if (newC.getY() > DIMENSION - 1 || newC.getX() > DIMENSION - 1 || newC.getX() < 0 || newC.getY() < 0) { + driveListener.onBlocked(); + return; + } + for (Car iter : cars) { + if (iter.occupies(newC)) { + driveListener.onBlocked(); return; + } + } car.move(offset); driveListener.onDrive(); } |