-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.js
2 lines (2 loc) · 48.5 KB
/
build.js
1
2
"use strict";function _typeof(i){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(i){return typeof i}:function(i){return i&&"function"==typeof Symbol&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(i)}function _toConsumableArray(i){return _arrayWithoutHoles(i)||_iterableToArray(i)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(i){return Symbol.iterator in Object(i)||"[object Arguments]"===Object.prototype.toString.call(i)?Array.from(i):void 0}function _arrayWithoutHoles(i){if(Array.isArray(i)){for(var t=0,s=new Array(i.length);t<i.length;t++)s[t]=i[t];return s}}function _classCallCheck(i,t){if(!(i instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(i,t){for(var s=0;s<t.length;s++){var e=t[s];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(i,e.key,e)}}function _createClass(i,t,s){return t&&_defineProperties(i.prototype,t),s&&_defineProperties(i,s),i}function _possibleConstructorReturn(i,t){return!t||"object"!==_typeof(t)&&"function"!=typeof t?_assertThisInitialized(i):t}function _assertThisInitialized(i){if(void 0===i)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}function _getPrototypeOf(i){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(i){return i.__proto__||Object.getPrototypeOf(i)},_getPrototypeOf(i)}function _inherits(i,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(t&&t.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),t&&_setPrototypeOf(i,t)}function _setPrototypeOf(i,t){return _setPrototypeOf=Object.setPrototypeOf||function(i,t){return i.__proto__=t,i},_setPrototypeOf(i,t)}!function i(t,s,e){function h(a,n){if(!s[a]){if(!t[a]){var o="function"==typeof require&&require;if(!n&&o)return o(a,!0);if(r)return r(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var p=s[a]={exports:{}};t[a][0].call(p.exports,function(i){var s=t[a][1][i];return h(s?s:i)},p,p.exports,i,t,s,e)}return s[a].exports}for(var r="function"==typeof require&&require,a=0;a<e.length;a++)h(e[a]);return h}({1:[function(i){var t=i(16),s=i(9),e=i(11),h=document.querySelector("#game"),r=h.getContext("2d"),a=function(i){return new Promise(function(t,s){var e=new Image;e.addEventListener("load",function(){return t(e)}),e.addEventListener("error",function(){s(new Error("Failed to load image's URL: ".concat(i)))}),e.src=i})},n=function(i,t,s,e){for(var h=i.width/t,r=i.height/s,a=[],n=0;s>n;n++)for(var o=0;t>o;o++)a.push({x:o*h,y:n*r,spriteWidth:h,spriteHeight:r});return{sprite:i,animations:e.map(function(i){return i.map(function(i){return a[i]})})}};r.mozImageSmoothingEnabled=!1,r.webkitImageSmoothingEnabled=!1,r.msImageSmoothingEnabled=!1,r.imageSmoothingEnabled=!1;var o=e.map(function(i){return a(i.url).then(function(t){return n(t,i.w,i.h,i.animations)})});Promise.all(o).then(function(i){return new s(h,i)}).then(function(i){t.start(function(t){r.clearRect(0,0,h.width,h.height),i.draw(r,t)})})},{11:11,16:16,9:9}],2:[function(i,t){var s=i(6);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a})),s.aY=0,s.maxHealth=30,s.health=s.maxHealth,s.collidingBox={w:.4*s.w,h:.4*s.h},s.moveSpeed=2,s.collidingX=s.x+s.w/2-s.collidingBox.w/2,s.collidingY=s.y+s.h/2-s.collidingBox.h/2,s}return _inherits(t,i),_createClass(t,[{key:"updatePosition",value:function(){this.vX+=this.aX,this.vY+=this.aY,this.x+=this.vX,this.y+=this.vY,this.collidingX=this.x+this.w/2-this.collidingBox.w/2,this.collidingY=this.y+this.h/2-this.collidingBox.h/2}},{key:"attract",value:function(i){var t=i.x+i.w/2-(this.x+this.w/2),s=i.y+i.h/2-(this.y+this.h/2);this.facingX=Math.sign(t);var e=Math.atan(s/t);0>t&&0>s&&(e+=Math.PI),0>t&&s>=0&&(e+=Math.PI);var h=Math.sqrt(t*t+s*s);h>i.w/2?(this.vX=Math.cos(e)*this.moveSpeed,this.vY=Math.sin(e)*this.moveSpeed):(this.vX=0,this.vY=0)}},{key:"isColliding",value:function(i){if(!this.isCollider||!i.isCollider)return!1;var t=this.collidingX,s=this.collidingY,e=this.collidingBox.w,h=this.collidingBox.h;return t<i.x+i.w&&t+e>i.x&&s+h>i.y&&s<i.y+i.h?!0:!1}},{key:"draw",value:function(i,t,s){var e=s.sprite,h=s.animations;this.invinsibleTime--,i.save();{var r=Math.floor(this.frames/6%h[this.state%4].length),a=this.x-(t.x-t.w/2),n=this.y-(t.y-t.h/2);this.collidingX-(t.x-t.w/2),this.collidingY-(t.y-t.h/2)}if(this.state>3){var o=a+this.w/2,l=n+this.h/2;i.translate(o,l),i.scale(-1,1),i.translate(-o,-l)}this.invinsibleTime>0?Math.floor(this.invinsibleTime/10)%2===0||i.drawImage(e,h[this.state%4][r].x,h[this.state%4][r].y,h[this.state%4][r].spriteWidth,h[this.state%4][r].spriteHeight,a,n,this.w,this.h):i.drawImage(e,h[this.state%4][r].x,h[this.state%4][r].y,h[this.state%4][r].spriteWidth,h[this.state%4][r].spriteHeight,a,n,this.w,this.h),i.restore(),this.xLast=this.x,this.yLast=this.y,this.frames++,this.jumpFrame++}}]),t}(s)},{6:6}],3:[function(i,t){var s=i(8);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h,n=i.aimPositon,o=i.isCollider,l=void 0===o?!0:o,p=i.camera;_classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a,isCollider:l})),s.aX=0,s.aY=0,s.aimPositon=n,s.speed=8*Math.random()+4,s.hasReturn=!1,s.shouldReturn=!1,s.spin=0,s.camera=p;var c=s.aimPositon.x-s.w/2-(s.x-(s.camera.x-s.camera.w/2)),u=s.aimPositon.y-s.h/2-(s.y-(s.camera.y-s.camera.h/2));return s.rad=Math.atan(u/c),0>c&&0>u&&(s.rad+=Math.PI),0>c&&u>=0&&(s.rad+=Math.PI),s.vX=s.speed,s}return _inherits(t,i),_createClass(t,[{key:"updatePosition",value:function(){this.vX+=this.aX,this.vY+=this.aY,this.x+=this.vX,this.y+=this.vY,this.aX=0,this.aY=0}},{key:"attracted",value:function(i){var t=i.x+i.w/2-(this.x+this.w/2),s=i.y+i.h/2-(this.y+this.h/2),e=Math.atan(s/t);0>t&&0>s&&(e+=Math.PI),0>t&&s>=0&&(e+=Math.PI);var h=Math.sqrt(t*t+s*s);(h>300||this.shouldReturn)&&(this.hasReturn=!0,this.vX=Math.cos(e)*this.speed,this.vY=Math.sin(e)*this.speed,this.rad=e,this.shouldReturn=!1)}},{key:"draw",value:function(i,t,s){var e=s.sprite,h=s.animations;i.save(),i.fillStyle="rgb(0, 0, 255)";var r=this.x-(t.x-t.w/2),a=this.y-(t.y-t.h/2),n=r+this.w/2,o=a+this.h/2;i.translate(n,o),i.rotate(this.spin/180*Math.PI),i.translate(-n,-o),i.drawImage(e,h[0][0].x,h[0][0].y,h[0][0].spriteWidth,h[0][0].spriteHeight,r,a,this.w,this.h),i.restore(),this.spin+=20}}]),t}(s)},{8:8}],4:[function(i,t){t.exports=function(){function i(t,s,e,h){_classCallCheck(this,i),this.x=t,this.y=s,this.w=e,this.h=h,this.hover=!1}return _createClass(i,[{key:"collide",value:function(i){return i.x>=this.x&&i.x<this.x+this.w&&i.y>=this.y&&i.y<this.y+this.h?!0:!1}},{key:"draw",value:function(i){i.fillStyle=this.hover?"rgb(0, 0, 0)":"rgb(255, 255, 255)",i.fillRect(this.x,this.y,this.w,this.h),i.fillStyle=this.hover?"rgb(255, 255, 255)":"rgb(0, 0, 0)",i.font="36px arial",i.textAlign="start",i.textBaseline="top";var t=i.measureText("Restart");i.fillText("Restart",this.x-t.width/2+this.w/2,this.y+this.h/2-18)}}]),i}()},{}],5:[function(i,t){t.exports=function(){function i(t){var s=t.x,e=t.y,h=t.w,r=t.h;_classCallCheck(this,i),this.x=s,this.y=e,this.w=h,this.h=r}return _createClass(i,[{key:"updatePosition",value:function(i,t,s){this.x=i,this.y=t,this.x-this.w/2<0&&(this.x=this.w/2),this.x+this.w/2>s.tileWidth*s.w&&(this.x=s.tileWidth*s.w-this.w/2),this.y-this.h/2<0&&(this.y=this.h/2),this.y+this.h/2>s.tileWidth*s.h&&(this.y=s.tileWidth*s.h-this.h/2)}}]),i}()},{}],6:[function(i,t){var s=i(14);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a})),s.jumpSpeed=-20,s.moveSpeed=2,s.directionX=s.getXDirection(),s.directionY=s.getYDirection(),s.aimDirection={x:0,y:0},s.state=0,s.frames=0,s.facingX=-1,s.jumpLimit=0,s.jumpLimitMax=0,s.shouldDestroy=!1,s.moved=!1,s}return _inherits(t,i),_createClass(t,[{key:"updatePosition",value:function(i,t){this.vX+=this.aX,this.vY+=this.aY;var s=Math.sqrt((t.x+t.w/2-(this.x+this.w/2))*(t.x+t.w/2-(this.x+this.w/2))+(t.y+t.h/2-(this.y+this.h/2))*(t.y+t.h/2-(this.y+this.h/2)));(150>s||this.moved)&&(this.move(Math.sign(t.x+t.w/2-(this.x+this.w/2))),this.moved=!0,this.y>t.y+t.h&&this.jump()),this.x+=this.vX,this.y+=this.vY}}]),t}(s)},{14:14}],7:[function(i,t){var s=i(20);t.exports=function(i){function t(i){var s=i.x,e=i.y,h=i.w;return _classCallCheck(this,t),_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:s,y:e,w:h}))}return _inherits(t,i),_createClass(t,[{key:"draw",value:function(){}}]),t}(s)},{20:20}],8:[function(i,t){var s=function(){function i(t){var s=t.x,e=t.y,h=t.w,r=t.h,a=t.isRigidBody,n=t.isCollider;_classCallCheck(this,i),this.x=s,this.y=e,this.w=h,this.h=r,this.vX=0,this.vY=0,this.aX=0,this.aY=1,this.isRigidBody=a,this.isCollider=n,this.xLast=this.x,this.yLast=this.y,this.directionX=this.getXDirection(),this.directionY=this.getYDirection(),this.moveSpeed=0}return _createClass(i,[{key:"updatePosition",value:function(){this.vX+=this.aX,this.vY+=this.aY,this.x+=this.vX,this.y+=this.vY}},{key:"isColliding",value:function(i){return this.isCollider&&i.isCollider||i.isDoor&&i.opened?this.x<i.x+i.w&&this.x+this.w>i.x&&this.y+this.h>i.y&&this.y<i.y+i.h?!0:!1:!1}},{key:"handleCollisions",value:function(i){var t=this;i.filter(function(i){return t.isColliding(i)}).forEach(function(i){for(var s=0;t.isColliding(i);){var e=t.getYDirection(),h=t.getXDirection();if(t.y-=e,t.x-=h,0>e?t.jumpLimit=0:e>=0&&(t.jumpLimit=t.jumpLimitMax),s++,s>5e3)break}}),this.checkNextDown(i),this.checkNextLeft(i)}},{key:"checkNextDown",value:function(i){{var t=this;this.getYDirection()}this.y+=Math.sign(this.vY),i.filter(function(i){return t.isColliding(i)}).length>0?(this.y-=Math.sign(this.vY),this.vY=0):this.y-=Math.sign(this.vY)}},{key:"checkNextLeft",value:function(i){{var t=this;this.directionX}this.x+=this.directionX,i.filter(function(i){return t.isColliding(i)}).length>0?(this.x-=this.directionX,this.vX=0):(this.x-=this.directionX,this.vX=this.directionX*this.moveSpeed)}},{key:"getXDirection",value:function(){return Math.sign(this.x-this.xLast)}},{key:"getYDirection",value:function(){return Math.sign(this.y-this.yLast)}}]),i}();t.exports=s},{}],9:[function(i,t){var s=i(14),e=i(19),h=i(5),r=i(13),a=i(3),n=i(6),o=i(21),l=i(18),p=i(10),c=(i(17),i(15)),u=i(12),d=i(4),f=i(2),A=65,y=68,g=32,m=1,w=0;t.exports=function(){function i(t,s){_classCallCheck(this,i),this.sprites=s,this.canvas=t,this.init(t),this.initKeyListeners()}return _createClass(i,[{key:"init",value:function(i){var t=this;if(this.tileMap=new e({w:r[0].w,h:r[0].h,tileWidth:32,map:r[w].string,sprite:this.sprites[3]}),this.creeps=[],this.triggers=[],this.hiddenTiles=[],this.spikes=[],this.movingTiles=[],this.a=[],this.b=[],this.d=[],this.e=[],this.f=[],this.i=[],this.j=[],this.k=[],this.l=[],this.portals=[],this.keys=[],this.gameOverPause=5,this.gameOverFrames=0,this.button=new d(i.width/2-100,i.height/2+100,200,50),2===w){var a=256,A=320;this.boss=new f({x:this.tileMap.w*this.tileMap.tileWidth/2-a/2,y:this.tileMap.h*this.tileMap.tileWidth/2-A/2,w:a,h:A})}else this.boss=!1;r[w].string.forEach(function(i,e){if("c"===i){var h=e%t.tileMap.w*t.tileMap.tileWidth,r=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16;t.creeps.push(new n({x:h,y:r,w:32,h:48}))}if("p"===i){var a=e%t.tileMap.w*t.tileMap.tileWidth,o=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16;t.player=new s({x:a,y:o,w:32,h:48})}if("a"===i){var d=e%t.tileMap.w*t.tileMap.tileWidth,f=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,A=new l({x:d,y:f,w:32,h:48,index:14});t.spikes.push(A),t.a.push(A)}if("b"===i){var y=e%t.tileMap.w*t.tileMap.tileWidth,g=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,m=new l({x:y,y:g,w:32,h:48,index:14});t.spikes.push(m),t.b.push(m)}if("d"===i){var w=e%t.tileMap.w*t.tileMap.tileWidth,v=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth,x=new p({x:w,y:v,w:32,h:32,index:3});t.hiddenTiles.push(x),t.d.push(x)}if("e"===i){var M=e%t.tileMap.w*t.tileMap.tileWidth,b=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,C=new l({x:M,y:b,w:32,h:48,index:14});t.spikes.push(C),t.e.push(C)}if("f"===i){var k=e%t.tileMap.w*t.tileMap.tileWidth,S=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,W=new l({x:k,y:S,w:32,h:48,index:14,vY:10});t.spikes.push(W),t.f.push(W)}if("i"===i){var E=e%t.tileMap.w*t.tileMap.tileWidth,B=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,R=new l({x:E,y:B,w:32,h:48,index:14,vY:10});t.spikes.push(R),t.i.push(R)}if("j"===i){var O=e%t.tileMap.w*t.tileMap.tileWidth,X=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,Y=new l({x:O,y:X,w:32,h:48,index:14,vY:10});t.spikes.push(Y),t.j.push(Y)}if("k"===i){var P=e%t.tileMap.w*t.tileMap.tileWidth,U=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,j=new l({x:P,y:U,w:32,h:48,index:14,vY:10});t.spikes.push(j),t.k.push(j)}if("t"===i){var D=e%t.tileMap.w*t.tileMap.tileWidth-64,F=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-83;t.portals.push(new c({x:D,y:F,w:128,h:128}))}if("l"===i){var I=e%t.tileMap.w*t.tileMap.tileWidth,V=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth-16,H=new l({x:I,y:V,w:32,h:48,index:14});t.spikes.push(H),t.l.push(H)}if("1"===i){var T=e%t.tileMap.w*t.tileMap.tileWidth,_=Math.floor(e/t.tileMap.w)*t.tileMap.tileWidth;t.keys.push(new u({x:T,y:_,w:32,h:32}))}}),r[w].trigger.forEach(function(i,s){if("a"===i){var e=s%t.tileMap.w*t.tileMap.tileWidth,h=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth-16;t.triggers.push(new o({x:e,y:h,w:32,h:48,elements:t.a}))}if("b"===i){var r=s%t.tileMap.w*t.tileMap.tileWidth,a=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth-16;t.triggers.push(new o({x:r,y:a,w:32,h:48,elements:t.b}))}if("d"===i){var n=s%t.tileMap.w*t.tileMap.tileWidth,l=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth;t.triggers.push(new o({x:n,y:l,w:32,h:32,elements:t.d,top:!0}))}if("e"===i){var p=s%t.tileMap.w*t.tileMap.tileWidth,c=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth-16;t.triggers.push(new o({x:p,y:c,w:32,h:48,elements:t.e}))}if("f"===i){var u=s%t.tileMap.w*t.tileMap.tileWidth,d=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth;t.triggers.push(new o({x:u,y:d,w:32,h:32,elements:t.f}))}if("i"===i){var f=s%t.tileMap.w*t.tileMap.tileWidth,A=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth;t.triggers.push(new o({x:f,y:A,w:32,h:32,elements:t.i}))}if("j"===i){var y=s%t.tileMap.w*t.tileMap.tileWidth,g=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth;t.triggers.push(new o({x:y,y:g,w:32,h:32,elements:t.j}))}if("k"===i){var m=s%t.tileMap.w*t.tileMap.tileWidth,w=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth;t.triggers.push(new o({x:m,y:w,w:32,h:32,elements:t.k}))}if("l"===i){var v=s%t.tileMap.w*t.tileMap.tileWidth,x=Math.floor(s/t.tileMap.w)*t.tileMap.tileWidth-16;t.triggers.push(new o({x:v,y:x,w:32,h:48,elements:t.l}))}}),this.camera=new h({x:this.player.x+this.player.w/2,y:this.player.y+this.player.h/2,w:i.width,h:i.height}),this.bullets=[],this.canvas=i}},{key:"initKeyListeners",value:function(){function i(i,t){var s=i.getBoundingClientRect();return{x:t.clientX-s.left,y:t.clientY-s.top}}var t=this;document.addEventListener("keydown",function(i){if(!(t.gameOverFrames>0))switch(i.keyCode){case g:t.player.jump();break;case A:t.player.move(-1);break;case y:t.player.move(1)}}),document.addEventListener("keyup",function(i){if(!(t.gameOverFrames>0))switch(i.keyCode){case A:t.player.vX<=0&&(t.player.vX=0,t.player.directionX=0),t.bullets.length<2&&t.bullets.push(new a({x:t.player.x+t.player.w/2-12.5,y:t.player.y+t.player.h/2-12,w:25,h:24,aimPositon:t.player.aimDirection,camera:t.camera}));break;case y:t.player.vX>=0&&(t.player.vX=0,t.player.directionX=0)}}),this.canvas.addEventListener("mousemove",function(s){var e=i(t.canvas,s);t.mouse=e,t.player.aimDirection=e}),this.canvas.addEventListener("click",function(){t.button.hover&&t.init(t.canvas)})}},{key:"updatePositions",value:function(i){var t=this;this.player.updatePosition(i),this.creeps.forEach(function(s){s.updatePosition(i,t.player)}),this.bullets.forEach(function(s){s.attracted(t.player,t.camera),s.updatePosition(i)}),this.boss&&(this.boss.attract(this.player),this.boss.updatePosition())}},{key:"handleCollisions",value:function(){var i=this;this.player.handleCollisions(this.hiddenTiles.filter(function(i){return i.triggered})),this.player.handleCollisions(this.tileMap.map.filter(function(i){return i.isCollider})),this.creeps.forEach(function(t){t.handleCollisions(i.tileMap.map.filter(function(i){return i.isCollider}))}),this.creeps.forEach(function(t){t.handleCollisions(i.creeps.filter(function(i){return i!==t}))})}},{key:"draw",value:function(i,t){var s=this;if(this.player.y+this.player.h>this.tileMap.h*this.tileMap.tileWidth+300&&(this.player.health=0),(this.state===m||this.player.health<=0)&&this.gameOverFrames++,this.player.health<=0&&this.gameOverFrames>this.gameOverPause){i.fillStyle="rgb(0,0,0)",i.fillRect(0,0,this.canvas.width,this.canvas.height),i.fillStyle="rgb(255, 255, 255)",i.font="36px arial",i.textAlign="start",i.textBaseline="top";var e=i.measureText("Game Over");return i.fillText("Game Over",this.canvas.width/2-e.width/2,this.canvas.height/2-18),this.button.hover=this.button.collide(this.mouse)?!0:!1,this.button.draw(i),void 0}if(this.state===m&&this.gameOverFrames>this.gameOverPause){i.fillStyle="rgb(0,0,0)",i.fillRect(0,0,this.canvas.width,this.canvas.height),i.fillStyle="rgb(255, 255, 255)",i.font="36px arial",i.textAlign="start",i.textBaseline="top";var e=i.measureText("You Won!");return i.fillText("You Won!",this.canvas.width/2-e.width/2,this.canvas.height/2-18),void 0}this.tileMap.map.filter(function(i){return i.moving}).forEach(function(i){i.updatePosition()}),this.updatePositions(t),this.handleCollisions(),this.bullets.forEach(function(i){s.creeps.forEach(function(t){i.isColliding(t)&&(t.shouldDestroy=!0,i.shouldReturn=!0)}),s.tileMap.map.forEach(function(t){i.isColliding(t)&&(i.shouldReturn=!0)}),s.boss&&s.boss.isColliding(i)&&s.boss.invinsibleTime<0&&(s.boss.health--,s.boss.invinsibleTime=50,i.shouldReturn=!0)}),this.creeps.forEach(function(i){s.player.isColliding(i)&&s.player.invinsibleTime<0&&(s.player.health--,s.player.invinsibleTime=50)}),this.boss&&this.boss.isColliding(this.player)&&this.player.invinsibleTime<0&&(this.player.health--,this.player.invinsibleTime=50),this.triggers.forEach(function(i){i.isColliding(s.player)&&(i.elements.triggered=!0)}),this.portals.forEach(function(i){i.isColliding(s.player)&&s.init(s.canvas,w++)}),this.keys.forEach(function(i){i.isColliding(s.player)&&(i.triggered=!0,s.tileMap.map.filter(function(i){return i.isKey}).forEach(function(i){i.vX=2}))}),this.f.forEach(function(i){i.triggered&&i.updatePosition()}),this.i.forEach(function(i){i.triggered&&i.updatePosition()}),this.j.forEach(function(i){i.triggered&&i.updatePosition()}),this.k.forEach(function(i){i.triggered&&i.updatePosition()}),this.spikes.forEach(function(i){i.isColliding(s.player)&&s.player.invinsibleTime<0&&i.triggered&&(s.player.health--,s.player.invinsibleTime=50)}),this.tileMap.map.filter(function(i){return i.isDoor&&i.opened}).forEach(function(i){s.player.isColliding(i)&&(s.state=m)}),this.bullets=this.bullets.filter(function(i){return!(i.isColliding(s.player)&&i.hasReturn)}),this.creeps=this.creeps.filter(function(i){return!i.shouldDestroy}),this.boss&&this.boss.health<=0&&(this.boss=!1,this.state=m),this.camera.updatePosition(this.player.x+this.player.w/2,this.player.y+this.player.h/2,this.tileMap),i.fillStyle="rgb(135, 206, 235)",i.fillRect(0,0,this.canvas.width,this.canvas.height),this.tileMap.draw(i,this.camera),this.triggers.forEach(function(t){t.draw(i,s.camera,s.sprites[7])}),this.spikes.forEach(function(t){t.draw(i,s.camera,s.sprites[7])}),this.hiddenTiles.forEach(function(t){t.draw(i,s.camera,s.sprites[3])}),this.creeps.forEach(function(t){t.updateState(),t.draw(i,s.camera,s.sprites[1])}),this.portals.forEach(function(t){t.draw(i,s.camera,s.sprites[8])}),this.keys.forEach(function(t){t.draw(i,s.camera,s.sprites[6])}),this.player.updateState(),this.player.draw(i,this.camera,this.sprites[0]),this.bullets.forEach(function(t){t.draw(i,s.camera,s.sprites[2])}),this.boss&&this.boss.draw(i,this.camera,this.sprites[9]);for(var h=this.sprites[5],r=36,a=0;a<this.player.health;a++)i.drawImage(h.sprite,h.animations[0][0].x,h.animations[0][0].y,h.animations[0][0].spriteWidth,h.animations[0][0].spriteHeight,10+r*a,10,32,32);if(this.boss){i.fillStyle="rgb(0, 0, 0)";var n=this.canvas.width-84;i.fillRect(42,30,n,40),i.fillStyle="rgb(255, 0, 0)",i.fillRect(42,30,n*this.boss.health/this.boss.maxHealth,40)}}}]),i}()},{10:10,12:12,13:13,14:14,15:15,17:17,18:18,19:19,2:2,21:21,3:3,4:4,5:5,6:6}],10:[function(i,t){var s=i(17);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.isCollider,n=void 0===a?!0:a,o=i.sprite;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,isCollider:n,sprite:o})),s.triggered=!1,s}return _inherits(t,i),_createClass(t,[{key:"draw",value:function(i,t,s){var e=s.sprite,h=s.animations;if(this.triggered){var r=this.x-(t.x-t.w/2),a=this.y-(t.y-t.h/2);e?i.drawImage(e,h[0][15].x,h[0][15].y,h[0][15].spriteWidth,h[0][15].spriteHeight,r,a,this.w,this.h):(i.fillStyle="rgb(0, 0, 0)",i.fillRect(r,a,this.w,this.w))}}}]),t}(s)},{17:17}],11:[function(i,t){t.exports=[{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABgBAMAAAA3GOvjAAAAHlBMVEUAAAAiIDROSk7////QRkjLn3aqMzPw8N0iIDOvgFU+9aw0AAAAAXRSTlMAQObYZgAAAehJREFUWMPs0bENgCAURVHd4L8QBoCEAZAVXIFESy3orVxfWOEWNnrz25NX/OkbzTIhqJ6hQZUsNOhKkQEn55xEoEqGMFMoATjfqfpq4BtXkt8IVCBwyL64BwJjj8IFwXbGaASuvXdhkxqCxzgCbdzfw0wZogAAQlEMb6D3v6waVlaWBB/CZ8HFveiqBXB21QK4u2oBnF21AM6uWgBnVy2As6sWwNlVC1h21QK4umoBnF21AM6uWgBnVy2As6sWwJlHC+D8aAGcXbWA2121AO6ujnXfvWcT/nO7Gzu2YRgGYgDojPCN91Pj/UdIDCMv4AxCThs2bMTI1UHIj9qJ09OI0/ObxQkmc8RJJmPESSZjxEkmlzx2dDZEnHA2D8FJJvNQnGQyD8VJJmPESSZjxEkmY8RJJmPESSbXylVgcjV8HaNqHzcmc/ZxavaR7gsUPObhZ1TbV7Tr5uPJsG6QbK/9HNYxlpSYa1Bj+5ecmtnPXbWXF7WrtjcrfrtqC7Pit6u2MCt+u2oLs+I3h7Yw38UnCWbFb81sYVb81swWZsVvzWxhRvx21RZmxW9XbWFW/HbVFmbFb1dtYVZ8X48ZZsXPQ2FW/PlqtP0BvT31rgvj7t2D9+fodcjUPOBg/m+QfJlfUDW/qN+3b98V6+JI8ZQLAAAAAElFTkSuQmCC",w:7,h:4,animations:[[0],[7,8,9,10],[14,15,16,17],[21,22,23,24,25,26,27]],index:0},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABgBAMAAAA3GOvjAAAAG1BMVEUAAAAiIDRDQ0NNTU02NjZEfM////8XgXg9YrOqSr21AAAAAXRSTlMAQObYZgAAAZVJREFUWMPtlkFqg1AUReMOfFDEsRQ6LtlB6RZ0Kx07c9nVH7yFUz4XH1iatA/h8oLnmgg5/MvfmCaiTYFP1+vrg4NRJvNS34ZhaO8E/Bhefhh8H57v5OVE13UpcJymKQeO05gCl4glBc7blQHb7fqfE7zKAu0OZIF2BzJPBaPMARB/ZBRodyALtDuwlk6PeZAF2r1XBSLNb0SBdguyQLv3qkCk8SoKtFuvokC79SoKtFuvskC792oT61VynXbff+ccsp2TU8JyCRAFJ+mRtvMg5WRAb7kEiILaQE4JyyVBysqDkJPRo7fcARCysl6FnDJ6jOIaPtnrsVnmiH5WkfdqPxebNfMuKGiyDq5QbMyu2VuR92rwXa1FfXn6WgHQzg2I+fIoU2yGTOvRPeiAV2F861UCBDMZZZgGrOuxBqjYe5WAigWYAnwuKRm/5kHqUzZjsoDFppmpYoFWzDS+bMZkAYtlMyZvpPFlMyafTOPrlMikmL8fRzd7R7nhK/v6+VXF5SZO6AYCOt9KyBx9A51fy67z7SfhQ+ySO2C7eQAAAABJRU5ErkJggg==",w:7,h:4,animations:[[0],[7,8,9,10],[14,15,16,17],[21,22,23,24,25,26,27]],index:1},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAaBAMAAACwU+r+AAAAKlBMVEUAAAAAAAAXERr/vzaXdUuwtL14hKt3MDnV2t6cY2TZpafhQUGvMT6QKDt+NCA9AAAAAnRSTlMAWWQkJGgAAACKSURBVBjTYwADJSBggAAmJSVjIFCCcowhQAHEUQ0Csy2nOAF5GqFJLi4uzsaztrsoAHlhaUAjVJznXHdRBJshKCgopFJe4qIowMAAZIO4xsZgHqOgIAOQVIbwYLYam1CFZySIzHNC4zHAgTIKT0kJmacRqojMC0PmqSYJCuDiMSErBPoahccIVAgAAyUanZSjVh0AAAAASUVORK5CYII=",w:1,h:1,animations:[[0]],index:2},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAACXTjTRdDIAAAB0MygXVU9OJCsej0kbckw9sDNb0R2DLAJ8AAAAAXRSTlMAQObYZgAAAVpJREFUSMft1UFqwlAQBuCBnGCMdO9rDmA6UaE7zeAFQhC7k0ou0EW8gDT7UFp7AskpO5n34CWI2E2hQt7mg99/4QwDAXg+ZrOszI5NV9JcDZqP8uVcHqq+08AJi+1n+X1+b6q+9cIJi3JzOOXbZmM9OWuXS+Gtyqt8+7Upu2a15CrMKsqzPKNrAhHPcko47UvkBGLJkiVy1/meyKoFZtTnZW4LalswBvV5bUEFWkpgJogj48UxSa4CSdJ/2iPJVYhxxGxj7wRDyVWIHwpEXhkTsbfYhZKrEO8lwDHzEr28DiVX2ynw4tkp1NuF23tgCYzmXmwLqP5qD5cFuwf1vyzqL+4B3R7w2j2gGxOHe7i/e4jsHXjtPagQ70bm0chbGa/8e811ihiTtP3hyXgRQ8lVmM/plXgVRUlHGU9yFQIqioLGadpzPQ2cIA0iIJp2DQjAOXwvrMM9WH8AYRmqUuG8/l4AAAAASUVORK5CYII=",w:4,h:4,animations:[Array.from({length:16},function(i,t){return t})],index:3},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAbBAMAAACdJvIfAAAAJFBMVEUAAAAAAAAXERqMPzSqWERnNDVJKzi0bFtxNzU3JThfMTZULjbaWIq0AAAAAnRSTlMAWWQkJGgAAACoSURBVBjTVc/RDYIwEMbx0gnuYwKvSHjnQoPPNA5AjAOQsIGJAxhdwg18dEKBhOt5b//8Lk3P6QRnx98OfzmwzaaFXT/GkA5md04yGrxImCijtGDs2FVSM7DjWLbl19GOXHbMpAjUUwFFkGcixQWALcKKCxQbNvfzgvmwJBNIL0nSd5w/O4g8Tcqaulyd3vIyGec+5vTx81hfVpYrm/QhAC4PADJZGPwBoOscNeZDQFgAAAAASUVORK5CYII=",w:1,h:1,animations:[[0]],index:4},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAAQBAMAAAAsdmq7AAAAFVBMVEUAAAD+gMX96NOpD0fdNjZjEkUQCh2YrAkKAAAAAXRSTlMAQObYZgAAAaFJREFUOMuljjGS2zAMRTHjkXuAVHrAPoC4ptzToraWVpJrZ5y9/xUCgi6UTFKZzSf/A94Q3j+XDWDbyqWDzYpLZ7l1h4s9/+LbQavyBuMHdFODw6SXoXGTFolHr9mkJWKnNU5NwMrR+pV8p8ld4RCI+znnHoL4eehVQOKDDq6xTeIg5NwuxK3x3OqiS8K6+IUuo1MBI+Y89vDB6Mcq4KyCZU1IJwhrzojUGh+KIJMJZkRMJiBOfrzqgGB71QES8Q+A54qignlNnrgKyP0AOCYVTAA/k5hgZhL0/T8EcxUsCeUlEPdZBeedYKEiWO4QWNjdVXCrgu9AQg6Wtgi4V47ir1XgdoLmhoLj+ICDEJdF+BJxDxtk6aCJqw6cJ+UqKL2KWyhcPHZ6WZl8VPOBkIcimEVKHqMWOrAMiWms3NVeRhPQYIImpcEWwxk/oRhFriV/4c0VHqP3044/ifvKowNb8NEWFsyWzY0tnxl7yyGNe/68naZXr9y+MDwsg7M8htMr3WQZ/fQH/2hrxsJNda35bWnvmvf/8PsuTfV4I98+vwEdBmLwUv4jHAAAAABJRU5ErkJggg==",w:8,h:1,animations:[Array.from({length:8},function(i,t){return t})],index:10},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAAAQBAMAAAAsdmq7AAAAFVBMVEUAAACEHzzOOQ8QCh3+2WDtkR///f0ZoxKhAAAAAXRSTlMAQObYZgAAAVJJREFUOMvdjrFygzAQRE/OjGshBLW5gGvbwumxET1Ycm2Irf//hNxJzPgH0iRbsDe7x9PBH9f2NwAbrNIkUK4xJUlC7dKgMA6YA+sjk1xmOwgPgCZYuUFeGkaBwMj+dWBHWTwv7DvhwkQvbbzl4nH2/EJhpxCIsMdaik5QsHSqi4C7znlRV3o/AUgtxQUXmGfhasq3AbOR63oUfEFpWqycllB8W2Xjbfe2OJC5yn2NIDqr8GpmKDusWwYvTxMB9N8gyWXb9952UHS28Yc34MNPrhxBO9/3V7rxOYRec78JlwjQQxhm8qycELEiwAtxBSgGIDJAUdnMWSc8Yp0AHm9kraaCSEX/yg0JlBuNSQB9YoAxRbgBd8d7P4rMmMbG3phPsrPNzTEDOGLFKQ85RIlmMWk6ed4klqKOLa2mzfSND8E6cMvK1uQd0WnJ3nH8/g/9APOyQMELsuB+AAAAAElFTkSuQmCC",w:8,h:1,animations:[Array.from({length:8},function(i,t){return t})],index:11},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABpBAMAAABrM3jnAAAAFVBMVEUAAAA6RGals8dzg5/Ay9yLm7Tq1Kq/5h02AAAAAXRSTlMAQObYZgAAAFtJREFUSMft0jENgEAQBVEsrAUsYGEtYAH/EphmkwskSw4oZ+pX/fzlVUGieAQHBYl6lCQSfUEFNlqpjicS/YGSRHcUtFOhcVBRj5JEolk0gkLX44l6lCQSTaAT5WyJMAW3Ko8AAAAASUVORK5CYII=",w:1,h:1,animations:[[0]],index:14},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACX0lEQVR4nO2aPU7DQBCFJwhRoXCBlO5yAk6RXCBUKX2clFRwgfgUnIDOZS6QKFUao1l71+t1sBzHOw/h+SQkZCDJvPnbGZYURVEURVEURVGUCTK71eTn96fWs4BiyOt2cd5eOn56H48RXrOv8cWAvxmdB9D7lsYnRfnVFEOUGBHQ2/jd8sV8m9KRKJ+Nnjp9QEWAYz3/cEIgkBag4X02fvG5pvT7SLvVnLxUKKTSAhoBbLypATmsBkZpg13UxY+NTjwn1yKEn6k4by/RFJKMgNr4XwjSwBI1PDApEHqfSmHS7NT61diICxBWfGQHYKBF0BqPFAFxEGrALZAqEdJcPgVgAhxeM1p8rVz1N6fBhMRbolQKmIrHVZ4L3WGzr42380A+K1NBeDYYIgBscInBEAHGidGwFVZtULogQrqACf8KNnhKw1ALHogI2ApFBbAtz8KdYH96azy3gkgBjwBrfCiOFFAB2PsG2/uTohyRBYFHgOsGoJ0AXgAwEAHcMtSbA1CMIcBoJ0OEEGMI0Dt5rxrYsSGSAFYDzPrLDkBA/kQRNKswngUAZwH5lVg1ElsaRl/bFUZGSgBTJ7qWni4VyvOA2KEAlgJhuEvPABZxAXxDeTOECHsf6FKUZwEjgj8XCCMuAC9DDpus/KcoL0KX1TgMmgkgNcD3NmoMtkgKULq28rA9CLlntfdFQwASAW4IsiJ4t0WkgbZBI4R3WWIKAjTSgKoDkL0p8i/vCO1W884mz1Hgr8mliSLAYbN3RqfZKfRqKwoQxa/5YW7gzisyPr0vSsa8KaooiqIoU4WIfgCxxc5yQvaH+gAAAABJRU5ErkJggg==",w:1,h:1,animations:[[0]],index:15},{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABQBAMAAABbkW52AAAAGFBMVEUAAAAYEiAlHjCFQCTNkVJVHB8ArtcAYnz22jDwAAAAAXRSTlMAQObYZgAAAN5JREFUSMft07FtAzEQRNEjK+AMDDjljCowZBVgQA24BPffhJeyQ+8ycKDkfroP3APBO87Onlr33MztEggsQV9gVgCAvQPYAGpsgJWD9oqvEgiR92CmwDGnUAAB3oHythnT6i57jL3ATDcswBR0mTQcJYB8ACABJkwr3yErZiCY7LCv/DEJ0P2TvryBsv4GtwDv91v6De3lI054gORRAfDlClopkFU9unWCGAA5kKh/gBYgIjNw/IKRA4UA9qBlYNQgWkBjFD9nzFvMS9Ar0KV5BMhrAep0bGrH2dlz+wbwlyFhLY8qGwAAAABJRU5ErkJggg==",w:1,h:1,animations:[[0]],index:16}]},{}],12:[function(i,t){var s=i(21);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a})),s.frames=0,s.isKey=!0,s}return _inherits(t,i),_createClass(t,[{key:"draw",value:function(i,t,s){var e=s.sprite,h=s.animations;if(!this.triggered){i.save();var r=Math.floor(this.frames/8%h[0].length),a=this.x-(t.x-t.w/2),n=this.y-(t.y-t.h/2);i.drawImage(e,h[0][r].x,h[0][r].y,h[0][r].spriteWidth,h[0][r].spriteHeight,a,n,this.w,this.h),i.restore(),this.frames++}}}]),t}(s)},{21:21}],13:[function(i,t){t.exports=[{string:"###################################################...........fff..............ii.......kkk..jjj...##................................................##................................................##...............................................t##..........................................########................................................##................................................##.................................######.........##................................................##................................................##................................................##................................................##................................................##................................................##........................................#####...##................................................##................c........ggg....................##................e...............................##.............####...............................##................................................##.........ddd.........................c..........##.................................#####..........##................................................##................................................##................................................##................................................##p....a...bbbb...................................###################...............................#",trigger:"....................................................................................................................................................................................................................................................................................................................................................kk................................................kk.....................................ii.........kk.....................................ii.........kk.....................................ii...............................ff...............ii............jj.................ff...............ii............jj.................ff...............ii............jj.................ff...............ii............jj.................ff...............ii...............................ff...............ii...............................ff...............ii...............................ff...e...........ii...............................ff................................................ff..................................................................................................................................................dddd...............................................dd...............................................................................................................................................a...bbbb......................................................................................",w:50,h:29},{string:"###################################################...........ff.............................kkkkkk##................................................##..........................1.....................##.....................#######....................##p...............................................#######...........................................##................................................##.....................................gggg.......##...bbb....c.....................................##...##########...................................##................................................##...................e.................####.......##............########............................##................................................##................................................##..........dddd..................................##.........................................#########................................................##................................................##.......###.......gggg...........#####...........##................................................##......................llllllllllllllll..........##......................################..........##.....................................#..........##.....................................#..........##.....................................#..........##.......................mmmmmm.......t#..........##.....................................#..........#",trigger:"............ff................................................ff................................................ff................................................ff................................................ff................................................ff................................................ff................................................ff................................................ff........................................bbb.....ff............................................................................................................................................................e....................................................................kkkk....................ddd.......................kkkk....................ddd.......................kkkk....................ddd.......................kkkk....................ddd...............................................ddd...............................................................................................................................................................................................................llllllllllllllll.......................................................................................................................................................................................................................................................................................................................",w:50,h:29},{string:"###################################################...........fff..............ii.......kkk..jjj...##................................................##................................................##................................................##..........................................########................................................##................................................##.................................######.........##................................................##.####...........................................##................................................##................................................##................................................##...........#####................................##........................................#####...##................................................##.........................ggg....................##....####........e...............................##.............####...............................##................................................##.........###....................................##.................................#####..........#####.............................................##................................................##..........................................########................................................##p....a...bbbb...................................###################################################",trigger:"..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",w:50,h:29}].map(function(i){return{string:i.string.split(""),w:i.w,h:i.h,trigger:i.trigger.split("")}
})},{}],14:[function(i,t){var s=i(8),e=(i(17),1),h=2,r=3,a=5,n=6,o=7;t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h,n=i.isRigidBody,o=void 0===n?!0:n,l=i.isCollider,p=void 0===l?!0:l;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a,isRigidBody:o,isCollider:p})),s.jumpSpeed=-22,s.moveSpeed=5,s.aimDirection={x:0,y:0},s.state=0,s.frames=0,s.facingX=0,s.jumpLimit=0,s.jumpLimitMax=1,s.health=1,s.invinsibleTime=0,s.jumping=!1,s.jumpFrame=100,s.timeBetweenJump=10,s}return _inherits(t,i),_createClass(t,[{key:"jump",value:function(){this.jumpLimit>0&&this.jumpFrame>this.timeBetweenJump&&(this.vY=this.jumpSpeed,this.jumpLimit--,this.jumpFrame=0)}},{key:"move",value:function(i){this.directionX=i,this.facingX=i,this.vX=i*this.moveSpeed}},{key:"updateDirection",value:function(){this.directionX=this.getXDirection(),this.directionY=this.getYDirection()}},{key:"updateState",value:function(){var i=!1;this.vY<0?this.facingX>=0?i=e:this.facingX<0&&(i=a):this.vY>0?this.facingX>=0?i=r:this.facingX<0&&(i=o):this.directionX>0?i=h:this.directionX<0?i=n:this.facingX>=0?i=e:this.facingX<0&&(i=a),this.state!==i&&(this.frames=0),this.state=i}},{key:"draw",value:function(i,t,s){var e=s.sprite,h=s.animations;this.invinsibleTime--,i.save();var r=Math.floor(this.frames/6%h[this.state%4].length),a=this.x-(t.x-t.w/2),n=this.y-(t.y-t.h/2);if(this.state>3){var o=a+this.w/2,l=n+this.h/2;i.translate(o,l),i.scale(-1,1),i.translate(-o,-l)}this.invinsibleTime>0?Math.floor(this.invinsibleTime/10)%2===0||i.drawImage(e,h[this.state%4][r].x,h[this.state%4][r].y,h[this.state%4][r].spriteWidth,h[this.state%4][r].spriteHeight,a,n,this.w,this.h):i.drawImage(e,h[this.state%4][r].x,h[this.state%4][r].y,h[this.state%4][r].spriteWidth,h[this.state%4][r].spriteHeight,a,n,this.w,this.h),i.restore(),this.xLast=this.x,this.yLast=this.y,this.frames++,this.jumpFrame++}}]),t}(s)},{17:17,8:8}],15:[function(i,t){var s=i(21);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a})),s.frames=0,s}return _inherits(t,i),_createClass(t,[{key:"draw",value:function(i,t,s){var e=s.sprite,h=s.animations;i.save();var r=Math.floor(this.frames/8%h[0].length),a=this.x-(t.x-t.w/2),n=this.y-(t.y-t.h/2);i.drawImage(e,h[0][r].x,h[0][r].y,h[0][r].spriteWidth,h[0][r].spriteHeight,a,n,this.w,this.h),i.restore(),this.frames++}}]),t}(s)},{21:21}],16:[function(i,t){function s(i){return window.requestAnimationFrame(function(){var t=Date.now(),s=t-e;s=1/60,e=t,i(s)})}var e=0;t.exports={start:function(i){return s(function t(e){i(e),s(t)})},stop:function(i){window.cancelAnimationFrame(i)}}},{}],17:[function(i,t){var s=i(20);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.isCollider,n=void 0===a?!0:a,o=i.sprite,l=i.isDoor,p=i.moving,c=i.movingDistanceX,u=void 0===c?0:c,d=i.movingDistanceY,f=void 0===d?0:d,A=i.vX,y=void 0===A?0:A,g=i.vY,m=void 0===g?0:g,w=i.isKey,v=void 0===w?!1:w;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,isCollider:n,sprite:o})),s.opened=!1,s.isDoor=l,s.vX=y,s.vY=m,s.moving=p,s.aY=0,s.originalPosX=s.x,s.originalPosY=s.y,s.movingDistanceX=u,s.movingDistanceY=f,s.isKey=v,s}return _inherits(t,i),_createClass(t,[{key:"updatePosition",value:function(){Math.abs(this.x-this.originalPosX)>=this.movingDistanceX&&(this.vX*=-1),Math.abs(this.y-this.originalPosY)>=this.movingDistanceY&&(this.vY*=-1),this.vX+=this.aX,this.vY+=this.aY,this.x+=this.vX,this.y+=this.vY}},{key:"draw",value:function(i,t){if(this.isDoor===!0&&this.opened)return this.isCollider=!1,void 0;var s=this.x-(t.x-t.w/2),e=this.y-(t.y-t.h/2);this.sprite?i.drawImage.apply(i,_toConsumableArray(this.sprite).concat([s,e,this.w,this.h])):(i.fillStyle="rgb(0, 0, 0)",i.fillRect(s,e,this.w,this.w))}}]),t}(s)},{20:20}],18:[function(i,t){var s=i(8);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h,n=i.isRigidBody,o=void 0===n?!1:n,l=i.isCollider,p=void 0===l?!1:l,c=i.index,u=i.vY,d=void 0===u?0:u;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a,isRigidBody:o,isCollider:p,index:c})),s.frames=0,s.index=c,s.vY=d,s.aY=0,s}return _inherits(t,i),_createClass(t,[{key:"isColliding",value:function(i){return this.x<i.x+i.w&&this.x+this.w>i.x&&this.y+this.h>i.y&&this.y<i.y+i.h?!0:!1}},{key:"draw",value:function(i,t,s){var e=s.sprite,h=s.animations;if(this.triggered){i.save();var r=Math.floor(this.frames/8%h[0].length),a=this.x-(t.x-t.w/2),n=this.y-(t.y-t.h/2);if(this.vY>0){var o=a+this.w/2,l=n+this.h/2;i.translate(o,l),i.scale(1,-1),i.translate(-o,-l)}i.drawImage(e,h[0][r].x,h[0][r].y,h[0][r].spriteWidth,h[0][r].spriteHeight,a,n,this.w,this.h),i.restore(),this.xLast=this.x,this.yLast=this.y,this.frames++}}}]),t}(s)},{8:8}],19:[function(i,t){{var s=i(17),e=i(7);i(6)}t.exports=function(){function i(t){var h=this,r=t.w,a=t.h,n=t.tileWidth,o=t.map,l=t.sprite;_classCallCheck(this,i),this.w=r,this.h=a,this.tileWidth=n,this.sprite=l,this.map=o,this.map=o.map(function(i,t){var r=t%h.w,a=Math.floor(t/h.w),n=r*h.tileWidth,o=a*h.tileWidth,l=!1;switch(i){case"#":return l=h.getSprite(r,a,i),new s({x:n,y:o,w:h.tileWidth,sprite:l});case"g":return l=h.getSprite(r,a,i),new s({x:n,y:o,w:h.tileWidth,sprite:l,moving:!0,movingDistanceX:200,vX:2,vY:0});case"h":return l=h.getSprite(r,a,i),new s({x:n,y:o,w:h.tileWidth,sprite:l,moving:!0,movingDistanceY:100,vY:2});case"m":return l=h.getSprite(r,a,i),new s({x:n,y:o,w:h.tileWidth,sprite:l,moving:!0,movingDistanceX:300,vX:0,vY:0,isKey:!0});case".":return new e({x:n,y:o,w:h.tileWidth});case"2":return new s({x:n,y:o,w:h.tileWidth,sprite:l,isDoor:!0});default:return new e({x:n,y:o,w:h.tileWidth})}})}return _createClass(i,[{key:"getSprite",value:function(i,t){var s=!1,e={x:i-1,y:t},h={x:i,y:t-1},r={x:i+1,y:t},a={x:i,y:t+1};return s=!this.isSolid(e.x,e.y)&&!this.isSolid(h.x,h.y)&&this.isSolid(r.x,r.y)&&this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][0].x,this.sprite.animations[0][0].y,this.sprite.animations[0][0].spriteWidth,this.sprite.animations[0][0].spriteHeight]:this.isSolid(e.x,e.y)&&!this.isSolid(h.x,h.y)&&this.isSolid(r.x,r.y)&&this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][1].x,this.sprite.animations[0][1].y,this.sprite.animations[0][1].spriteWidth,this.sprite.animations[0][1].spriteHeight]:this.isSolid(e.x,e.y)&&!this.isSolid(h.x,h.y)&&!this.isSolid(r.x,r.y)&&this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][2].x,this.sprite.animations[0][2].y,this.sprite.animations[0][2].spriteWidth,this.sprite.animations[0][2].spriteHeight]:this.isSolid(e.x,e.y)||this.isSolid(h.x,h.y)||this.isSolid(r.x,r.y)||!this.isSolid(a.x,a.y)?!this.isSolid(e.x,e.y)&&this.isSolid(h.x,h.y)&&this.isSolid(r.x,r.y)&&this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][4].x,this.sprite.animations[0][4].y,this.sprite.animations[0][4].spriteWidth,this.sprite.animations[0][4].spriteHeight]:this.isSolid(e.x,e.y)&&this.isSolid(h.x,h.y)&&this.isSolid(r.x,r.y)&&this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][5].x,this.sprite.animations[0][5].y,this.sprite.animations[0][5].spriteWidth,this.sprite.animations[0][5].spriteHeight]:this.isSolid(e.x,e.y)&&this.isSolid(h.x,h.y)&&!this.isSolid(r.x,r.y)&&this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][6].x,this.sprite.animations[0][6].y,this.sprite.animations[0][6].spriteWidth,this.sprite.animations[0][6].spriteHeight]:!this.isSolid(e.x,e.y)&&this.isSolid(h.x,h.y)&&!this.isSolid(r.x,r.y)&&this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][7].x,this.sprite.animations[0][7].y,this.sprite.animations[0][7].spriteWidth,this.sprite.animations[0][7].spriteHeight]:!this.isSolid(e.x,e.y)&&this.isSolid(h.x,h.y)&&this.isSolid(r.x,r.y)&&!this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][8].x,this.sprite.animations[0][8].y,this.sprite.animations[0][8].spriteWidth,this.sprite.animations[0][8].spriteHeight]:this.isSolid(e.x,e.y)&&this.isSolid(h.x,h.y)&&this.isSolid(r.x,r.y)&&!this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][9].x,this.sprite.animations[0][9].y,this.sprite.animations[0][9].spriteWidth,this.sprite.animations[0][9].spriteHeight]:this.isSolid(e.x,e.y)&&this.isSolid(h.x,h.y)&&!this.isSolid(r.x,r.y)&&!this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][10].x,this.sprite.animations[0][10].y,this.sprite.animations[0][10].spriteWidth,this.sprite.animations[0][10].spriteHeight]:this.isSolid(e.x,e.y)||!this.isSolid(h.x,h.y)||this.isSolid(r.x,r.y)||this.isSolid(a.x,a.y)?this.isSolid(e.x,e.y)||this.isSolid(h.x,h.y)||!this.isSolid(r.x,r.y)||this.isSolid(a.x,a.y)?this.isSolid(e.x,e.y)&&!this.isSolid(h.x,h.y)&&this.isSolid(r.x,r.y)&&!this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][13].x,this.sprite.animations[0][13].y,this.sprite.animations[0][13].spriteWidth,this.sprite.animations[0][13].spriteHeight]:!this.isSolid(e.x,e.y)||this.isSolid(h.x,h.y)||this.isSolid(r.x,r.y)||this.isSolid(a.x,a.y)?this.isSolid(e.x,e.y)||this.isSolid(h.x,h.y)||this.isSolid(r.x,r.y)||this.isSolid(a.x,a.y)?[this.sprite.sprite,this.sprite.animations[0][15].x,this.sprite.animations[0][15].y,this.sprite.animations[0][15].spriteWidth,this.sprite.animations[0][15].spriteHeight]:[this.sprite.sprite,this.sprite.animations[0][15].x,this.sprite.animations[0][15].y,this.sprite.animations[0][15].spriteWidth,this.sprite.animations[0][15].spriteHeight]:[this.sprite.sprite,this.sprite.animations[0][14].x,this.sprite.animations[0][14].y,this.sprite.animations[0][14].spriteWidth,this.sprite.animations[0][14].spriteHeight]:[this.sprite.sprite,this.sprite.animations[0][12].x,this.sprite.animations[0][12].y,this.sprite.animations[0][12].spriteWidth,this.sprite.animations[0][12].spriteHeight]:[this.sprite.sprite,this.sprite.animations[0][11].x,this.sprite.animations[0][11].y,this.sprite.animations[0][11].spriteWidth,this.sprite.animations[0][11].spriteHeight]:[this.sprite.sprite,this.sprite.animations[0][3].x,this.sprite.animations[0][3].y,this.sprite.animations[0][3].spriteWidth,this.sprite.animations[0][3].spriteHeight]}},{key:"validTile",value:function(i,t){return i>=0&&i<this.w&&t>=0&&t<this.h?!0:!1}},{key:"isSolid",value:function(i,t){if(!this.validTile(i,t))return!1;var s=t*this.w+i,e=this.map[s];return"#"===e||"g"===e||"h"===e||"m"===e?!0:!1}},{key:"draw",value:function(i,t){this.map.forEach(function(s){s.draw(i,t)})}}]),i}()},{17:17,6:6,7:7}],20:[function(i,t){var s=i(8);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.isCollider,n=i.sprite;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:r,isCollider:a})),s.sprite=n,s}return _inherits(t,i),_createClass(t,[{key:"draw",value:function(i,t){i.fillStyle="rgb(255, 255, 255)",i.fillRect(this.x-t.x+t.w/2,this.y-t.y+t.h/2,this.w,this.w)}}]),t}(s)},{8:8}],21:[function(i,t){var s=i(8);t.exports=function(i){function t(i){var s,e=i.x,h=i.y,r=i.w,a=i.h,n=i.isRigidBody,o=void 0===n?!1:n,l=i.isCollider,p=void 0===l?!1:l,c=i.index,u=i.elements,d=void 0===u?[]:u,f=i.top,A=void 0===f?!1:f;return _classCallCheck(this,t),s=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this,{x:e,y:h,w:r,h:a,isRigidBody:o,isCollider:p})),s.triggered=!1,s.frames=0,s.index=c,s.elements=d,s.top=A,s.updated=!1,s}return _inherits(t,i),_createClass(t,[{key:"isColliding",value:function(i){if(this.x<i.x+i.w&&this.x+this.w>i.x&&this.y+this.h>i.y&&this.y<i.y+i.h){if(!this.top)return this.elements.forEach(function(i){i.triggered=!0}),!0;if(!(i.vY<0))return!1;this.elements.forEach(function(i){return i.triggered=!0,!0})}return!1}},{key:"draw",value:function(i,t,s){s.sprite,s.animations,this.x-(t.x-t.w/2),this.y-(t.y-t.h/2)}}]),t}(s)},{8:8}]},{},[1]);