Skip to content
Snippets Groups Projects
Select Git revision
  • 303a652516a70b66d13b551155bca1df09acd997
  • main default protected
  • melissa
  • yanis
  • variant
5 results

Cloud.java

Blame
  • Forked from COUETOUX Basile / FirefighterStarter
    Source project has a limited visibility.
    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;
      }
    }