Options
All
  • Public
  • Public/Protected
  • All
Menu

Random dungeon generator using human-like digging patterns. Heavily based on Mike Anderson's ideas from the "Tyrant" algo, mentioned at http://roguebasin.com/index.php/Dungeon-Building_Algorithm

Hierarchy

Index

Constructors

constructor

  • new default(width: number, height: number, options?: Partial<Options>): default

Properties

_corridors

_corridors: Corridor[]

_dug

_dug: number

_featureAttempts

_featureAttempts: number

_features

_features: {}

Type declaration

  • [key: string]: number

_height

_height: number

_map

_map: number[][]

_options

_options: Options

_rooms

_rooms: Room[]

_walls

_walls: {}

Type declaration

  • [key: string]: number

_width

_width: number

Methods

_addDoors

  • _addDoors(): void
  • Find empty spaces surrounding rooms, and apply doors.

    Returns void

_canBeDugCallback

  • _canBeDugCallback(x: number, y: number): boolean

_digCallback

  • _digCallback(x: number, y: number, value: number): void

_fillMap

  • _fillMap(value: number): number[][]

_findWall

  • _findWall(): null | string

_firstRoom

  • _firstRoom(): void

_getDiggingDirection

  • _getDiggingDirection(cx: number, cy: number): null | number[]
  • Returns vector in "digging" direction, or false, if this does not exist (or is not unique)

    Parameters

    • cx: number
    • cy: number

    Returns null | number[]

_isWallCallback

  • _isWallCallback(x: number, y: number): boolean

_priorityWallCallback

  • _priorityWallCallback(x: number, y: number): void

_removeSurroundingWalls

  • _removeSurroundingWalls(cx: number, cy: number): void

_tryFeature

  • _tryFeature(x: number, y: number, dx: number, dy: number): boolean
  • Tries adding a feature

    Parameters

    • x: number
    • y: number
    • dx: number
    • dy: number

    Returns boolean

    was this a successful try?

create

getCorridors

getRooms

Generated using TypeDoc