diff --git a/bin/tfg/Map.class b/bin/tfg/Map.class index 76fe33c..c409f3e 100644 Binary files a/bin/tfg/Map.class and b/bin/tfg/Map.class differ diff --git a/bin/tfg/Tile.class b/bin/tfg/Tile.class index 002062d..32013b1 100644 Binary files a/bin/tfg/Tile.class and b/bin/tfg/Tile.class differ diff --git a/src/tfg/Map.java b/src/tfg/Map.java index 72b1b42..729361c 100644 --- a/src/tfg/Map.java +++ b/src/tfg/Map.java @@ -78,11 +78,17 @@ public class Map implements Drawable { mapVertexArray.draw(target, newStates); } + public Tile getTile(Location l) { + Vector2i position = l.getPosition(); + Tile t = tileArray[position.x][position.y]; + return t; + } + public boolean isValidLocation(Location l) { Vector2i coordinates = l.getPosition(); return ((coordinates.x >= 0) && (coordinates.y >=0) && (coordinates.x < mapDimensions.x) && - (coordinates.y < mapDimensions.y)); + (coordinates.y < mapDimensions.y) && Tile.getCanWalkOn(getTile(l))); } } diff --git a/src/tfg/Tile.java b/src/tfg/Tile.java index bc5a2ea..b73455d 100644 --- a/src/tfg/Tile.java +++ b/src/tfg/Tile.java @@ -30,4 +30,20 @@ public enum Tile { public static int getSize() { return tileSize; } + + public static boolean getCanWalkOn(Tile t) { + boolean able = false; + switch(t) { + case WATER: + able = false; + break; + case SAND: + able = true; + break; + case GRASS: + able = true; + break; + } + return able; + } }