@nichathan-gaming/map-generator
Version:
Creates and generates a 2 dimensional array with various path generation functions.
31 lines (26 loc) • 1.15 kB
JavaScript
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;