UNPKG

@nichathan-gaming/map-generator

Version:

Creates and generates a 2 dimensional array with various path generation functions.

31 lines (26 loc) 1.15 kB
import mapGenerator from '../mapGenerator.js'; import crawlVertically from './crawlVertically.js'; import crawlHorizontally from './crawlHorizontally.js'; import {assertInstanceOf, assertType, basicTypes} from '@nichathan-gaming/assertions' /** * Crawls along a maze based of the crawl counts * @param {mapGenerator} map The current game map element * @param {number} verticalCrawlCount The number of times to crawl vertically * @param {number} horizontalCrawlCount The number of times to crawl horizontally */ const crawlingGenerator = (map, verticalCrawlCount, horizontalCrawlCount) => { assertInstanceOf(map, mapGenerator); assertType(verticalCrawlCount, basicTypes.number); assertType(horizontalCrawlCount, basicTypes.number); const width = map.getWidth(); const height = map.getHeight(); while (verticalCrawlCount > 0 || horizontalCrawlCount > 0){ if(verticalCrawlCount-- > 0){ crawlVertically(map, width); }; if(horizontalCrawlCount-- > 0){ crawlHorizontally(map, height); }; }; }; export default crawlingGenerator;