-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbundle.js.map
1 lines (1 loc) · 82.4 KB
/
bundle.js.map
1
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./entry.js","webpack:///./lib/canvas.js","webpack:///./lib/collision.js","webpack:///./lib/maps/map.js","webpack:///./lib/maps/map_levels.js","webpack:///./lib/player.js","webpack:///./lib/sprites.js","webpack:///./lib/teleport.js","webpack:///./lib/util.js"],"names":["document","addEventListener","requestAnimationFrame","window","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","paused","req","canvas","Canvas","keys","friction","airRes","gravity","maxGrav","portalSpeed","width","height","modal","getElementsByClassName","btn","span","onclick","style","display","event","target","audio","Audio","muted","maps","map1","map2","map3","map4","map5","map6","map7","map8","map9","map10","map11","map12","map13","map","Map","getMap","sprites","Sprites","mainBox","altBox","portals","mainPortalColor","altPortalColor","update","player","levelCount","level","x","playerPos","y","querySelector","innerText","value","grounded","velY","speedY","jumpMult","velX","speedX","velOffset","i","length","ctx","clearRect","drawImage","cubeSprite","boxesP","sprite","boxSpriteP","dir","boxSpriteBlueT","boxSpriteBlueB","boxSpriteBlueL","boxSpriteBlueR","boxSpriteBlue","boxSpriteOrangeT","boxSpriteOrangeB","boxSpriteOrangeL","boxSpriteOrangeR","boxSpriteOrange","Object","boxesNP","boxSpriteNP","boxesT","boxSpriteT","cake","cakeSprite","exit","exitSprite","fillStyle","color","beginPath","arc","radius","Math","PI","fill","tempPortals","assign","j","splice","cancelAnimationFrame","body","e","keyCode","play","button","domRect","getBoundingClientRect","dx","dy","mag","sqrt","portal","push","currentTarget","coll","arrowR","arrowL","content","nextElementSibling","maxWidth","setTimeout","borderTopLeftRadius","borderBottomLeftRadius","WIDTH","HEIGHT","canvasId","getElementById","getContext","colCheck","changeBoxDir","objectPlayerCol","exitPlayerCol","objectPortalCol","shapeA","shapeB","vX","vY","hWidths","hHeights","colDir","abs","oX","oY","box","mapBoxes","BLOCK_H","BLOCK_W","MAP_H","MAP_W","mapIndex","tileX","tileY","tileType","map999","pDim","Image","src","teleport","box1","box2","tempX","disableScrollBars","documentElement","overflow","scroll"],"mappings":"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","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./entry.js\");\n","\nimport { disableScrollBars } from './lib/util';\n\nimport { colCheck, changeBoxDir,\n objectPlayerCol, objectPortalCol,\n exitPlayerCol\n} from './lib/collision';\n\nimport { player, playerPos } from './lib/player';\n\nimport { teleport } from './lib/teleport';\nimport { Canvas } from './lib/canvas';\nimport { Map, BLOCK_W, BLOCK_H } from './lib/maps/map';\n\nimport { map1, map2, map3, map4, map5,\n map6, map7, map8, map9, map10,\n map11, map12, map13\n } from './lib/maps/map_levels';\n\nimport { Sprites } from './lib/sprites';\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n\n // disableScrollBars();\n\n let requestAnimationFrame =\n window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.msRequestAnimationFrame;\n\n window.requestAnimationFrame = requestAnimationFrame;\n\n let paused = false;\n let req;\n\nlet canvas = new Canvas(\"canvas\"),\n keys = [],\n friction = 0.8,\n airRes = 0.83,\n gravity = 0.8,\n maxGrav = 38,\n portalSpeed = 15;\n\ncanvas.canvas.width = canvas.width;\ncanvas.canvas.height = canvas.height;\n\n// Modal logic (https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_modal)\n\n// Get the modal\nvar modal = document.getElementsByClassName('modal')[0];\n\n// Get the button that opens the modal\nvar btn = document.getElementsByClassName(\"description-button\")[0];\n\n// Get the <span> element that closes the modal\nvar span = document.getElementsByClassName(\"close\")[0];\n\n// When the user clicks the button, open the modal\nbtn.onclick = function() {\n modal.style.display = \"block\";\n};\n// When the user clicks on <span> (x), close the modal\nspan.onclick = function() {\n modal.style.display = \"none\";\n};\n// When the user clicks anywhere outside of the modal, close it\nwindow.onclick = function(event) {\n if (event.target === modal) {\n modal.style.display = \"none\";\n }\n};\n\n// Music\nlet audio = new Audio('./music/Portal_Radio_Tune.mp3');\naudio.muted = true;\n\n\n//Get maps\nlet maps = [map1, map2, map3, map4, map5,\n map6, map7, map8, map9, map10, map11, map12, map13];\nlet map = new Map(maps[0], 0);\nmap.getMap();\n\n// Get sprites\nlet sprites = new Sprites();\n\n\n\nlet mainBox = {};\nlet altBox = {};\n\n\nlet portals = [];\nlet mainPortalColor = \"blue\";\nlet altPortalColor = \"orange\";\n\nfunction update(){\n\n if (player.levelCount !== map.level) {\n map = new Map(maps[player.levelCount], player.levelCount);\n map.getMap();\n player.x = playerPos[player.levelCount].x;\n player.y = playerPos[player.levelCount].y;\n mainBox = {};\n altBox = {};\n document.querySelector(\".level\").innerText = player.levelCount + 1;\n document.querySelector(\".select-level\").value = player.levelCount + 1;\n }\n\n // check keys\n if (keys[38] || keys[32] || keys[87]) {\n // up arrow or space or w\n if(player.grounded){\n player.grounded = false;\n player.velY = -player.speedY*player.jumpMult;\n }\n }\n if (keys[39] || keys[68]) {\n // right arrow or d\n if (player.velX < player.speedX) {\n player.velX += player.velOffset;\n }\n }\n if (keys[37] || keys[65]) {\n // left arrow or a\n if (player.velX > -player.speedX) {\n player.velX -= player.velOffset;\n }\n }\n\n if (player.grounded) {\n player.velX *= friction;\n } else {\n player.velX *= airRes;\n }\n\n if (player.velY < maxGrav) {\n player.velY += gravity;\n }\n\n player.x += player.velX;\n player.y += player.velY;\n\n for (let i = 0; i < portals.length; i++) {\n portals[i].x += portals[i].velX;\n portals[i].y += portals[i].velY;\n }\n\n\n ////////// Draw shapes\n\n canvas.ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n // canvas.ctx.fillStyle = \"red\";\n // canvas.ctx.fillRect(player.x, player.y, player.width, player.height);\n\n canvas.ctx.drawImage(sprites.cubeSprite, player.x, player.y, player.width, player.height);\n\n\n player.grounded = false;\n\n //player + box collision\n for (let i = 0; i < map.boxesP.length; i++) {\n\n let sprite = sprites.boxSpriteP;\n\n if (mainBox === map.boxesP[i]) {\n switch (mainBox.dir) {\n case \"b\":\n sprite = sprites.boxSpriteBlueT;\n break;\n case \"t\":\n sprite = sprites.boxSpriteBlueB;\n break;\n case \"r\":\n sprite = sprites.boxSpriteBlueL;\n break;\n case \"l\":\n sprite = sprites.boxSpriteBlueR;\n break;\n default:\n sprite = sprites.boxSpriteBlue;\n }\n } else if (altBox === map.boxesP[i]) {\n switch (altBox.dir) {\n case \"b\":\n sprite = sprites.boxSpriteOrangeT;\n break;\n case \"t\":\n sprite = sprites.boxSpriteOrangeB;\n break;\n case \"r\":\n sprite = sprites.boxSpriteOrangeL;\n break;\n case \"l\":\n sprite = sprites.boxSpriteOrangeR;\n break;\n default:\n sprite = sprites.boxSpriteOrange;\n }\n }\n\n canvas.ctx.drawImage(sprite, map.boxesP[i].x, map.boxesP[i].y, map.boxesP[i].width, map.boxesP[i].height);\n\n\n let dir = colCheck(player, map.boxesP[i]);\n\n // teleport player\n if (dir === \"l\" || dir === \"r\" || dir === \"b\" || dir === \"t\") {\n if (mainBox === map.boxesP[i] && Object.keys(altBox).length !== 0 && mainBox.dir === dir) {\n teleport(player, mainBox, altBox);\n continue;\n } else if (altBox === map.boxesP[i] && Object.keys(mainBox).length !== 0 && altBox.dir === dir) {\n teleport(player, altBox, mainBox);\n continue;\n }\n }\n\n\n if (dir === \"l\" || dir === \"r\") {\n player.velX = 0;\n } else if (dir === \"b\") {\n player.grounded = true;\n } else if (dir === \"t\") {\n player.velY *= 0;\n }\n\n }\n\n //objectPlayerCol\n objectPlayerCol(canvas, player, map.boxesNP, sprites.boxSpriteNP);\n objectPlayerCol(canvas, player, map.boxesT, sprites.boxSpriteT);\n objectPlayerCol(canvas, player, map.cake, sprites.cakeSprite);\n exitPlayerCol(canvas, player, map.exit, sprites.exitSprite);\n\n\n if (player.grounded) {\n player.velY = 0;\n }\n\n\n //draw portals\n for (let i = 0; i < portals.length; i++) {\n canvas.ctx.fillStyle = portals[i].color;\n\n canvas.ctx.beginPath();\n canvas.ctx.arc(portals[i].x, portals[i].y, portals[i].radius, 0, 2 * Math.PI);\n canvas.ctx.fill();\n }\n\n\n // Portal/wall collision detection\n let tempPortals = Object.assign([], portals);\n\n for (let i = 0; i < portals.length; i++) {\n for (let j = 0; j < map.boxesP.length; j++) {\n let dir = colCheck(portals[i], map.boxesP[j]);\n if (dir === \"l\" || dir === \"r\" || dir === \"b\" || dir === \"t\") {\n if (portals[i].color === mainPortalColor) {\n mainBox = map.boxesP[j];\n if (map.boxesP[j] === altBox) {\n altBox = {};\n }\n changeBoxDir(mainBox, dir);\n\n } else if (portals[i].color === altPortalColor) {\n altBox = map.boxesP[j];\n if (map.boxesP[j] === mainBox) {\n mainBox = {};\n }\n changeBoxDir(altBox, dir);\n\n }\n tempPortals.splice(i, 1);\n }\n }\n }\n portals = tempPortals;\n\n tempPortals = Object.assign([], portals);\n portals = objectPortalCol(map.boxesNP, tempPortals, portals);\n\n tempPortals = Object.assign([], portals);\n portals = objectPortalCol(map.exit, tempPortals, portals);\n\n if (paused) {\n cancelAnimationFrame(req);\n } else {\n // UPDATE every frame\n req = requestAnimationFrame(update);\n }\n\n}\n\n\n\ndocument.body.addEventListener(\"keydown\", function(e) {\n keys[e.keyCode] = true;\n // p\n if(e.keyCode === 80){\n paused = !paused;\n update();\n }\n // m\n if (e.keyCode === 77) {\n audio.play();\n audio.muted = !audio.muted;\n }\n // r\n if (e.keyCode === 82) {\n player.x = playerPos[map.level].x;\n player.y = playerPos[map.level].y;\n }\n});\n\ndocument.body.addEventListener(\"keyup\", function(e) {\n keys[e.keyCode] = false;\n});\n\ndocument.body.addEventListener(\"mousedown\", function(e) {\n\n let color = mainPortalColor;\n\n if (e.button === 0) {\n keys['leftMouse'] = true;\n color = mainPortalColor;\n\n } else if (e.button === 2) {\n keys['rightMouse'] = true;\n color = altPortalColor;\n }\n\n let domRect = canvas.canvas.getBoundingClientRect();\n\n let dx = (e.x - player.x - player.width/2 - domRect.x);\n let dy = (e.y - player.y - player.height/2 - domRect.y);\n\n let mag = Math.sqrt(dx * dx + dy * dy);\n\n let portal = {\n x: player.x + player.width/2,\n y: player.y + player.height/2,\n width: 15,\n height: 15,\n radius: 7,\n velX: (dx / mag) * portalSpeed,\n velY: (dy / mag) * portalSpeed,\n color: color\n };\n\n portals.push(portal);\n\n});\ndocument.body.addEventListener(\"mouseup\", function(e) {\n if (e.button === 0) {\n keys['leftMouse'] = false;\n } else if (e.button === 2) {\n keys['rightMouse'] = false;\n }\n});\n\n\ndocument.querySelector(\".select-level\").addEventListener(\"change\", function(e) {\n player.levelCount = e.currentTarget.value - 1;\n\n});\n\n// handle click on collapsible button\nvar coll = document.getElementsByClassName(\"collapsible\")[0];\nvar arrowR = document.getElementsByClassName(\"arrow-right\")[0];\nvar arrowL = document.getElementsByClassName(\"arrow-left\")[0];\n\ncoll.addEventListener(\"click\", function() {\n var content = this.nextElementSibling;\n if (content.style.maxWidth !== \"0px\"){\n content.style.maxWidth = \"0px\";\n arrowL.style.display = \"block\";\n arrowR.style.display = \"none\";\n setTimeout(() => {\n coll.style.borderTopLeftRadius = \"10px\";\n coll.style.borderBottomLeftRadius = \"10px\";\n }, 300)\n } else {\n coll.style.borderBottomLeftRadius = \"0px\";\n coll.style.borderTopLeftRadius = \"0px\";\n content.style.maxWidth = \"440\" + \"px\";\n arrowL.style.display = \"none\";\n arrowR.style.display = \"block\";\n } \n});\n\n\n// first update call\nupdate();\n\n\n});\n","export const WIDTH = 1024;\nexport const HEIGHT = 832;\n\nexport class Canvas {\n constructor(canvasId) {\n this.width = WIDTH;\n this.height = HEIGHT;\n this.canvas = document.getElementById(canvasId);\n this.ctx = this.canvas.getContext('2d');\n }\n}\n","\n\n//collision check credit: http://www.somethinghitme.com/2013/04/16/creating-a-canvas-platformer-tutorial-part-tw/\nexport function colCheck(shapeA, shapeB) {\n // get the vectors to check against\n let vX = (shapeA.x + (shapeA.width / 2)) -\n (shapeB.x + (shapeB.width / 2)),\n vY = (shapeA.y + (shapeA.height / 2)) -\n (shapeB.y + (shapeB.height / 2)),\n // add the half widths and half heights of the objects\n hWidths = (shapeA.width / 2) + (shapeB.width / 2),\n hHeights = (shapeA.height / 2) + (shapeB.height / 2),\n colDir = null;\n\n // if the x and y vector are less than the half width or half height,\n //they we must be inside the object, causing a collision\n if (Math.abs(vX) < hWidths && Math.abs(vY) < hHeights) {\n // figures out on which side we are colliding\n //(top, bottom, left, or right)\n let oX = hWidths - Math.abs(vX);\n let oY = hHeights - Math.abs(vY);\n\n if (oX >= oY) {\n if (vY > 0) {\n colDir = \"t\";\n shapeA.y += oY;\n } else {\n colDir = \"b\";\n shapeA.y -= oY;\n }\n } else {\n if (vX > 0) {\n colDir = \"l\";\n shapeA.x += oX;\n } else {\n colDir = \"r\";\n shapeA.x -= oX;\n }\n }\n }\n return colDir;\n}\n\n\n\nexport function changeBoxDir(box, dir) {\n switch (dir) {\n case 'l':\n box.dir = 'l';\n break;\n case 'r':\n box.dir = 'r';\n break;\n case 'b':\n box.dir = 'b';\n break;\n case 't':\n box.dir = 't';\n break;\n }\n}\n\n\nexport function objectPlayerCol(canvas, player, mapBoxes, sprites) {\n for (let i = 0; i < mapBoxes.length; i++) {\n let sprite = sprites;\n\n canvas.ctx.drawImage(sprite, mapBoxes[i].x, mapBoxes[i].y, mapBoxes[i].width, mapBoxes[i].height);\n\n let dir = colCheck(player, mapBoxes[i]);\n\n if (dir === \"l\" || dir === \"r\") {\n player.velX = 0;\n } else if (dir === \"b\") {\n player.grounded = true;\n } else if (dir === \"t\") {\n player.velY *= 0;\n }\n }\n}\n\nexport function exitPlayerCol(canvas, player, mapBoxes, sprites) {\n for (let i = 0; i < mapBoxes.length; i++) {\n let sprite = sprites;\n\n canvas.ctx.drawImage(sprite, mapBoxes[i].x, mapBoxes[i].y, mapBoxes[i].width, mapBoxes[i].height);\n\n let dir = colCheck(player, mapBoxes[i]);\n\n // Go to next level\n if (dir === \"l\" || dir === \"r\" || dir === \"b\" || dir === \"t\") {\n player.levelCount++;\n }\n\n if (dir === \"l\" || dir === \"r\") {\n player.velX = 0;\n } else if (dir === \"b\") {\n player.grounded = true;\n } else if (dir === \"t\") {\n player.velY *= 0;\n }\n }\n}\n\n\nexport function objectPortalCol(mapBoxes, tempPortals, portals) {\n\n for (let i = 0; i < portals.length; i++) {\n for (let j = 0; j < mapBoxes.length; j++) {\n let dir = colCheck(portals[i], mapBoxes[j]);\n if (dir === \"l\" || dir === \"r\" || dir === \"b\" || dir === \"t\") {\n tempPortals.splice(i, 1);\n }\n }\n }\n return tempPortals;\n}\n\n\n//\n","import { WIDTH, HEIGHT } from '../canvas';\n\nexport const BLOCK_H = 64;\nexport const BLOCK_W = 64;\n\nexport const MAP_H = HEIGHT/BLOCK_H;\nexport const MAP_W = WIDTH/BLOCK_W;\n\nexport class Map {\n constructor(map, level) {\n this.map = map;\n //portal-able boxes\n this.boxesP = [];\n //non-portal-able boxes\n this.boxesNP = [];\n //portal goes through these boxes\n this.boxesT = [];\n this.exit = [];\n this.cake = [];\n this.level = level;\n }\n\n getMap() {\n let mapIndex = 0;\n\n for (let y = 0; y < MAP_H; y++) {\n for (let x = 0; x < MAP_W; x++, mapIndex++) {\n let tileX = x * BLOCK_W;\n let tileY = y * BLOCK_H;\n let tileType = this.map[mapIndex];\n\n let box = {\n x: tileX,\n y: tileY,\n width: BLOCK_W,\n height: BLOCK_H\n };\n\n if (tileType === 1) {\n this.boxesP.push(box);\n } else if (tileType === 2) {\n this.boxesNP.push(box);\n } else if (tileType === 3) {\n this.exit.push(box);\n } else if (tileType === 4) {\n this.boxesT.push(box);\n } else if (tileType === 5) {\n this.cake.push(box);\n }\n }\n }\n }\n\n}\n","\n//width = 16, height = 13\n\nexport const map1 =\n[\n 1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,\n 2,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,\n 2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,\n 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1\n];\n\nexport const map2 =\n[\n 2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,\n 2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,\n 2,4,4,4,4,0,0,2,0,0,0,1,1,1,1,1,\n 1,0,0,0,4,0,0,2,0,0,0,0,0,0,0,1,\n 1,0,0,0,4,0,0,2,0,0,0,0,0,0,0,1,\n 1,0,0,0,4,0,0,2,2,0,0,0,0,0,0,1,\n 2,4,4,4,4,0,0,2,2,2,2,4,4,4,4,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1\n];\n\nexport const map3 =\n[\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,\n 2,2,1,1,1,1,1,1,2,2,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,\n 2,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,\n 2,2,2,2,2,0,0,0,0,0,0,0,2,0,0,3,\n 2,0,0,2,2,0,0,0,0,0,0,0,2,2,2,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2\n];\n\nexport const map4 =\n[\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,1,\n 1,1,1,1,1,1,1,2,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2\n];\n\nexport const map5 =\n[\n 1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,\n 1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,2,2,2,0,0,1,1,0,0,0,0,0,0,0,2,\n 1,0,0,0,0,0,2,2,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2\n];\n\n\n\nexport const map6 =\n[\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,\n 1,0,0,0,2,2,2,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,2,2,0,0,0,0,0,0,0,0,0,1,\n 2,4,4,4,2,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,\n 3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,\n 2,4,4,4,2,2,2,2,2,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n 2,4,4,4,4,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,\n 2,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1\n];\n\nexport const map7 =\n[\n 1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,\n 1,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,\n 2,4,4,4,4,0,2,3,2,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,2,2,2,0,0,0,0,0,0,1,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2\n];\n\nexport const map8 =\n[\n 2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,\n 2,0,0,0,0,0,2,2,0,0,0,4,0,0,0,1,\n 2,0,4,4,4,4,2,2,0,0,0,4,0,0,0,1,\n 2,0,0,2,0,0,0,4,0,0,0,4,0,0,0,1,\n 2,0,0,2,0,0,0,4,0,0,0,0,0,0,0,1,\n 2,0,0,2,0,0,2,2,0,0,0,0,4,2,2,2,\n 2,0,0,2,0,0,2,2,0,0,0,0,0,0,0,3,\n 2,0,0,2,0,0,2,2,0,0,0,0,0,2,2,2,\n 2,0,0,2,0,0,2,2,0,0,0,0,0,0,0,2,\n 2,0,0,2,0,0,2,2,0,0,0,0,0,0,0,2,\n 2,0,0,2,0,0,2,2,0,0,0,0,0,0,0,2,\n 2,0,0,2,0,0,2,2,0,0,0,0,0,0,0,2,\n 2,1,1,2,1,1,2,2,2,2,2,1,2,2,2,2\n];\n\nexport const map9 =\n[\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,\n 2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,\n 2,4,4,4,4,0,2,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,4,0,4,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,4,0,4,0,0,0,0,0,0,0,0,1,\n 1,0,0,0,4,0,4,4,4,4,4,0,0,0,0,1,\n 1,0,0,0,4,0,4,0,0,0,4,0,0,0,0,1,\n 1,0,0,0,4,0,2,0,0,0,4,0,0,0,0,2,\n 1,0,0,0,4,0,1,0,0,0,4,0,0,0,0,2,\n 1,0,0,0,4,0,1,0,0,0,4,0,0,0,0,2,\n 1,0,0,0,4,0,2,0,0,0,4,0,0,0,0,2,\n 1,0,0,0,4,0,2,0,0,0,4,0,0,0,0,2,\n 1,1,1,1,2,1,2,2,2,3,2,2,2,2,2,2\n];\n\n//uses pause buffering\nexport const map10 =\n[\n 2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,2,\n 2,0,0,4,0,1,0,0,0,0,1,0,4,0,0,2,\n 2,0,0,4,0,1,0,0,0,0,1,0,4,0,0,2,\n 2,0,0,4,0,1,0,0,0,0,1,0,4,0,0,2,\n 2,0,0,4,0,1,0,0,0,0,1,0,4,0,0,2,\n 2,0,0,4,0,1,0,0,0,0,1,0,4,0,0,2,\n 2,0,0,4,0,1,0,0,0,0,4,4,4,0,0,2,\n 2,0,0,4,0,1,0,0,0,0,2,2,2,0,0,2,\n 2,0,0,2,2,2,0,0,2,2,2,2,2,0,0,2,\n 2,0,0,4,4,4,0,0,0,0,4,0,0,0,0,1,\n 2,0,0,2,2,2,0,0,0,0,2,0,0,0,0,2,\n 2,0,0,2,2,3,0,0,0,0,2,0,0,0,0,2,\n 2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,2\n];\n\n//uses reset\nexport const map11 =\n[\n 4,4,2,2,2,2,2,2,1,2,2,2,1,2,2,1,\n 2,0,0,4,0,0,2,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,2,0,4,0,0,0,0,1,0,0,4,\n 4,0,0,0,2,4,0,0,0,0,0,1,0,0,0,2,\n 2,0,4,0,4,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,3,2,1,0,2,0,0,0,0,4,0,0,2,\n 2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,4,\n 1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,\n 1,0,0,0,0,0,0,0,0,0,0,0,0,4,4,2,\n 2,0,0,0,0,1,0,0,0,0,0,0,0,4,0,1,\n 2,2,2,2,2,2,2,2,1,2,1,1,1,2,2,2\n];\n\n//uses out of level glitch\nexport const map12 =\n[\n 0,0,4,1,1,4,4,4,4,2,1,1,1,1,1,2,\n 2,4,4,0,1,2,2,0,4,2,0,2,1,0,0,2,\n 2,0,4,2,2,0,2,0,0,0,0,0,2,0,0,2,\n 1,4,4,0,0,0,0,0,4,0,0,0,4,0,0,1,\n 2,0,4,0,0,4,2,2,2,2,2,0,2,0,0,1,\n 2,4,4,4,4,2,0,2,0,0,2,1,2,0,0,1,\n 2,2,0,2,2,2,0,2,0,0,0,2,1,0,0,2,\n 0,4,0,0,1,2,0,2,0,0,0,2,1,0,0,2,\n 0,4,0,2,1,1,0,2,0,2,0,2,1,0,0,2,\n 2,0,0,2,0,4,0,2,0,2,0,2,1,0,0,2,\n 2,0,2,1,0,0,0,2,0,2,0,2,1,0,0,1,\n 3,0,2,0,0,0,0,0,0,2,0,4,4,0,0,1,\n 2,2,2,2,1,2,1,2,2,2,2,2,2,1,1,1\n];\n\n//cake\nexport const map13 =\n[\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,5,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,2,2,2,0,0,0,0,0,2,\n 2,0,0,0,0,0,2,2,2,2,2,0,0,0,0,2,\n 2,0,0,0,0,2,2,2,2,2,2,2,0,0,0,2,\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2\n];\n\n\n\n\n//skeleton\nexport const map999 =\n[\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2\n];\n","import { WIDTH, HEIGHT } from './canvas';\nimport { BLOCK_H, BLOCK_W } from './maps/map';\n\nlet pDim = 42;\n\nexport const player = {\n x: BLOCK_W,\n y: 5*BLOCK_H,\n width: pDim,\n height: pDim,\n speedY: 6,\n speedX: 8,\n jumpMult: 2,\n velX: 0,\n velY: 0,\n velOffset: 4,\n grounded: false,\n levelCount: 0\n};\n\n// Starting player positions for each level\nexport const playerPos = [\n { x: BLOCK_W, y: 5*BLOCK_H },\n { x: BLOCK_W, y: 7*BLOCK_H },\n { x: BLOCK_W, y: 5*BLOCK_H },\n { x: BLOCK_W, y: 11*BLOCK_H },\n { x: BLOCK_W, y: 7*BLOCK_H },\n\n { x: BLOCK_W, y: 2*BLOCK_H },\n { x: BLOCK_W, y: 3*BLOCK_H },\n { x: 3*BLOCK_W, y: BLOCK_H },\n { x: BLOCK_W, y: BLOCK_H },\n { x: BLOCK_W, y: 11*BLOCK_H },\n\n { x: BLOCK_W, y: 11*BLOCK_H },\n { x: 8*BLOCK_W, y: 11*BLOCK_H },\n // { x: 13*BLOCK_W, y: 11*BLOCK_H },\n { x: BLOCK_W, y: 11*BLOCK_H }\n];\n","\nexport class Sprites {\n constructor() {\n this.boxSpriteP = new Image();\n this.boxSpriteP.src = \"./sprites/wall_p.png\";\n\n this.boxSpriteNP = new Image();\n this.boxSpriteNP.src = \"./sprites/wall_np.png\";\n\n this.boxSpriteT = new Image();\n this.boxSpriteT.src = \"./sprites/wall_t.png\";\n\n\n this.boxSpriteBlue = new Image();\n this.boxSpriteBlue.src = \"./sprites/wall_blue.png\";\n\n this.boxSpriteBlueT = new Image();\n this.boxSpriteBlueT.src = \"./sprites/wall_blue/wall_blue_t.png\";\n\n this.boxSpriteBlueB = new Image();\n this.boxSpriteBlueB.src = \"./sprites/wall_blue/wall_blue_b.png\";\n\n this.boxSpriteBlueL = new Image();\n this.boxSpriteBlueL.src = \"./sprites/wall_blue/wall_blue_l.png\";\n\n this.boxSpriteBlueR = new Image();\n this.boxSpriteBlueR.src = \"./sprites/wall_blue/wall_blue_r.png\";\n\n\n this.boxSpriteOrange = new Image();\n this.boxSpriteOrange.src = \"./sprites/wall_orange.png\";\n\n this.boxSpriteOrangeT = new Image();\n this.boxSpriteOrangeT.src = \"./sprites/wall_orange/wall_orange_t.png\";\n\n this.boxSpriteOrangeB = new Image();\n this.boxSpriteOrangeB.src = \"./sprites/wall_orange/wall_orange_b.png\";\n\n this.boxSpriteOrangeL = new Image();\n this.boxSpriteOrangeL.src = \"./sprites/wall_orange/wall_orange_l.png\";\n\n this.boxSpriteOrangeR = new Image();\n this.boxSpriteOrangeR.src = \"./sprites/wall_orange/wall_orange_r.png\";\n\n\n\n this.exitSprite = new Image();\n this.exitSprite.src = \"./sprites/door.png\";\n\n this.cubeSprite = new Image();\n this.cubeSprite.src = \"./sprites/cube_clean.png\";\n\n this.cakeSprite = new Image();\n this.cakeSprite.src = \"./sprites/cake.png\";\n\n }\n\n}\n","\nexport const teleport = (player, box1, box2) => {\n switch (box2.dir) {\n case 'r':\n player.x = box2.x - player.width - 1;\n player.y = box2.y + box2.height/2;\n if (box1.dir === 'r'\n && player.velX > 0) {\n player.velX = -4*player.velX;\n }\n if ((box1.dir === 't' || box1.dir === 'b')\n && player.velY > 0) {\n let tempX = player.velX;\n player.velX = -4*player.velY;\n player.velY = tempX;\n }\n break;\n case 'l':\n player.x = box2.x + box2.width + 1;\n player.y = box2.y + box2.height/2;\n if (box1.dir === 'l'\n && player.velX < 0) {\n player.velX = -4*player.velX;\n }\n if ((box1.dir === 't' || box1.dir === 'b')\n && player.velY > 0) {\n let tempX = player.velX;\n player.velX = 4*player.velY;\n player.velY = tempX;\n }\n break;\n case 't':\n player.x = box2.x + box2.width/2 - player.width/2;\n player.y = box2.y + box2.height;\n if ( (box1.dir === 'r' || box1.dir === 'l')\n && player.velY < 0) {\n player.velY = -player.velY;\n }\n break;\n case 'b':\n player.x = box2.x + box2.width/2 - player.width/2;\n player.y = box2.y - player.height - 1;\n if ( box1.dir === 'r'\n && player.velY > 0) {\n player.velY = -player.velY - player.velX;\n }\n if ( box1.dir === 'l'\n && player.velY > 0) {\n player.velY = -player.velY + player.velX;\n }\n if (box1.dir === 'b') {\n player.velY = -player.velY;\n }\n break;\n }\n};\n","\nexport const disableScrollBars = () => {\n document.documentElement.style.overflow = 'hidden';\n document.body.scroll = \"no\";\n};\n"],"sourceRoot":""}