Skip to content
Snippets Groups Projects
Select Git revision
  • 544ea43db36e7544daae0259cf9cacc47ac96430
  • main default protected
2 results

Square.java

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Square.java 989 B
    package model;
    
    import java.util.Optional;
    
    public class Square {
    
      private Tile tile;
      private Square[] neighboringSquares;
    
      private Square(Tile tile, Square[] neighboringSquares) {
        this.tile = tile;
        this.neighboringSquares = neighboringSquares;
      }
    
      public Square(){
        this(null, new Square[CardinalDirection.NUMBER_OF_DIRECTIONS]);
      }
    
      public Optional<Tile> getSquareTile(){
        if(!hasTile())
          return Optional.empty();
        return Optional.of(tile);
      }
    
      public void add(Tile tile) {
        this.tile = tile;
      }
    
      public boolean hasTile() {
        return tile != null;
      }
    
      public Optional<Tile> getNeighboringSquare(CardinalDirection side) {
        if (neighboringSquares[side.ordinal()] == null)
          return Optional.empty();
        return neighboringSquares[side.ordinal()].getSquareTile();
      }
    
      public void setNeighboringSquare(Square neighboringSquare, CardinalDirection direction) {
        this.neighboringSquares[direction.ordinal()] = neighboringSquare;
      }
    }