Class Grid

2D grid of numeric values

Hierarchy

Constructors

  • new Grid(width?: number, height?: number): Grid
  • Create a new Grid

    Parameters

    • width: number = 0
    • height: number = 0

    Returns Grid

Properties

cells: number[] = []

Cell values

center: IPoint = ...

Center point of the grid

height: number = 0

Height of the grid, in cells

width: number = 0

Width of the grid, in cells

Methods

  • copy(grid: Grid): void
  • Copy values from another grid

    Parameters

    Returns void

  • fill(value: number): void
  • Fill the grid with a specified value

    Parameters

    • value: number

    Returns void

  • Invokes a handler for each cell in the grid

    Parameters

    Returns void

  • forEachAdjacent(x: number, y: number, handler: GridForEach): void
  • Invokes a handler for each cell adjacent to a given cell

    Parameters

    Returns void

  • forEachInArea(x: number, y: number, width: number, height: number, handler: GridForEach): void
  • Invokes a handler for each cell within a given area

    Parameters

    • x: number
    • y: number
    • width: number
    • height: number
    • handler: GridForEach

    Returns void

  • get(x: number, y: number): number
  • Gets the value of a cell by its x,y coordinates

    Parameters

    • x: number
    • y: number

    Returns number

  • getAdjacentFlags(x: number, y: number): number
  • Returns a bit mask indicating which adjacent cells are equal

    Parameters

    • x: number
    • y: number

    Returns number

  • indexToX(index: number): number
  • Returns the x coordinate of a given grid index

    Parameters

    • index: number

    Returns number

  • indexToY(index: number): number
  • Returns the y coordinate of a given grid index

    Parameters

    • index: number

    Returns number

  • paste(grid: Grid, x: number, y: number): void
  • "Paste" the contents of another grid at specified location

    Parameters

    • grid: Grid
    • x: number
    • y: number

    Returns void

  • resize(width: number, height: number): void
  • Resize grid

    Parameters

    • width: number
    • height: number

    Returns void

  • rotate(rotations?: number): void
  • Rotate this grid clockwise by 90 degrees, a given number of times

    Parameters

    • rotations: number = 1

    Returns void

  • rotatePoint(p: IPoint, angle: number): void
  • Rotate a given point within this grid around its center

    Parameters

    Returns void

  • set(x: number, y: number, value: number): void
  • Sets the value of a cell by its x,y coordinates

    Parameters

    • x: number
    • y: number
    • value: number

    Returns void

  • setIndex(index: number, value: number): void
  • Sets the value of a cell by its index

    Parameters

    • index: number
    • value: number

    Returns void

  • valid(x: number, y: number): boolean
  • Returns whether or not a given x,y coordinate is a valid cell

    Parameters

    • x: number
    • y: number

    Returns boolean

  • xyToIndex(x: number, y: number): number
  • Converts an x,y coordinate into a flattened index

    Parameters

    • x: number
    • y: number

    Returns number

  • fromStrings(rows: string[], map: string): Grid
  • Create a grid from a set of strings (one row per string)

    Parameters

    • rows: string[]
    • map: string

    Returns Grid

Generated using TypeDoc