Class Board.Pos

  • Enclosing class:
    Board

    public static class Board.Pos
    extends Object
    Can be used to describe the position of a piece on the [1:N]x[1:N] grid, or that of a bucket (at (0,0), ... (N+1,N+1)
    • Field Detail

      • x

        public final int x
        Coordinates counted from the bottom left corner. The left bottom bucket is at (0,0), the corner cell is at (1,1).
      • y

        public final int y
        Coordinates counted from the bottom left corner. The left bottom bucket is at (0,0), the corner cell is at (1,1).
    • Constructor Detail

      • Pos

        public Pos​(int _x,
                   int _y)
      • Pos

        public Pos​(int num)
        Parameters:
        num - in the [0 .. N*N-1] range
    • Method Detail

      • num

        public int num()
        Counted by row (left-to-right), rows being arranged bottom-to-top. In other words, the lexicoraphic order for the (y,x) pairs. The ordering for cells is 1-based.
      • bucketNo

        public int bucketNo()
        Converts the coordinates of a bucket to a bucket number.
        Returns:
        the bucket number, or -1 if the coordinates are not valid
      • norm2sq

        public int norm2sq​(Board.Pos q)
        Square of 2-norm distance
      • norm1

        public int norm1​(Board.Pos q)
        1-norm distance
      • flip2corner

        public Board.Pos flip2corner()
        Mirror image of this cell into the bottom left corner
      • nearestBucket

        public HashSet<Integer> nearestBucket()
        Which bucket(s) is/are the nearest to this cell?
      • remotestBucket

        public HashSet<Integer> remotestBucket()
        Which bucket(s) is/are the most remote from this cell?