コード例 #1
0
 @Override
 public boolean contains(GridPoint referencePoint, GridPoint targetPoint) {
   return this.relativeLocations.contains(
       new GridPoint(
           targetPoint.getColumn() - referencePoint.getColumn(),
           targetPoint.getRow() - referencePoint.getRow()));
 }
コード例 #2
0
 @Override
 public Set<GridPoint> getAllAffectedLocations(GridPoint referencePoint) {
   Set<GridPoint> results = new HashSet<GridPoint>();
   for (GridPoint relativeLocation : this.relativeLocations) {
     int x = referencePoint.getColumn() + relativeLocation.getColumn();
     int y = referencePoint.getRow() + relativeLocation.getRow();
     if (this.grid.isInBounds(x, y)) {
       results.add(new GridPoint(x, y));
     }
   }
   return results;
 }
コード例 #3
0
ファイル: Grid.java プロジェクト: macalicious/Graphioli
  /**
   * Returns the {@link VisualVertex} at the specified {@link GridPoint}.
   *
   * @param gridPoint the GridPoint of the VisualVertex to return
   * @return the VisualVertex at the specified GridPoint or <code>null</code> if the GridPoint is
   *     empty
   */
  public VisualVertex getVisualVertexAtGridPoint(GridPoint gridPoint) {

    // Early negative return if specified GridPoint is invalid
    if (!Validation.isValidGridPoint(
        gridPoint, this.horizontalGridPoints, this.verticalGridPoints)) {
      return null;
    }

    // Get VisualVertex at specified GridPoint
    VisualVertex visualVertex = this.grid[gridPoint.getPositionX()][gridPoint.getPositionY()];

    return visualVertex;
  }
コード例 #4
0
ファイル: GridTessalation.java プロジェクト: aeshel4/puzzles
 public GridPoint[] adjacentPoints(GridPoint point, boolean cornersCount) {
   GridPoint[] allPoints = point.adjacentPoints(cornersCount);
   GridPoint[] adjPoints = new GridPoint[allPoints.length];
   int numInGrid = 0;
   for (int p = 0; p < allPoints.length; ++p) {
     if (this.contains(allPoints[p])) {
       adjPoints[numInGrid++] = allPoints[p];
     }
   }
   return Arrays.copyOf(adjPoints, numInGrid);
 }
コード例 #5
0
ファイル: Grid.java プロジェクト: macalicious/Graphioli
  /**
   * Removes the {@link VisualVertex} from the specified {@link GridPoint} on the Grid.
   *
   * @param gridPoint The GridPoint from which the VisualVertex will be removed
   * @return <code>true</code> if a VisualVertex was removed from this GridPoint on the Grid, <code>
   *     false</code> otherwise
   */
  boolean removeVisualVertexAtGridPoint(GridPoint gridPoint) {

    // Early negative return if specified GridPoint is invalid
    if (!Validation.isValidGridPoint(
        gridPoint, this.horizontalGridPoints, this.verticalGridPoints)) {
      return false;
    }

    // Get VisualVertex at specified GridPoint
    VisualVertex visualVertex = this.grid[gridPoint.getPositionX()][gridPoint.getPositionY()];

    // Return false if GridPoint is empty
    if (visualVertex == null) {
      return false;
    }

    // Remove VisualVertex
    this.grid[gridPoint.getPositionX()][gridPoint.getPositionY()] = null;

    return true;
  }