game.min_1f622c3.js 216 KB

12345678910111213141516171819
  1. var Zepto=function(){function t(t){return null==t?String(t):U[J.call(t)]||"object"}function e(e){return"function"==t(e)}function n(t){return null!=t&&t==t.window}function r(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function i(e){return"object"==t(e)}function o(t){return i(t)&&!n(t)&&Object.getPrototypeOf(t)==Object.prototype}function a(t){return"number"==typeof t.length}function s(t){return P.call(t,function(t){return null!=t})}function u(t){return t.length>0?j.fn.concat.apply([],t):t}function c(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function l(t){return t in Z?Z[t]:Z[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function f(t,e){return"number"!=typeof e||$[c(t)]?e:e+"px"}function h(t){var e,n;return L[t]||(e=A.createElement(t),A.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),L[t]=n),L[t]}function p(t){return"children"in t?O.call(t.children):j.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function d(t,e,n){for(E in e)n&&(o(e[E])||G(e[E]))?(o(e[E])&&!o(t[E])&&(t[E]={}),G(e[E])&&!G(t[E])&&(t[E]=[]),d(t[E],e[E],n)):e[E]!==w&&(t[E]=e[E])}function m(t,e){return null==e?j(t):j(t).filter(e)}function v(t,n,r,i){return e(n)?n.call(t,r,i):n}function g(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function y(t,e){var n=t.className,r=n&&n.baseVal!==w;return e===w?r?n.baseVal:n:void(r?n.baseVal=e:t.className=e)}function x(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?j.parseJSON(t):t:e):t}catch(n){return t}}function b(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)b(t.childNodes[n],e)}var w,E,j,S,T,C,N=[],O=N.slice,P=N.filter,A=window.document,L={},Z={},$={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},_=/^\s*<(\w+|!)[^>]*>/,D=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,M=/^(?:body|html)$/i,k=/([A-Z])/g,z=["val","css","html","text","data","width","height","offset"],F=["after","prepend","before","append"],q=A.createElement("table"),H=A.createElement("tr"),I={tr:A.createElement("tbody"),tbody:q,thead:q,tfoot:q,td:H,th:H,"*":A.createElement("div")},V=/complete|loaded|interactive/,B=/^[\w-]*$/,U={},J=U.toString,X={},W=A.createElement("div"),Y={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},G=Array.isArray||function(t){return t instanceof Array};return X.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=W).appendChild(t),r=~X.qsa(i,e).indexOf(t),o&&W.removeChild(t),r},T=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},C=function(t){return P.call(t,function(e,n){return t.indexOf(e)==n})},X.fragment=function(t,e,n){var r,i,a;return D.test(t)&&(r=j(A.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(R,"<$1></$2>")),e===w&&(e=_.test(t)&&RegExp.$1),e in I||(e="*"),a=I[e],a.innerHTML=""+t,r=j.each(O.call(a.childNodes),function(){a.removeChild(this)})),o(n)&&(i=j(r),j.each(n,function(t,e){z.indexOf(t)>-1?i[t](e):i.attr(t,e)})),r},X.Z=function(t,e){return t=t||[],t.__proto__=j.fn,t.selector=e||"",t},X.isZ=function(t){return t instanceof X.Z},X.init=function(t,n){var r;if(!t)return X.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&_.test(t))r=X.fragment(t,RegExp.$1,n),t=null;else{if(n!==w)return j(n).find(t);r=X.qsa(A,t)}else{if(e(t))return j(A).ready(t);if(X.isZ(t))return t;if(G(t))r=s(t);else if(i(t))r=[t],t=null;else if(_.test(t))r=X.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==w)return j(n).find(t);r=X.qsa(A,t)}}return X.Z(r,t)},j=function(t,e){return X.init(t,e)},j.extend=function(t){var e,n=O.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){d(t,n,e)}),t},X.qsa=function(t,e){var n,i="#"==e[0],o=!i&&"."==e[0],a=i||o?e.slice(1):e,s=B.test(a);return r(t)&&s&&i?(n=t.getElementById(a))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:O.call(s&&!i?o?t.getElementsByClassName(a):t.getElementsByTagName(e):t.querySelectorAll(e))},j.contains=A.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},j.type=t,j.isFunction=e,j.isWindow=n,j.isArray=G,j.isPlainObject=o,j.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},j.inArray=function(t,e,n){return N.indexOf.call(e,t,n)},j.camelCase=T,j.trim=function(t){return null==t?"":String.prototype.trim.call(t)},j.uuid=0,j.support={},j.expr={},j.map=function(t,e){var n,r,i,o=[];if(a(t))for(r=0;r<t.length;r++)n=e(t[r],r),null!=n&&o.push(n);else for(i in t)n=e(t[i],i),null!=n&&o.push(n);return u(o)},j.each=function(t,e){var n,r;if(a(t)){for(n=0;n<t.length;n++)if(e.call(t[n],n,t[n])===!1)return t}else for(r in t)if(e.call(t[r],r,t[r])===!1)return t;return t},j.grep=function(t,e){return P.call(t,e)},window.JSON&&(j.parseJSON=JSON.parse),j.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){U["[object "+e+"]"]=e.toLowerCase()}),j.fn={forEach:N.forEach,reduce:N.reduce,push:N.push,sort:N.sort,indexOf:N.indexOf,concat:N.concat,map:function(t){return j(j.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return j(O.apply(this,arguments))},ready:function(t){return V.test(A.readyState)&&A.body?t(j):A.addEventListener("DOMContentLoaded",function(){t(j)},!1),this},get:function(t){return t===w?O.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return N.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return e(t)?this.not(this.not(t)):j(P.call(this,function(e){return X.matches(e,t)}))},add:function(t,e){return j(C(this.concat(j(t,e))))},is:function(t){return this.length>0&&X.matches(this[0],t)},not:function(t){var n=[];if(e(t)&&t.call!==w)this.each(function(e){t.call(this,e)||n.push(this)});else{var r="string"==typeof t?this.filter(t):a(t)&&e(t.item)?O.call(t):j(t);this.forEach(function(t){r.indexOf(t)<0&&n.push(t)})}return j(n)},has:function(t){return this.filter(function(){return i(t)?j.contains(this,t):j(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!i(t)?t:j(t)},last:function(){var t=this[this.length-1];return t&&!i(t)?t:j(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?j(t).filter(function(){var t=this;return N.some.call(n,function(e){return j.contains(e,t)})}):1==this.length?j(X.qsa(this[0],t)):this.map(function(){return X.qsa(this,t)}):[]},closest:function(t,e){var n=this[0],i=!1;for("object"==typeof t&&(i=j(t));n&&!(i?i.indexOf(n)>=0:X.matches(n,t));)n=n!==e&&!r(n)&&n.parentNode;return j(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=j.map(n,function(t){return(t=t.parentNode)&&!r(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return m(e,t)},parent:function(t){return m(C(this.pluck("parentNode")),t)},children:function(t){return m(this.map(function(){return p(this)}),t)},contents:function(){return this.map(function(){return O.call(this.childNodes)})},siblings:function(t){return m(this.map(function(t,e){return P.call(p(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return j.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=h(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var n=e(t);if(this[0]&&!n)var r=j(t).get(0),i=r.parentNode||this.length>1;return this.each(function(e){j(this).wrapAll(n?t.call(this,e):i?r.cloneNode(!0):r)})},wrapAll:function(t){if(this[0]){j(this[0]).before(t=j(t));for(var e;(e=t.children()).length;)t=e.first();j(t).append(this)}return this},wrapInner:function(t){var n=e(t);return this.each(function(e){var r=j(this),i=r.contents(),o=n?t.call(this,e):t;i.length?i.wrapAll(o):r.append(o)})},unwrap:function(){return this.parent().each(function(){j(this).replaceWith(j(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=j(this);(t===w?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return j(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return j(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;j(this).empty().append(v(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=v(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this[0].textContent:null},attr:function(t,e){var n;return"string"!=typeof t||1 in arguments?this.each(function(n){if(1===this.nodeType)if(i(t))for(E in t)g(this,E,t[E]);else g(this,t,v(this,e,n,this.getAttribute(t)))}):this.length&&1===this[0].nodeType?!(n=this[0].getAttribute(t))&&t in this[0]?this[0][t]:n:w},removeAttr:function(t){return this.each(function(){1===this.nodeType&&g(this,t)})},prop:function(t,e){return t=Y[t]||t,1 in arguments?this.each(function(n){this[t]=v(this,e,n,this[t])}):this[0]&&this[0][t]},data:function(t,e){var n="data-"+t.replace(k,"-$1").toLowerCase(),r=1 in arguments?this.attr(n,e):this.attr(n);return null!==r?x(r):w},val:function(t){return 0 in arguments?this.each(function(e){this.value=v(this,t,e,this.value)}):this[0]&&(this[0].multiple?j(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=j(this),r=v(this,t,e,n.offset()),i=n.offsetParent().offset(),o={top:r.top-i.top,left:r.left-i.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,n){if(arguments.length<2){var r=this[0],i=getComputedStyle(r,"");if(!r)return;if("string"==typeof e)return r.style[T(e)]||i.getPropertyValue(e);if(G(e)){var o={};return j.each(G(e)?e:[e],function(t,e){o[e]=r.style[T(e)]||i.getPropertyValue(e)}),o}}var a="";if("string"==t(e))n||0===n?a=c(e)+":"+f(e,n):this.each(function(){this.style.removeProperty(c(e))});else for(E in e)e[E]||0===e[E]?a+=c(E)+":"+f(E,e[E])+";":this.each(function(){this.style.removeProperty(c(E))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(j(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?N.some.call(this,function(t){return this.test(y(t))},l(t)):!1},addClass:function(t){return t?this.each(function(e){S=[];var n=y(this),r=v(this,t,e,n);r.split(/\s+/g).forEach(function(t){j(this).hasClass(t)||S.push(t)},this),S.length&&y(this,n+(n?" ":"")+S.join(" "))}):this},removeClass:function(t){return this.each(function(e){return t===w?y(this,""):(S=y(this),v(this,t,e,S).split(/\s+/g).forEach(function(t){S=S.replace(l(t)," ")}),void y(this,S.trim()))})},toggleClass:function(t,e){return t?this.each(function(n){var r=j(this),i=v(this,t,n,y(this));i.split(/\s+/g).forEach(function(t){(e===w?!r.hasClass(t):e)?r.addClass(t):r.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var e="scrollTop"in this[0];return t===w?e?this[0].scrollTop:this[0].pageYOffset:this.each(e?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var e="scrollLeft"in this[0];return t===w?e?this[0].scrollLeft:this[0].pageXOffset:this.each(e?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),r=M.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(j(t).css("margin-top"))||0,n.left-=parseFloat(j(t).css("margin-left"))||0,r.top+=parseFloat(j(e[0]).css("border-top-width"))||0,r.left+=parseFloat(j(e[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||A.body;t&&!M.test(t.nodeName)&&"static"==j(t).css("position");)t=t.offsetParent;return t})}},j.fn.detach=j.fn.remove,["width","height"].forEach(function(t){var e=t.replace(/./,function(t){return t[0].toUpperCase()});j.fn[t]=function(i){var o,a=this[0];return i===w?n(a)?a["inner"+e]:r(a)?a.documentElement["scroll"+e]:(o=this.offset())&&o[t]:this.each(function(e){a=j(this),a.css(t,v(this,i,e,a[t]()))})}}),F.forEach(function(e,n){var r=n%2;j.fn[e]=function(){var e,i,o=j.map(arguments,function(n){return e=t(n),"object"==e||"array"==e||null==n?n:X.fragment(n)}),a=this.length>1;return o.length<1?this:this.each(function(t,e){i=r?e:e.parentNode,e=0==n?e.nextSibling:1==n?e.firstChild:2==n?e:null;var s=j.contains(A.documentElement,i);o.forEach(function(t){if(a)t=t.cloneNode(!0);else if(!i)return j(t).remove();i.insertBefore(t,e),s&&b(t,function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},j.fn[r?e+"To":"insert"+(n?"Before":"After")]=function(t){return j(t)[e](this),this}}),X.Z.prototype=j.fn,X.uniq=C,X.deserializeValue=x,j.zepto=X,j}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function e(t){return t._zid||(t._zid=h++)}function n(t,n,o,a){if(n=r(n),n.ns)var s=i(n.ns);return(v[e(t)]||[]).filter(function(t){return!(!t||n.e&&t.e!=n.e||n.ns&&!s.test(t.ns)||o&&e(t.fn)!==e(o)||a&&t.sel!=a)})}function r(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function i(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function o(t,e){return t.del&&!y&&t.e in x||!!e}function a(t){return b[t]||y&&x[t]||t}function s(n,i,s,u,l,h,p){var d=e(n),m=v[d]||(v[d]=[]);i.split(/\s/).forEach(function(e){if("ready"==e)return t(document).ready(s);var i=r(e);i.fn=s,i.sel=l,i.e in b&&(s=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?i.fn.apply(this,arguments):void 0}),i.del=h;var d=h||s;i.proxy=function(t){if(t=c(t),!t.isImmediatePropagationStopped()){t.data=u;var e=d.apply(n,t._args==f?[t]:[t].concat(t._args));return e===!1&&(t.preventDefault(),t.stopPropagation()),e}},i.i=m.length,m.push(i),"addEventListener"in n&&n.addEventListener(a(i.e),i.proxy,o(i,p))})}function u(t,r,i,s,u){var c=e(t);(r||"").split(/\s/).forEach(function(e){n(t,e,i,s).forEach(function(e){delete v[c][e.i],"removeEventListener"in t&&t.removeEventListener(a(e.e),e.proxy,o(e,u))})})}function c(e,n){return(n||!e.isDefaultPrevented)&&(n||(n=e),t.each(S,function(t,r){var i=n[t];e[t]=function(){return this[r]=w,i&&i.apply(n,arguments)},e[r]=E}),(n.defaultPrevented!==f?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(e.isDefaultPrevented=w)),e}function l(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===f||(n[e]=t[e]);return c(n,t)}var f,h=1,p=Array.prototype.slice,d=t.isFunction,m=function(t){return"string"==typeof t},v={},g={},y="onfocusin"in window,x={focus:"focusin",blur:"focusout"},b={mouseenter:"mouseover",mouseleave:"mouseout"};g.click=g.mousedown=g.mouseup=g.mousemove="MouseEvents",t.event={add:s,remove:u},t.proxy=function(n,r){var i=2 in arguments&&p.call(arguments,2);if(d(n)){var o=function(){return n.apply(r,i?i.concat(p.call(arguments)):arguments)};return o._zid=e(n),o}if(m(r))return i?(i.unshift(n[r],n),t.proxy.apply(null,i)):t.proxy(n[r],n);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var w=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$)/,S={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,n,r,i,o){var a,c,h=this;return e&&!m(e)?(t.each(e,function(t,e){h.on(t,n,r,e,o)}),h):(m(n)||d(i)||i===!1||(i=r,r=n,n=f),(d(r)||r===!1)&&(i=r,r=f),i===!1&&(i=E),h.each(function(f,h){o&&(a=function(t){return u(h,t.type,i),i.apply(this,arguments)}),n&&(c=function(e){var r,o=t(e.target).closest(n,h).get(0);return o&&o!==h?(r=t.extend(l(e),{currentTarget:o,liveFired:h}),(a||i).apply(o,[r].concat(p.call(arguments,1)))):void 0}),s(h,e,i,r,n,c||a)}))},t.fn.off=function(e,n,r){var i=this;return e&&!m(e)?(t.each(e,function(t,e){i.off(t,n,e)}),i):(m(n)||d(r)||r===!1||(r=n,n=f),r===!1&&(r=E),i.each(function(){u(this,e,r,n)}))},t.fn.trigger=function(e,n){return e=m(e)||t.isPlainObject(e)?t.Event(e):c(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,r){var i,o;return this.each(function(a,s){i=l(m(e)?t.Event(e):e),i._args=r,i.target=s,t.each(n(s,e.type||e),function(t,e){return o=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),o},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){m(t)||(e=t,t=e.type);var n=document.createEvent(g[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),c(n)}}(Zepto),function(t){function e(e,n,r){var i=t.Event(n);return t(e).trigger(i,r),!i.isDefaultPrevented()}function n(t,n,r,i){return t.global?e(n||y,r,i):void 0}function r(e){e.global&&0===t.active++&&n(e,null,"ajaxStart")}function i(e){e.global&&!--t.active&&n(e,null,"ajaxStop")}function o(t,e){var r=e.context;return e.beforeSend.call(r,t,e)===!1||n(e,r,"ajaxBeforeSend",[t,e])===!1?!1:void n(e,r,"ajaxSend",[t,e])}function a(t,e,r,i){var o=r.context,a="success";r.success.call(o,t,a,e),i&&i.resolveWith(o,[t,a,e]),n(r,o,"ajaxSuccess",[e,r,t]),u(a,e,r)}function s(t,e,r,i,o){var a=i.context;i.error.call(a,r,e,t),o&&o.rejectWith(a,[r,e,t]),n(i,a,"ajaxError",[r,i,t||e]),u(e,r,i)}function u(t,e,r){var o=r.context;r.complete.call(o,e,t),n(r,o,"ajaxComplete",[e,r]),i(r)}function c(){}function l(t){return t&&(t=t.split(";",2)[0]),t&&(t==j?"html":t==E?"json":b.test(t)?"script":w.test(t)&&"xml")||"text"}function f(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function h(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=f(e.url,e.data),e.data=void 0)}function p(e,n,r,i){return t.isFunction(n)&&(i=r,r=n,n=void 0),t.isFunction(r)||(i=r,r=void 0),{url:e,data:n,success:r,dataType:i}}function d(e,n,r,i){var o,a=t.isArray(n),s=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),i&&(n=r?i:i+"["+(s||"object"==o||"array"==o?n:"")+"]"),!i&&a?e.add(u.name,u.value):"array"==o||!r&&"object"==o?d(e,u,r,n):e.add(n,u)})}var m,v,g=0,y=window.document,x=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,b=/^(?:text|application)\/javascript/i,w=/^(?:text|application)\/xml/i,E="application/json",j="text/html",S=/^\s*$/;t.active=0,t.ajaxJSONP=function(e,n){if(!("type"in e))return t.ajax(e);var r,i,u=e.jsonpCallback,c=(t.isFunction(u)?u():u)||"jsonp"+ ++g,l=y.createElement("script"),f=window[c],h=function(e){t(l).triggerHandler("error",e||"abort")},p={abort:h};return n&&n.promise(p),t(l).on("load error",function(o,u){clearTimeout(i),t(l).off().remove(),"error"!=o.type&&r?a(r[0],p,e,n):s(null,u||"error",p,e,n),window[c]=f,r&&t.isFunction(f)&&f(r[0]),f=r=void 0}),o(p,e)===!1?(h("abort"),p):(window[c]=function(){r=arguments},l.src=e.url.replace(/\?(.+)=\?/,"?$1="+c),y.head.appendChild(l),e.timeout>0&&(i=setTimeout(function(){h("timeout")},e.timeout)),p)},t.ajaxSettings={type:"GET",beforeSend:c,success:c,error:c,complete:c,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:E,xml:"application/xml, text/xml",html:j,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),i=t.Deferred&&t.Deferred();for(m in t.ajaxSettings)void 0===n[m]&&(n[m]=t.ajaxSettings[m]);r(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),h(n);var u=n.dataType,p=/\?.+=\?/.test(n.url);if(p&&(u="jsonp"),n.cache!==!1&&(e&&e.cache===!0||"script"!=u&&"jsonp"!=u)||(n.url=f(n.url,"_="+Date.now())),"jsonp"==u)return p||(n.url=f(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,i);var d,g=n.accepts[u],y={},x=function(t,e){y[t.toLowerCase()]=[t,e]},b=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,w=n.xhr(),E=w.setRequestHeader;if(i&&i.promise(w),n.crossDomain||x("X-Requested-With","XMLHttpRequest"),x("Accept",g||"*/*"),(g=n.mimeType||g)&&(g.indexOf(",")>-1&&(g=g.split(",",2)[0]),w.overrideMimeType&&w.overrideMimeType(g)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&x("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(v in n.headers)x(v,n.headers[v]);if(w.setRequestHeader=x,w.onreadystatechange=function(){if(4==w.readyState){w.onreadystatechange=c,clearTimeout(d);var e,r=!1;if(w.status>=200&&w.status<300||304==w.status||0==w.status&&"file:"==b){u=u||l(n.mimeType||w.getResponseHeader("content-type")),e=w.responseText;try{"script"==u?(1,eval)(e):"xml"==u?e=w.responseXML:"json"==u&&(e=S.test(e)?null:t.parseJSON(e))}catch(o){r=o}r?s(r,"parsererror",w,n,i):a(e,w,n,i)}else s(w.statusText||null,w.status?"error":"abort",w,n,i)}},o(w,n)===!1)return w.abort(),s(null,"abort",w,n,i),w;if(n.xhrFields)for(v in n.xhrFields)w[v]=n.xhrFields[v];var j="async"in n?n.async:!0;w.open(n.type,n.url,j,n.username,n.password);for(v in y)E.apply(w,y[v]);return n.timeout>0&&(d=setTimeout(function(){w.onreadystatechange=c,w.abort(),s(null,"timeout",w,n,i)},n.timeout)),w.send(n.data?n.data:null),w},t.get=function(){return t.ajax(p.apply(null,arguments))},t.post=function(){var e=p.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=p.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,r){if(!this.length)return this;var i,o=this,a=e.split(/\s/),s=p(e,n,r),u=s.success;return a.length>1&&(s.url=a[0],i=a[1]),s.success=function(e){o.html(i?t("<div>").html(e.replace(x,"")).find(i):e),u&&u.apply(o,arguments)},t.ajax(s),this};var T=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(T(t)+"="+T(e))},d(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var e,n=[];return t([].slice.call(this.get(0).elements)).each(function(){e=t(this);var r=e.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=r&&"reset"!=r&&"button"!=r&&("radio"!=r&&"checkbox"!=r||this.checked)&&n.push({name:e.attr("name"),value:e.val()})}),n},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto);
  2. ;var Ease={};Ease.linear=function(t){return t},Ease.none=Ease.linear,Ease.get=function(t){return-1>t&&(t=-1),t>1&&(t=1),function(n){return 0==t?n:0>t?n*(n*-t+1+t):n*((2-n)*t+(1-t))}},Ease.getPowIn=function(t){return function(n){return Math.pow(n,t)}},Ease.getPowOut=function(t){return function(n){return 1-Math.pow(1-n,t)}},Ease.getPowInOut=function(t){return function(n){return(n*=2)<1?.5*Math.pow(n,t):1-.5*Math.abs(Math.pow(2-n,t))}},Ease.quadIn=Ease.getPowIn(2),Ease.quadOut=Ease.getPowOut(2),Ease.quadInOut=Ease.getPowInOut(2),Ease.cubicIn=Ease.getPowIn(3),Ease.cubicOut=Ease.getPowOut(3),Ease.cubicInOut=Ease.getPowInOut(3),Ease.quartIn=Ease.getPowIn(4),Ease.quartOut=Ease.getPowOut(4),Ease.quartInOut=Ease.getPowInOut(4),Ease.quintIn=Ease.getPowIn(5),Ease.quintOut=Ease.getPowOut(5),Ease.quintInOut=Ease.getPowInOut(5),Ease.sineIn=function(t){return 1-Math.cos(t*Math.PI/2)},Ease.sineOut=function(t){return Math.sin(t*Math.PI/2)},Ease.sineInOut=function(t){return-.5*(Math.cos(Math.PI*t)-1)},Ease.getBackIn=function(t){return function(n){return n*n*((t+1)*n-t)}},Ease.backIn=Ease.getBackIn(1.7),Ease.getBackOut=function(t){return function(n){return--n*n*((t+1)*n+t)+1}},Ease.backOut=Ease.getBackOut(1.7),Ease.getBackInOut=function(t){return t*=1.525,function(n){return(n*=2)<1?.5*n*n*((t+1)*n-t):.5*((n-=2)*n*((t+1)*n+t)+2)}},Ease.backInOut=Ease.getBackInOut(1.7),Ease.circIn=function(t){return-(Math.sqrt(1-t*t)-1)},Ease.circOut=function(t){return Math.sqrt(1- --t*t)},Ease.circInOut=function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},Ease.bounceIn=function(t){return 1-Ease.bounceOut(1-t)},Ease.bounceOut=function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},Ease.bounceInOut=function(t){return.5>t?.5*Ease.bounceIn(2*t):.5*Ease.bounceOut(2*t-1)+.5},Ease.getElasticIn=function(t,n){var e=2*Math.PI;return function(a){if(0==a||1==a)return a;var u=n/e*Math.asin(1/t);return-(t*Math.pow(2,10*(a-=1))*Math.sin((a-u)*e/n))}},Ease.elasticIn=Ease.getElasticIn(1,.3),Ease.getElasticOut=function(t,n){var e=2*Math.PI;return function(a){if(0==a||1==a)return a;var u=n/e*Math.asin(1/t);return t*Math.pow(2,-10*a)*Math.sin((a-u)*e/n)+1}},Ease.elasticOut=Ease.getElasticOut(1,.3),Ease.getElasticInOut=function(t,n){var e=2*Math.PI;return function(a){var u=n/e*Math.asin(1/t);return(a*=2)<1?-.5*t*Math.pow(2,10*(a-=1))*Math.sin((a-u)*e/n):t*Math.pow(2,-10*(a-=1))*Math.sin((a-u)*e/n)*.5+1}},Ease.elasticInOut=Ease.getElasticInOut(1,.3*1.5);
  3. ;var LLKRes={bg:"image/bg_1bb1834.jpg",bomb:"image/bomb_27eeb8a.png",bomba:"image/bomba_2c1be67.png",dispel:"image/dispel_0a78d4e.png",empty:"image/empty_4f95a0e.png",fires:"image/fires_e9fab36.png",icons:"image/icons_a2cf7f7.png",llk:"image/llk_66fecab.png",shareflag:"image/shareflag_127201e.png",v:"image/v_c3d5ca2.png",h:"image/h_65ed202.png"};
  4. ;!function t(e,i,n){function r(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(s)return s(o,!0);throw new Error("Cannot find module '"+o+"'")}var u=i[o]={exports:{}};e[o][0].call(u.exports,function(t){var i=e[o][1][t];return r(i?i:t)},u,u.exports,t,e,i,n)}return i[o].exports}for(var s="function"==typeof require&&require,o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t){var e=t("./core.js"),i=(window.document,t("./HashMap.js"));e._rectPool=function(){var t=[],e=0;return{get:function(i,n,r,s){t.length<=e&&t.push({});var o=t[e++];return o._x=i,o._y=n,o._w=r,o._h=s,o},copy:function(i){t.length<=e&&t.push({});var n=t[e++];return n._x=i._x,n._y=i._y,n._w=i._w,n._h=i._h,n},recycle:function(){e--}}}(),e.map=new i;var n=Math,r=(n.cos,n.sin,n.PI),s=r/180;e.extend({zeroFill:function(t,e){return e-=t.toString().length,e>0?new Array(e+(/\./.test(t)?2:1)).join("0")+t:t.toString()}}),e.c("2D",{_x:0,_y:0,_w:0,_h:0,_z:0,_rotation:0,_alpha:1,_visible:!0,_globalZ:null,_origin:null,_mbr:null,_entry:null,_children:null,_parent:null,_changed:!1,_defineGetterSetter_setter:function(){this.__defineSetter__("x",function(t){this._attr("_x",t)}),this.__defineSetter__("y",function(t){this._attr("_y",t)}),this.__defineSetter__("w",function(t){this._attr("_w",t)}),this.__defineSetter__("h",function(t){this._attr("_h",t)}),this.__defineSetter__("z",function(t){this._attr("_z",t)}),this.__defineSetter__("rotation",function(t){this._attr("_rotation",t)}),this.__defineSetter__("alpha",function(t){this._attr("_alpha",t)}),this.__defineSetter__("visible",function(t){this._attr("_visible",t)}),this.__defineGetter__("x",function(){return this._x}),this.__defineGetter__("y",function(){return this._y}),this.__defineGetter__("w",function(){return this._w}),this.__defineGetter__("h",function(){return this._h}),this.__defineGetter__("z",function(){return this._z}),this.__defineGetter__("rotation",function(){return this._rotation}),this.__defineGetter__("alpha",function(){return this._alpha}),this.__defineGetter__("visible",function(){return this._visible}),this.__defineGetter__("parent",function(){return this._parent}),this.__defineGetter__("numChildren",function(){return this._children.length})},_defineGetterSetter_defineProperty:function(){Object.defineProperty(this,"x",{set:function(t){this._attr("_x",t)},get:function(){return this._x},configurable:!0}),Object.defineProperty(this,"y",{set:function(t){this._attr("_y",t)},get:function(){return this._y},configurable:!0}),Object.defineProperty(this,"w",{set:function(t){this._attr("_w",t)},get:function(){return this._w},configurable:!0}),Object.defineProperty(this,"h",{set:function(t){this._attr("_h",t)},get:function(){return this._h},configurable:!0}),Object.defineProperty(this,"z",{set:function(t){this._attr("_z",t)},get:function(){return this._z},configurable:!0}),Object.defineProperty(this,"rotation",{set:function(t){this._attr("_rotation",t)},get:function(){return this._rotation},configurable:!0}),Object.defineProperty(this,"alpha",{set:function(t){this._attr("_alpha",t)},get:function(){return this._alpha},configurable:!0}),Object.defineProperty(this,"visible",{set:function(t){this._attr("_visible",t)},get:function(){return this._visible},configurable:!0})},init:function(){this._globalZ=this[0],this._origin={x:0,y:0},this._bx1=0,this._bx2=0,this._by1=0,this._by2=0,this._children=[],e.support.setter?this._defineGetterSetter_setter():e.support.defineProperty&&this._defineGetterSetter_defineProperty(),this._entry=e.map.insert(this),this.bind("Move",function(t){var e=this._cbr||this._mbr||this;this._entry.update(e),this._children.length>0&&this._cascade(t)}),this.bind("Rotate",function(t){var e=this._cbr||this._mbr||this;this._entry.update(e),this._children.length>0&&this._cascade(t)}),this.bind("Remove",function(){if(this._children){for(var t=0;t<this._children.length;t++)delete this._children[t]._parent,this._children[t].destroy&&this._children[t].destroy();this._children=[]}this._parent&&this._parent.detach(this),e.map.remove(this),this.detach()})},offsetBoundary:function(t,e,i,n){return 1===arguments.length&&(e=i=n=t),this._bx1=t,this._bx2=i,this._by1=e,this._by2=n,this.trigger("BoundaryOffset"),this._calculateMBR(),this},_calculateMBR:function(){var t=this._origin.x+this._x,e=this._origin.y+this._y,i=-this._rotation*s,n=this._x-this._bx1-t,r=this._x+this._w+this._bx2-t,o=this._y-this._by1-e,a=this._y+this._h+this._by2-e,h=Math.cos(i),u=Math.sin(i);h=1e-10>h&&h>-1e-10?0:h,u=1e-10>u&&u>-1e-10?0:u;var c=n*h+o*u,l=-n*u+o*h,d=r*h+o*u,_=-r*u+o*h,f=r*h+a*u,p=-r*u+a*h,g=n*h+a*u,m=-n*u+a*h,v=Math.floor(Math.min(c,d,f,g)+t),y=Math.floor(Math.min(l,_,p,m)+e),w=Math.ceil(Math.max(c,d,f,g)+t),x=Math.ceil(Math.max(l,_,p,m)+e);if(this._mbr?(this._mbr._x=v,this._mbr._y=y,this._mbr._w=w-v,this._mbr._h=x-y):this._mbr={_x:v,_y:y,_w:w-v,_h:x-y},this._cbr){var b=this._cbr,D=b.cx,M=b.cy,R=b.r,E=t+(D+this._x-t)*h+(M+this._y-e)*u,T=e-(D+this._x-t)*u+(M+this._y-e)*h;b._x=Math.min(E-R,v),b._y=Math.min(T-R,y),b._w=Math.max(E+R,w)-b._x,b._h=Math.max(T+R,x)-b._y}},_rotate:function(t){var e=-1*(t%360),i=this._rotation-t;if(0!==i){this._rotation=t;var n=e*s,r={x:this._origin.x+this._x,y:this._origin.y+this._y};this._calculateMBR();{var o=i*s;Math.cos(n),Math.sin(n)}this.trigger("Rotate",{cos:Math.cos(o),sin:Math.sin(o),deg:i,rad:o,o:r})}},area:function(){return this._w*this._h},intersect:function(t,e,i,n){var r,s=this._mbr||this;return r="object"==typeof t?t:{x:t,y:e,w:i,h:n},s._x<r.x+r.w&&s._x+s._w>r.x&&s._y<r.y+r.h&&s._h+s._y>r.y},within:function(t,e,i,n){var r,s=this._mbr||this;return r="object"==typeof t?t:{_x:t,_y:e,_w:i,_h:n},r._x<=s._x&&r._x+r._w>=s._x+s._w&&r._y<=s._y&&r._y+r._h>=s._y+s._h},contains:function(t,e,i,n){var r,s=this._mbr||this;return r="object"==typeof t?t:{_x:t,_y:e,_w:i,_h:n},r._x>=s._x&&r._x+r._w<=s._x+s._w&&r._y>=s._y&&r._y+r._h<=s._y+s._h},pos:function(){return{_x:this._x,_y:this._y,_w:this._w,_h:this._h}},mbr:function(){return this._mbr?{_x:this._mbr._x,_y:this._mbr._y,_w:this._mbr._w,_h:this._mbr._h}:this.pos()},isAt:function(t,e){if(this.mapArea)return this.mapArea.containsPoint(t,e);if(this.map)return this.map.containsPoint(t,e);var i=this._mbr||this;return i._x<=t&&i._x+i._w>=t&&i._y<=e&&i._y+i._h>=e},move:function(t,e){return"n"===t.charAt(0)&&(this.y-=e),"s"===t.charAt(0)&&(this.y+=e),("e"===t||"e"===t.charAt(1))&&(this.x+=e),("w"===t||"w"===t.charAt(1))&&(this.x-=e),this},shift:function(t,e,i,n){return t&&(this.x+=t),e&&(this.y+=e),i&&(this.w+=i),n&&(this.h+=n),this},_cascade:function(t){if(t){var e,i=0,n=this._children,r=n.length;if(t.cos)for(;r>i;++i)e=n[i],"rotate"in e&&e.rotate(t);else for(var s=this._x-t._x,o=this._y-t._y,a=this._w-t._w,h=this._h-t._h;r>i;++i)e=n[i],e.shift(s,o,a,h)}},attach:function(){for(var t,e=0,i=arguments,n=arguments.length;n>e;++e)t=i[e],t._parent&&t._parent.detach(t),t._parent=this,this._children.push(t);return this},detach:function(t){var e;if(!t){for(e=0;e<this._children.length;e++)this._children[e]._parent=null;return this._children=[],this}for(e=0;e<this._children.length;e++)this._children[e]==t&&this._children.splice(e,1);return t._parent=null,this},origin:function(t,e){if("string"==typeof t)if("centre"===t||"center"===t||-1===t.indexOf(" "))t=this._w/2,e=this._h/2;else{var i=t.split(" ");"top"===i[0]?e=0:"bottom"===i[0]?e=this._h:("middle"===i[0]||"center"===i[1]||"centre"===i[1])&&(e=this._h/2),"center"===i[1]||"centre"===i[1]||"middle"===i[1]?t=this._w/2:"left"===i[1]?t=0:"right"===i[1]&&(t=this._w)}return this._origin.x=t,this._origin.y=e,this},flip:function(t){return t=t||"X",this["_flip"+t]||(this["_flip"+t]=!0,this.trigger("Invalidate")),this},unflip:function(t){return t=t||"X",this["_flip"+t]&&(this["_flip"+t]=!1,this.trigger("Invalidate")),this},rotate:function(t){var e,i;e=(this._x+this._origin.x-t.o.x)*t.cos+(this._y+this._origin.y-t.o.y)*t.sin+(t.o.x-this._origin.x),i=(this._y+this._origin.y-t.o.y)*t.cos-(this._x+this._origin.x-t.o.x)*t.sin+(t.o.y-this._origin.y),this._attr("_rotation",this._rotation-t.deg),this._attr("_x",e),this._attr("_y",i)},_attr:function(t,i){if(this[t]!==i){var n,r=e._rectPool.copy(this);if("_rotation"===t)this._rotate(i);else if("_z"===t)this._globalZ=parseInt(i+e.zeroFill(this[0],5),10),this.trigger("reorder");else if("_x"===t||"_y"===t)n=this._mbr,n&&(n[t]-=this[t]-i,this._cbr&&(this._cbr[t]-=this[t]-i)),this[t]=i,this.trigger("Move",r);else if("_h"===t||"_w"===t){n=this._mbr;var s=this[t];this[t]=i,n&&this._calculateMBR(),"_w"===t?this.trigger("Resize",{axis:"w",amount:i-s}):"_h"===t&&this.trigger("Resize",{axis:"h",amount:i-s}),this.trigger("Move",r)}this[t]=i,this.trigger("Invalidate"),e._rectPool.recycle(r)}}}),e.c("Gravity",{_gravityConst:.2,_gy:0,_falling:!0,_anti:null,init:function(){this.requires("2D")},gravity:function(t){return t&&(this._anti=t),isNaN(this._jumpSpeed)&&(this._jumpSpeed=0),this.bind("EnterFrame",this._enterFrame),this},gravityConst:function(t){return this._gravityConst=t,this},_enterFrame:function(){this._falling?(this._gy+=this._gravityConst,this.y+=this._gy,this.trigger("Moved",{x:this._x,y:this._y-this._gy})):this._gy=0;var t,i,n,r=!1,s=this.pos(),o=0;for(s._y++,s.x=s._x,s.y=s._y,s.w=s._w,s.h=s._h,i=e.map.search(s),n=i.length;n>o;++o)if(t=i[o],t!==this&&t.has(this._anti)&&t.intersect(s)){r=t;break}r?this._falling&&(this._gy>this._jumpSpeed||!this._up)&&this.stopFalling(r):this._falling=!0},stopFalling:function(t){t&&(this.y=t._y-this._h),this._falling=!1,this._up&&(this._up=!1),this.trigger("hit")},antigravity:function(){this.unbind("EnterFrame",this._enterFrame)}}),e.polygon=function(t){arguments.length>1&&(t=Array.prototype.slice.call(arguments,0)),this.points=t},e.polygon.prototype={containsPoint:function(t,e){var i,n,r=this.points,s=!1;for(i=0,n=r.length-1;i<r.length;n=i++)r[i][1]>e!=r[n][1]>e&&t<(r[n][0]-r[i][0])*(e-r[i][1])/(r[n][1]-r[i][1])+r[i][0]&&(s=!s);return s},shift:function(t,e){for(var i,n=0,r=this.points.length;r>n;n++)i=this.points[n],i[0]+=t,i[1]+=e},rotate:function(t){for(var e,i,n,r=0,s=this.points.length;s>r;r++)e=this.points[r],i=t.o.x+(e[0]-t.o.x)*t.cos+(e[1]-t.o.y)*t.sin,n=t.o.y-(e[0]-t.o.x)*t.sin+(e[1]-t.o.y)*t.cos,e[0]=i,e[1]=n}},e.circle=function(t,e,i){this.x=t,this.y=e,this.radius=i,this.points=[];for(var n,r=0;8>r;r++)n=r*Math.PI/4,this.points[r]=[this.x+Math.sin(n)*i,this.y+Math.cos(n)*i]},e.circle.prototype={containsPoint:function(t,e){var i=this.radius,n=(Math.sqrt,this.x-t),r=this.y-e;return i*i>n*n+r*r},shift:function(t,e){this.x+=t,this.y+=e;for(var i,n=0,r=this.points.length;r>n;n++)i=this.points[n],i[0]+=t,i[1]+=e},rotate:function(){}},e.matrix=function(t){this.mtx=t,this.width=t[0].length,this.height=t.length},e.matrix.prototype={x:function(t){if(this.width==t.height){for(var i=[],n=0;n<this.height;n++){i[n]=[];for(var r=0;r<t.width;r++){for(var s=0,o=0;o<this.width;o++)s+=this.mtx[n][o]*t.mtx[o][r];i[n][r]=s}}return new e.matrix(i)}},e:function(t,e){return 1>t||t>this.mtx.length||1>e||e>this.mtx[0].length?null:this.mtx[t-1][e-1]}}},{"./HashMap.js":4,"./core.js":9}],2:[function(t){var e=t("./core.js"),i=window.document;e.c("DOM",{_element:null,_cssStyles:null,avoidCss3dTransforms:!1,init:function(){function t(){var t=0,e=this.__c,i="";for(t in e)i+=" "+t;i=i.substr(1),this._element.className=i}function n(t){var e=0,i=this.__c,n="";for(e in i)e!=t&&(n+=" "+e);n=n.substr(1),this._element.className=n}this._cssStyles={visibility:"",left:"",top:"",width:"",height:"",zIndex:"",opacity:"",transformOrigin:"",transform:""},this._element=i.createElement("div"),e.stage.inner.appendChild(this._element),this._element.style.position="absolute",this._element.id="ent"+this[0],this.bind("Invalidate",function(){this._changed||(this._changed=!0,e.DrawManager.addDom(this))}),this.bind("NewComponent",t).bind("RemoveComponent",n),this.bind("Remove",this.undraw),this.bind("RemoveComponent",function(t){"DOM"===t&&this.undraw()})},getDomId:function(){return this._element.id},DOM:function(t){return t&&t.nodeType&&(this.undraw(),this._element=t,this._element.style.position="absolute"),this},draw:function(){var t=this._element.style,i=this.__coord||[0,0,0,0],n={x:i[0],y:i[1],w:i[2],h:i[3]},r=e.support.prefix,s=[];this._cssStyles.visibility!==this._visible&&(this._cssStyles.visibility=this._visible,t.visibility=this._visible?"visible":"hidden");var o=this._x*e.viewport.xscale,a=this._y*e.viewport.yscale,h=this._w*e.viewport.xscale,u=this._h*e.viewport.yscale;if(e.support.css3dtransform&&!this.avoidCss3dTransforms?s.push("translate3d("+~~o+"px,"+~~a+"px,0)"):(this._cssStyles.left!==o&&(this._cssStyles.left=o,t.left=~~o+"px"),this._cssStyles.top!==a&&(this._cssStyles.top=a,t.top=~~a+"px")),this._cssStyles.width!==h&&(this._cssStyles.width=h,t.width=~~h+"px"),this._cssStyles.height!==u&&(this._cssStyles.height=u,t.height=~~u+"px"),this._cssStyles.zIndex!==this._z&&(this._cssStyles.zIndex=this._z,t.zIndex=this._z),this._cssStyles.opacity!==this._alpha&&(this._cssStyles.opacity=this._alpha,t.opacity=this._alpha,t[r+"Opacity"]=this._alpha),this._mbr){var c=this._origin.x+"px "+this._origin.y+"px";t.transformOrigin=c,t[r+"TransformOrigin"]=c,s.push(e.support.css3dtransform?"rotateZ("+this._rotation+"deg)":"rotate("+this._rotation+"deg)")}return this._flipX&&s.push("scaleX(-1)"),this._flipY&&s.push("scaleY(-1)"),this._cssStyles.transform!=s.join(" ")&&(this._cssStyles.transform=s.join(" "),t.transform=this._cssStyles.transform,t[r+"Transform"]=this._cssStyles.transform),this.trigger("Draw",{style:t,type:"DOM",co:n}),this},undraw:function(){return this._element&&e.stage.inner.removeChild(this._element),this},css:function(t,i){var n,r,s=this._element,o=s.style;if("object"==typeof t)for(n in t)t.hasOwnProperty(n)&&(r=t[n],"number"==typeof r&&(r+="px"),o[e.DOM.camelize(n)]=r);else{if(!i)return e.DOM.getStyle(s,t);"number"==typeof i&&(i+="px"),o[e.DOM.camelize(t)]=i}return this.trigger("Invalidate"),this}}),e.extend({DOM:{window:{init:function(){this.width=window.document.documentElement.clientWidth||window.document.body.clientWidth||window.innerWidth,this.height=window.document.documentElement.clientHeight||window.document.body.clientHeight||window.innerHeight,e.uniqueBind("RenderScene",e.DrawManager.renderDOM),e.uniqueBind("ViewportResize",this._resize)},_resize:function(){e.stage.elem.style.width=e.viewport.width+"px",e.stage.elem.style.height=e.viewport.height+"px"},width:0,height:0},inner:function(t){var e=t.getBoundingClientRect(),n=e.left+(window.pageXOffset?window.pageXOffset:i.body.scrollLeft),r=e.top+(window.pageYOffset?window.pageYOffset:i.body.scrollTop),s=parseInt(this.getStyle(t,"border-left-width")||0,10)||parseInt(this.getStyle(t,"borderLeftWidth")||0,10)||0,o=parseInt(this.getStyle(t,"border-top-width")||0,10)||parseInt(this.getStyle(t,"borderTopWidth")||0,10)||0;return n+=s,r+=o,{x:n,y:r}},getStyle:function(t,e){var n;return t.currentStyle?n=t.currentStyle[this.camelize(e)]:window.getComputedStyle&&(n=i.defaultView.getComputedStyle(t,null).getPropertyValue(this.csselize(e))),n},camelize:function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},csselize:function(t){return t.replace(/[A-Z]/g,function(t){return t?"-"+t.toLowerCase():""})},translate:function(t,n){var r=i.documentElement,s=i.body;return{x:(t-e.stage.x+(r&&r.scrollLeft||s&&s.scrollLeft||0))/e.viewport._scale/e.viewport.xscale-e.viewport._x,y:(n-e.stage.y+(r&&r.scrollTop||s&&s.scrollTop||0))/e.viewport._scale/e.viewport.yscale-e.viewport._y}}}})},{"./core.js":9}],3:[function(t){var e=t("./core.js"),i=window.document;e.c("DebugCanvas",{init:function(){this.requires("2D"),e.DebugCanvas.context||e.DebugCanvas.init(),e.DebugCanvas.add(this),this._debug={alpha:1,lineWidth:1},this.bind("RemoveComponent",this.onDebugRemove),this.bind("Remove",this.onDebugDestroy)},onDebugRemove:function(t){"DebugCanvas"===t&&e.DebugCanvas.remove(this)},onDebugDestroy:function(){e.DebugCanvas.remove(this)},debugAlpha:function(t){return this._debug.alpha=t,this},debugFill:function(t){return"undefined"==typeof t&&(t="red"),this._debug.fillStyle=t,this},debugStroke:function(t){return"undefined"==typeof t&&(t="red"),this._debug.strokeStyle=t,this},debugDraw:function(t){var e=t.globalAlpha,i=this._debug;i.alpha&&(t.globalAlpha=this._debug.alpha),i.strokeStyle&&(t.strokeStyle=i.strokeStyle),i.lineWidth&&(t.lineWidth=i.lineWidth),i.fillStyle&&(t.fillStyle=i.fillStyle),this.trigger("DebugDraw"),t.globalAlpha=e}}),e.c("DebugRectangle",{init:function(){this.requires("2D, DebugCanvas")},debugRectangle:function(t){return this.debugRect=t,this.unbind("DebugDraw",this.drawDebugRect),this.bind("DebugDraw",this.drawDebugRect),this},drawDebugRect:function(){ctx=e.DebugCanvas.context;var t=this.debugRect;null!==t&&void 0!==t&&t._h&&t._w&&(this._debug.fillStyle&&ctx.fillRect(t._x,t._y,t._w,t._h),this._debug.strokeStyle&&ctx.strokeRect(t._x,t._y,t._w,t._h))}}),e.c("VisibleMBR",{init:function(){this.requires("DebugRectangle").debugFill("purple").bind("EnterFrame",this._assignRect)},_assignRect:function(){this.debugRectangle(this._mbr?this._mbr:this)}}),e.c("DebugPolygon",{init:function(){this.requires("2D, DebugCanvas")},debugPolygon:function(t){return this.polygon=t,this.unbind("DebugDraw",this.drawDebugPolygon),this.bind("DebugDraw",this.drawDebugPolygon),this},drawDebugPolygon:function(){if("undefined"!=typeof this.polygon){ctx=e.DebugCanvas.context,ctx.beginPath();for(var t in this.polygon.points)ctx.lineTo(this.polygon.points[t][0],this.polygon.points[t][1]);ctx.closePath(),this._debug.fillStyle&&ctx.fill(),this._debug.strokeStyle&&ctx.stroke()}}}),e.c("WiredHitBox",{init:function(){this.requires("DebugPolygon").debugStroke("red").matchHitBox(),this.bind("NewHitbox",this.matchHitBox)},matchHitBox:function(){this.debugPolygon(this.map)}}),e.c("SolidHitBox",{init:function(){this.requires("Collision, DebugPolygon").debugFill("orange").debugAlpha(.7).matchHitBox(),this.bind("NewHitbox",this.matchHitBox)},matchHitBox:function(){this.debugPolygon(this.map)}}),e.DebugCanvas={context:null,entities:[],onetimeEntities:[],add:function(t){this.entities.push(t)},remove:function(t){for(var e=this.entities,i=e.length-1;i>=0;i--)e[i]==t&&e.splice(i,1)},init:function(){if(!e.DebugCanvas.context){if(!e.support.canvas)return e.trigger("NoCanvas"),void e.stop();var t;t=i.createElement("canvas"),t.width=e.viewport.width,t.height=e.viewport.height,t.style.position="absolute",t.style.left="0px",t.style.top="0px",t.id="debug-canvas",t.style.zIndex=1e5,e.stage.elem.appendChild(t),e.DebugCanvas.context=t.getContext("2d"),e.DebugCanvas._canvas=t}e.unbind("RenderScene",e.DebugCanvas.renderScene),e.bind("RenderScene",e.DebugCanvas.renderScene)},renderScene:function(t){t=t||e.viewport.rect();var i,n=e.DebugCanvas.entities,r=0,s=n.length,o=e.DebugCanvas.context,a=e.viewport;for(o.setTransform(a._scale,0,0,a._scale,a._x,a._y),o.clearRect(t._x,t._y,t._w,t._h);s>r;r++)i=n[r],i.debugDraw(o)}}},{"./core.js":9}],4:[function(t,e){function i(t,e,i){this.keys=t,this.map=i,this.obj=e}var n,r=(t("./core.js"),window.document,function(t){n=t||64,this.map={}}),s=" ",o={};r.prototype={insert:function(t){var e,n,s=r.key(t),o=new i(s,t,this),a=0;for(a=s.x1;a<=s.x2;a++)for(e=s.y1;e<=s.y2;e++)n=a<<16^e,this.map[n]||(this.map[n]=[]),this.map[n].push(t);return o},search:function(t,e){var i,n,s,a=r.key(t,o),h=[];for(void 0===e&&(e=!0),i=a.x1;i<=a.x2;i++)for(n=a.y1;n<=a.y2;n++)if(cell=this.map[i<<16^n])for(s=0;s<cell.length;s++)h.push(cell[s]);if(e){var u,c,d=[],_={};for(i=0,l=h.length;l>i;i++)u=h[i],u&&(c=u[0],u=u._mbr||u,!_[c]&&u._x<t._x+t._w&&u._x+u._w>t._x&&u._y<t._y+t._h&&u._h+u._y>t._y&&(_[c]=h[i]));for(u in _)d.push(_[u]);return d}return h},remove:function(t,e){var i,n,s=0;for(1==arguments.length&&(e=t,t=r.key(e,o)),s=t.x1;s<=t.x2;s++)for(i=t.y1;i<=t.y2;i++)if(n=s<<16^i,this.map[n]){var a,h=this.map[n],u=h.length;for(a=0;u>a;a++)h[a]&&h[a][0]===e[0]&&h.splice(a,1)}},refresh:function(t){var e,i,n,s,o,a=t.keys,h=t.obj;for(i=a.x1;i<=a.x2;i++)for(n=a.y1;n<=a.y2;n++)if(e=this.map[i<<16^n])for(o=e.length,s=0;o>s;s++)e[s]&&e[s][0]===h[0]&&e.splice(s,1);for(r.key(h,a),i=a.x1;i<=a.x2;i++)for(n=a.y1;n<=a.y2;n++)e=this.map[i<<16^n],e||(e=this.map[i<<16^n]=[]),e.push(h);return t},boundaries:function(){var t,e,i={max:{x:-1/0,y:-1/0},min:{x:1/0,y:1/0}},n={max:{x:-1/0,y:-1/0},min:{x:1/0,y:1/0}};for(var r in this.map)if(this.map[r].length){var s=r>>16,o=r<<16>>16;if(0>o&&(s=-1^s),s>=i.max.x){i.max.x=s;for(t in this.map[r])e=this.map[r][t],"object"==typeof e&&"requires"in e&&(n.max.x=Math.max(n.max.x,e.x+e.w))}if(s<=i.min.x){i.min.x=s;for(t in this.map[r])e=this.map[r][t],"object"==typeof e&&"requires"in e&&(n.min.x=Math.min(n.min.x,e.x))}if(o>=i.max.y){i.max.y=o;for(t in this.map[r])e=this.map[r][t],"object"==typeof e&&"requires"in e&&(n.max.y=Math.max(n.max.y,e.y+e.h))}if(o<=i.min.y){i.min.y=o;for(t in this.map[r])e=this.map[r][t],"object"==typeof e&&"requires"in e&&(n.min.y=Math.min(n.min.y,e.y))}}return n}},r.key=function(t,e){return t._mbr&&(t=t._mbr),e||(e={}),e.x1=Math.floor(t._x/n),e.y1=Math.floor(t._y/n),e.x2=Math.floor((t._w+t._x)/n),e.y2=Math.floor((t._h+t._y)/n),e},r.hash=function(t){return t.x1+s+t.y1+s+t.x2+s+t.y2},i.prototype={update:function(t){r.hash(r.key(t,o))!=r.hash(this.keys)&&this.map.refresh(this)}},e.exports=r},{"./core.js":9}],5:[function(t){{var e=t("./core.js");window.document}e.easing=function(t){this.timePerFrame=1e3/e.timer.FPS(),this.duration=t,this.reset()},e.easing.prototype={duration:0,clock:0,steps:null,complete:!1,paused:!1,reset:function(){this.loops=1,this.clock=0,this.complete=!1,this.paused=!1},repeat:function(t){this.loops=t},setProgress:function(t,e){this.clock=this.duration*t,"undefined"!=typeof e&&(this.loops=e)},pause:function(){this.paused=!0},resume:function(){this.paused=!1,this.complete=!1},tick:function(t){if(!this.paused&&!this.complete)for(this.clock+=t,this.frames=Math.floor(this.clock/this.timePerFrame);this.clock>=this.duration&&this.complete===!1;)this.loops--,this.loops>0?this.clock-=this.duration:this.complete=!0},time:function(){return Math.min(this.clock/this.duration,1)},value:function(){return this.time()}},e.c("Tween",{init:function(){this.tweenGroup={},this.tweenStart={},this.tweens=[],this.bind("EnterFrame",this._tweenTick)},_tweenTick:function(t){var e,i,n;for(n=this.tweens.length-1;n>=0;n--)e=this.tweens[n],e.easing.tick(t.dt),i=e.easeFun?e.easeFun(e.easing.value()):e.easing.value(),this._doTween(e.props,i),e.easing.complete&&(this.tweens.splice(n,1),this._endTween(e.props))},_doTween:function(t,e){for(var i in t)this[i]=(1-e)*this.tweenStart[i]+e*t[i]},tween:function(t,i,n){var r={props:t,easing:new e.easing(i),easeFun:n};for(var s in t)"undefined"!=typeof this.tweenGroup[s]&&this.cancelTween(s),this.tweenStart[s]=this[s],this.tweenGroup[s]=t;return this.tweens.push(r),this},cancelTween:function(t){if("string"==typeof t)"object"==typeof this.tweenGroup[t]&&delete this.tweenGroup[t][t];else if("object"==typeof t)for(var e in t)this.cancelTween(e);return this},_endTween:function(t){for(var e in t)delete this.tweenGroup[e];this.trigger("TweenEnd",t)}})},{"./core.js":9}],6:[function(t){var e=t("./core.js"),i=window.document;e.c("Canvas",{init:function(){e.canvas.context||e.canvas.init(),e.DrawManager.total2D++,this.currentRect={},this._changed=!0,e.DrawManager.addCanvas(this),this.bind("Invalidate",function(){this._changed===!1&&(this._changed=!0,e.DrawManager.addCanvas(this))}),this.bind("Remove",function(){e.DrawManager.total2D--,this._changed=!0,e.DrawManager.addCanvas(this)})},drawVars:{type:"canvas",pos:{},ctx:null,coord:[0,0,0,0],co:{x:0,y:0,w:0,h:0}},draw:function(t,i,n,r,s){if(this.ready){4===arguments.length&&(s=r,r=n,n=i,i=t,t=e.canvas.context);var o=this.drawVars.pos;o._x=this._x+(i||0),o._y=this._y+(n||0),o._w=r||this._w,o._h=s||this._h,context=t||e.canvas.context,coord=this.__coord||[0,0,0,0];var a=this.drawVars.co;a.x=coord[0]+(i||0),a.y=coord[1]+(n||0),a.w=r||coord[2],a.h=s||coord[3],0!==this._rotation&&(context.save(),context.translate(this._origin.x+this._x,this._origin.y+this._y),o._x=-this._origin.x,o._y=-this._origin.y,context.rotate(this._rotation%360*(Math.PI/180))),(this._flipX||this._flipY)&&(context.save(),context.scale(this._flipX?-1:1,this._flipY?-1:1),this._flipX&&(o._x=-(o._x+o._w)),this._flipY&&(o._y=-(o._y+o._h)));var h;return this._alpha<1&&(h=context.globalAlpha,context.globalAlpha=this._alpha),this.drawVars.ctx=context,this.trigger("Draw",this.drawVars),(0!==this._rotation||this._flipX||this._flipY)&&context.restore(),h&&(context.globalAlpha=h),this}}}),e.extend({canvas:{context:null,init:function(){if(!e.support.canvas)return e.trigger("NoCanvas"),void e.stop();var t;t=i.createElement("canvas"),t.width=e.viewport.width,t.height=e.viewport.height,t.style.position="absolute",t.style.left="0px",t.style.top="0px",t.style.width=i.documentElement.clientWidth+"px",t.style.height=i.documentElement.clientHeight+"px",e.stage.elem.appendChild(t),e.canvas.context=t.getContext("2d"),e.canvas._canvas=t;var n=e.viewport._scale;1!=n&&e.canvas.context.scale(n,n),e.uniqueBind("RenderScene",e.DrawManager.renderCanvas),e.uniqueBind("ViewportResize",this._resize)},_resize:function(){var t=e.canvas._canvas;t.width=e.viewport.width,t.height=e.viewport.height}}})},{"./core.js":9}],7:[function(t){var e=t("./core.js"),i=(window.document,Math.PI/180);e.c("Collision",{init:function(){this.requires("2D"),this.collision()},remove:function(){this._cbr=null,this.unbind("Resize",this._resizeMap),this.unbind("Resize",this._checkBounds)},collision:function(t){if(this.unbind("Resize",this._resizeMap),this.unbind("Resize",this._checkBounds),t){if(arguments.length>1){var n=Array.prototype.slice.call(arguments,0);t=new e.polygon(n)}this._findBounds(t.points)}else t=new e.polygon([0,0],[this._w,0],[this._w,this._h],[0,this._h]),this.bind("Resize",this._resizeMap),this._cbr=null;return this.rotation&&t.rotate({cos:Math.cos(-this.rotation*i),sin:Math.sin(-this.rotation*i),o:{x:this._origin.x,y:this._origin.y}}),this.map=t,this.attach(this.map),this.map.shift(this._x,this._y),this.trigger("NewHitbox",t),this},_findBounds:function(t){for(var e,i=1/0,n=-1/0,r=1/0,s=-1/0,o=0;o<t.length;++o)e=t[o],e[0]<i&&(i=e[0]),e[0]>n&&(n=e[0]),e[1]<r&&(r=e[1]),e[1]>s&&(s=e[1]);var a={cx:(i+n)/2,cy:(r+s)/2,r:Math.sqrt((n-i)*(n-i)+(s-r)*(s-r))/2};return i>=0&&r>=0&&(this._checkBounds=function(){null===this._cbr&&this._w<n||this._h<s?(this._cbr=a,this._calculateMBR()):this._cbr&&(this._cbr=null,this._calculateMBR())},this.bind("Resize",this._checkBounds)),i>=0&&r>=0&&n<=this._w&&s<=this._h?(this._cbr=null,!1):(this._cbr=a,this._calculateMBR(),!0)},_resizeMap:function(t){var e,n,r=this.rotation*i,s=this.map.points;"w"===t.axis?(r?(e=t.amount*Math.cos(r),n=t.amount*Math.sin(r)):(e=t.amount,n=0),s[1][0]+=e,s[1][1]+=n):(r?(n=t.amount*Math.cos(r),e=-t.amount*Math.sin(r)):(e=0,n=t.amount),s[3][0]+=e,s[3][1]+=n),s[2][0]+=e,s[2][1]+=n},hit:function(t){var i,n,r,s,o=this._cbr||this._mbr||this,a=e.map.search(o,!1),h=0,u=a.length,c={},l="map"in this&&"containsPoint"in this.map,d=[];if(!u)return!1;for(;u>h;++h)n=a[h],r=n._cbr||n._mbr||n,n&&(i=n[0],!c[i]&&this[0]!==i&&n.__c[t]&&r._x<o._x+o._w&&r._x+r._w>o._x&&r._y<o._y+o._h&&r._h+r._y>o._y&&(c[i]=n));for(s in c)if(n=c[s],l&&"map"in n){var _=this._SAT(this.map,n.map);_.obj=n,_.type="SAT",_&&d.push(_)}else d.push({obj:n,type:"MBR"});return d.length?d:!1},onHit:function(t,e,i){var n=!1;return this.bind("EnterFrame",function(){var r=this.hit(t);r?(n=!0,e.call(this,r)):n&&("function"==typeof i&&i.call(this),n=!1)}),this},_SAT:function(t,e){for(var i,n,r,s,o,a,h,u,c,l,d=t.points,_=e.points,f=0,p=d.length,g=_.length,m={x:0,y:0},v=null,y=null,w=null;p>f;f++){for(c=d[f==p-1?0:f+1],l=d[f],m.x=-(c[1]-l[1]),m.y=c[0]-l[0],n=Math.sqrt(m.x*m.x+m.y*m.y),m.x/=n,m.y/=n,r=s=-1,o=a=-1,i=0;p>i;++i)u=d[i][0]*m.x+d[i][1]*m.y,(u>o||-1===o)&&(o=u),(r>u||-1===r)&&(r=u);for(i=0;g>i;++i)u=_[i][0]*m.x+_[i][1]*m.y,(u>a||-1===a)&&(a=u),(s>u||-1===s)&&(s=u);if(s>r?(h=s-o,m.x=-m.x,m.y=-m.y):h=r-a,h>=0)return!1;(null===v||h>v)&&(v=h,w={x:m.x,y:m.y})}for(f=0;g>f;f++){for(c=_[f==g-1?0:f+1],l=_[f],m.x=-(c[1]-l[1]),m.y=c[0]-l[0],n=Math.sqrt(m.x*m.x+m.y*m.y),m.x/=n,m.y/=n,r=s=-1,o=a=-1,i=0;p>i;++i)u=d[i][0]*m.x+d[i][1]*m.y,(u>o||-1===o)&&(o=u),(r>u||-1===r)&&(r=u);for(i=0;g>i;++i)u=_[i][0]*m.x+_[i][1]*m.y,(u>a||-1===a)&&(a=u),(s>u||-1===s)&&(s=u);if(s>r?(h=s-o,m.x=-m.x,m.y=-m.y):h=r-a,h>=0)return!1;(null===v||h>v)&&(v=h),(h>y||null===y)&&(y=h,w={x:m.x,y:m.y})}return{overlap:y,normal:w}}})},{"./core.js":9}],8:[function(t){var e=t("./core.js"),i=window.document;e.extend({over:null,mouseObjs:0,mousePos:{},lastEvent:null,keydown:{},selected:!1,detectBlur:function(t){var i=t.clientX>e.stage.x&&t.clientX<e.stage.x+e.viewport.width&&t.clientY>e.stage.y&&t.clientY<e.stage.y+e.viewport.height;!e.selected&&i&&e.trigger("CraftyFocus"),e.selected&&!i&&e.trigger("CraftyBlur"),e.selected=i},mouseDispatch:function(t){if(e.mouseObjs){e.lastEvent=t;var i,n,r,s,o,a=-1,h=0,u=e.DOM.translate(t.clientX,t.clientY),c={},l=t.target?t.target:t.srcElement,d=t.type;if(t.mouseButton="undefined"==typeof t.which?t.button<2?e.mouseButtons.LEFT:4==t.button?e.mouseButtons.MIDDLE:e.mouseButtons.RIGHT:t.which<2?e.mouseButtons.LEFT:2==t.which?e.mouseButtons.MIDDLE:e.mouseButtons.RIGHT,t.realX=s=e.mousePos.x=u.x,t.realY=o=e.mousePos.y=u.y,"CANVAS"!=l.nodeName){for(;"string"!=typeof l.id&&-1==l.id.indexOf("ent");)l=l.parentNode;ent=e(parseInt(l.id.replace("ent",""),10)),ent.has("Mouse")&&ent.isAt(s,o)&&(i=ent)}if(!i)for(n=e.map.search({_x:s,_y:o,_w:1,_h:1},!1),r=n.length;r>h;++h)if(n[h].__c.Mouse&&n[h]._visible){var _=n[h],f=!1;if(!c[_[0]]&&(c[_[0]]=!0,_.mapArea?_.mapArea.containsPoint(s,o)&&(f=!0):_.isAt(s,o)&&(f=!0),f&&(_._z>=a||-1===a))){if(_._z===a&&_[0]<i[0])continue;a=_._z,i=_}}i?"mousedown"===d?i.trigger("MouseDown",t):"mouseup"===d?i.trigger("MouseUp",t):"dblclick"==d?i.trigger("DoubleClick",t):"click"==d?i.trigger("Click",t):"mousemove"===d?(i.trigger("MouseMove",t),this.over!==i&&(this.over&&(this.over.trigger("MouseOut",t),this.over=null),this.over=i,i.trigger("MouseOver",t))):i.trigger(d,t):("mousemove"===d&&this.over&&(this.over.trigger("MouseOut",t),this.over=null),"mousedown"===d?e.viewport.mouselook("start",t):"mousemove"===d?e.viewport.mouselook("drag",t):"mouseup"==d&&e.viewport.mouselook("stop")),"mousemove"===d&&(this.lastEvent=t)}},touchDispatch:function(t){var n,r,s=e.lastEvent;if("touchstart"===t.type?n="mousedown":"touchmove"===t.type?n="mousemove":"touchend"===t.type?n="mouseup":"touchcancel"===t.type?n="mouseup":"touchleave"===t.type&&(n="mouseup"),t.changedTouches&&t.changedTouches.length)for(var o=t.changedTouches.length-1;o>=0;o--){r=t.changedTouches[o];var a=i.createEvent("MouseEvent");a.initMouseEvent(n,!0,!0,window,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,t.relatedTarget),r.target.dispatchEvent(a)}r=t.touches.length?t.touches[0]:t.changedTouches[0],null!==s&&"mousedown"==s.type&&"mouseup"==n&&(n="click",a=i.createEvent("MouseEvent"),a.initMouseEvent(n,!0,!0,window,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,t.relatedTarget),r.target.dispatchEvent(a)),t.target&&"INPUT"!==t.target.nodeName&&"TEXTAREA"!==t.target.nodeName&&(t.preventDefault?t.preventDefault():t.returnValue=!1)},keyboardDispatch:function(t){for(var i=t,n={},r="char charCode keyCode type shiftKey ctrlKey metaKey timestamp".split(" "),s=r.length;s;){var o=r[--s];n[o]=i[o]}return n.which=null!==i.charCode?i.charCode:i.keyCode,n.key=i.keyCode||i.which,n.originalEvent=i,t=n,"keydown"===t.type?e.keydown[t.key]!==!0&&(e.keydown[t.key]=!0,e.trigger("KeyDown",t)):"keyup"===t.type&&(delete e.keydown[t.key],e.trigger("KeyUp",t)),e.selected&&!(8==t.key||t.key>=112&&t.key<=135)?(t.stopPropagation?t.stopPropagation():t.cancelBubble=!0,t.target&&"INPUT"!==t.target.nodeName&&"TEXTAREA"!==t.target.nodeName&&(t.preventDefault?t.preventDefault():t.returnValue=!1),!1):void 0}}),e.bind("Load",function(){e.addEvent(this,"keydown",e.keyboardDispatch),e.addEvent(this,"keyup",e.keyboardDispatch),e.addEvent(this,e.stage.elem,"mousedown",e.mouseDispatch),e.addEvent(this,e.stage.elem,"mouseup",e.mouseDispatch),e.addEvent(this,i.body,"mouseup",e.detectBlur),e.addEvent(this,e.stage.elem,"mousemove",e.mouseDispatch),e.addEvent(this,e.stage.elem,"click",e.mouseDispatch),e.addEvent(this,e.stage.elem,"dblclick",e.mouseDispatch),e.addEvent(this,e.stage.elem,"touchstart",e.touchDispatch),e.addEvent(this,e.stage.elem,"touchmove",e.touchDispatch),e.addEvent(this,e.stage.elem,"touchend",e.touchDispatch),e.addEvent(this,e.stage.elem,"touchcancel",e.touchDispatch),e.addEvent(this,e.stage.elem,"touchleave",e.touchDispatch)
  5. }),e.bind("CraftyStop",function(){e.removeEvent(this,"keydown",e.keyboardDispatch),e.removeEvent(this,"keyup",e.keyboardDispatch),e.stage&&(e.removeEvent(this,e.stage.elem,"mousedown",e.mouseDispatch),e.removeEvent(this,e.stage.elem,"mouseup",e.mouseDispatch),e.removeEvent(this,e.stage.elem,"mousemove",e.mouseDispatch),e.removeEvent(this,e.stage.elem,"click",e.mouseDispatch),e.removeEvent(this,e.stage.elem,"dblclick",e.mouseDispatch),e.removeEvent(this,e.stage.elem,"touchstart",e.touchDispatch),e.removeEvent(this,e.stage.elem,"touchmove",e.touchDispatch),e.removeEvent(this,e.stage.elem,"touchend",e.touchDispatch),e.removeEvent(this,e.stage.elem,"touchcancel",e.touchDispatch),e.removeEvent(this,e.stage.elem,"touchleave",e.touchDispatch)),e.removeEvent(this,i.body,"mouseup",e.detectBlur)}),e.c("Mouse",{init:function(){e.mouseObjs++,this.bind("Remove",function(){e.mouseObjs--})},areaMap:function(t){if(arguments.length>1){var i=Array.prototype.slice.call(arguments,0);t=new e.polygon(i)}return t.shift(this._x,this._y),this.mapArea=t,this.attach(this.mapArea),this}}),e.c("Draggable",{_origMouseDOMPos:null,_oldX:null,_oldY:null,_dragging:!1,_dir:null,init:function(){this.requires("Mouse"),this.enableDrag()},_ondrag:function(t){var i=e.DOM.translate(t.clientX,t.clientY);if(0===i.x||0===i.y)return!1;if(this._dir){var n=(i.x-this._origMouseDOMPos.x)*this._dir.x+(i.y-this._origMouseDOMPos.y)*this._dir.y;this.x=this._oldX+n*this._dir.x,this.y=this._oldY+n*this._dir.y}else this.x=this._oldX+(i.x-this._origMouseDOMPos.x),this.y=this._oldY+(i.y-this._origMouseDOMPos.y);this.trigger("Dragging",t)},_ondown:function(t){t.mouseButton===e.mouseButtons.LEFT&&this._startDrag(t)},_onup:function(t){this._dragging===!0&&(e.removeEvent(this,e.stage.elem,"mousemove",this._ondrag),e.removeEvent(this,e.stage.elem,"mouseup",this._onup),this._dragging=!1,this.trigger("StopDrag",t))},dragDirection:function(t){if("undefined"==typeof t)this._dir=null;else if(""+parseInt(t,10)==t)this._dir={x:Math.cos(t/180*Math.PI),y:Math.sin(t/180*Math.PI)};else{var e=Math.sqrt(t.x*t.x+t.y*t.y);this._dir={x:t.x/e,y:t.y/e}}},_startDrag:function(t){this._origMouseDOMPos=e.DOM.translate(t.clientX,t.clientY),this._oldX=this._x,this._oldY=this._y,this._dragging=!0,e.addEvent(this,e.stage.elem,"mousemove",this._ondrag),e.addEvent(this,e.stage.elem,"mouseup",this._onup),this.trigger("StartDrag",t)},stopDrag:function(){return e.removeEvent(this,e.stage.elem,"mousemove",this._ondrag),e.removeEvent(this,e.stage.elem,"mouseup",this._onup),this._dragging=!1,this.trigger("StopDrag"),this},startDrag:function(){return this._dragging||this._startDrag(e.lastEvent),this},enableDrag:function(){return this.bind("MouseDown",this._ondown),e.addEvent(this,e.stage.elem,"mouseup",this._onup),this},disableDrag:function(){return this.unbind("MouseDown",this._ondown),this._dragging&&this.stopDrag(),this}}),e.c("Keyboard",{isDown:function(t){return"string"==typeof t&&(t=e.keys[t]),!!e.keydown[t]}}),e.c("Multiway",{_speed:3,_keydown:function(t){this._keys[t.key]&&(this._movement.x=Math.round(1e3*(this._movement.x+this._keys[t.key].x))/1e3,this._movement.y=Math.round(1e3*(this._movement.y+this._keys[t.key].y))/1e3,this.trigger("NewDirection",this._movement))},_keyup:function(t){this._keys[t.key]&&(this._movement.x=Math.round(1e3*(this._movement.x-this._keys[t.key].x))/1e3,this._movement.y=Math.round(1e3*(this._movement.y-this._keys[t.key].y))/1e3,this.trigger("NewDirection",this._movement))},_enterframe:function(){this.disableControls||(0!==this._movement.x&&(this.x+=this._movement.x,this.trigger("Moved",{x:this.x-this._movement.x,y:this.y})),0!==this._movement.y&&(this.y+=this._movement.y,this.trigger("Moved",{x:this.x,y:this.y-this._movement.y})))},_initializeControl:function(){return this.unbind("KeyDown",this._keydown).unbind("KeyUp",this._keyup).unbind("EnterFrame",this._enterframe).bind("KeyDown",this._keydown).bind("KeyUp",this._keyup).bind("EnterFrame",this._enterframe)},multiway:function(t,i){this._keyDirection={},this._keys={},this._movement={x:0,y:0},this._speed={x:3,y:3},i?void 0!==t.x&&void 0!==t.y?(this._speed.x=t.x,this._speed.y=t.y):(this._speed.x=t,this._speed.y=t):i=t,this._keyDirection=i,this.speed(this._speed),this._initializeControl();for(var n in i)e.keydown[e.keys[n]]&&this.trigger("KeyDown",{key:e.keys[n]});return this},enableControl:function(){return this.disableControls=!1,this},disableControl:function(){return this.disableControls=!0,this},speed:function(t){for(var i in this._keyDirection){var n=e.keys[i]||i;this._keys[n]={x:Math.round(1e3*Math.cos(this._keyDirection[i]*(Math.PI/180))*t.x)/1e3,y:Math.round(1e3*Math.sin(this._keyDirection[i]*(Math.PI/180))*t.y)/1e3}}return this}}),e.c("Fourway",{init:function(){this.requires("Multiway")},fourway:function(t){return this.multiway(t,{UP_ARROW:-90,DOWN_ARROW:90,RIGHT_ARROW:0,LEFT_ARROW:180,W:-90,S:90,D:0,A:180,Z:-90,Q:180}),this}}),e.c("Twoway",{_speed:3,_up:!1,init:function(){this.requires("Fourway, Keyboard, Gravity")},twoway:function(t,i){return this.multiway(t,{RIGHT_ARROW:0,LEFT_ARROW:180,D:0,A:180,Q:180}),t&&(this._speed=t),this._jumpSpeed=arguments.length<2?2*this._speed:i,this.bind("EnterFrame",function(){this.disableControls||this._up&&(this.y-=this._jumpSpeed,this._falling=!0,this.trigger("Moved",{x:this._x,y:this._y+this._jumpSpeed}))}).bind("KeyDown",function(t){this._falling||t.key!==e.keys.UP_ARROW&&t.key!==e.keys.W&&t.key!==e.keys.Z||(this._up=!0)}),this}})},{"./core.js":9}],9:[function(t,e){function i(){var t=r++;return t in a?i():t}function n(t){if(null===t||"object"!=typeof t)return t;var e=t.constructor();for(var i in t)e[i]=n(t[i]);return e}var r,s,o,a,h,u,c,l,d,_=t("./version"),f=function(t){return new f.fn.init(t)};initState=function(){r=1,s=0,o={},a={},h={},u=[],c=Array.prototype.slice,l=/\s*,\s*/,d=/\s+/},initState(),f.fn=f.prototype={init:function(t){if("string"!=typeof t)return t||(t=0,t in a||(a[t]=this)),t in a?(this[0]=t,this.length=1,this.__c||(this.__c={}),a[t]||(a[t]=this),a[t]):(this.length=0,this);var e,i,n,r,s,h,u,c=0,_=!1,f=!1;if("*"===t){h=0;for(e in a)this[h]=+e,h++;return this.length=h,1===h?a[this[0]]:this}-1!==t.indexOf(",")?(f=!0,n=l):-1!==t.indexOf(" ")&&(_=!0,n=d);for(e in a)if(a.hasOwnProperty(e))if(i=a[e],_||f){for(r=t.split(n),h=0,u=r.length,s=0;u>h;h++)i.__c[r[h]]&&s++;(_&&s===u||f&&s>0)&&(this[c++]=+e)}else i.__c[t]&&(this[c++]=+e);if(c>0&&!_&&!f&&this.extend(o[t]),r&&_)for(h=0;u>h;h++)this.extend(o[r[h]]);return this.length=c,1===c?a[this[c-1]]:this},setName:function(t){var e=String(t);return this._entityName=e,this.trigger("NewEntityName",e),this},addComponent:function(t){var e,i,n,r,s=[],a=0,h=0;if(arguments.length>1)for(i=arguments.length;i>h;h++)s.push(arguments[h]);else if(-1!==t.indexOf(","))for(n=t.split(l),i=n.length;i>h;h++)s.push(n[h]);else s.push(t);for(e=s.length;e>a;a++)this.__c[s[a]]!==!0&&(this.__c[s[a]]=!0,r=o[s[a]],this.extend(r),r&&"init"in r&&r.init.call(this));return this.trigger("NewComponent",s),this},toggleComponent:function(t){var e,i,n=0;if(arguments.length>1)for(e=arguments.length;e>n;n++)this.has(arguments[n])?this.removeComponent(arguments[n]):this.addComponent(arguments[n]);else if(-1!==t.indexOf(","))for(i=t.split(l),e=i.length;e>n;n++)this.has(i[n])?this.removeComponent(i[n]):this.addComponent(i[n]);else this.has(t)?this.removeComponent(t):this.addComponent(t);return this},requires:function(t){return this.addComponent(t)},removeComponent:function(t,e){var i=o[t];if(this.trigger("RemoveComponent",t),i&&"remove"in i&&i.remove.call(this,!1),e===!1&&i)for(var n in i)delete this[n];return delete this.__c[t],this},getId:function(){return this[0]},has:function(t){return!!this.__c[t]},attr:function(t,e){if(1===arguments.length)return"string"==typeof t?this[t]:(this.extend(t),this.trigger("Change",t),this);this[t]=e;var i={};return i[t]=e,this.trigger("Change",i),this},toArray:function(){return c.call(this,0)},timeout:function(t,e){return this.each(function(){var i=this;setTimeout(function(){t.call(i)},e)}),this},bind:function(t,e){if(1===this.length){h[t]||(h[t]={});var i=h[t];return i[this[0]]||(i[this[0]]=[]),i[this[0]].push(e),this}return this.each(function(){h[t]||(h[t]={});var i=h[t];i[this[0]]||(i[this[0]]=[]),i[this[0]].push(e)}),this},uniqueBind:function(t,e){this.unbind(t,e),this.bind(t,e)},one:function(t,e){var i=this,n=function(r){e.call(i,r),i.unbind(t,n)};return i.bind(t,n)},unbind:function(t,e){return this.each(function(){var i,n,r=h[t],s=0;if(!r||!r[this[0]])return this;if(i=r[this[0]].length,!e)return delete r[this[0]],this;for(;i>s;s++)n=r[this[0]],n[s]==e&&delete n[s]}),this},trigger:function(t,e){if(1===this.length){if(h[t]&&h[t][this[0]]){var i,n=h[t][this[0]];for(i=0;i<n.length;i++)"undefined"==typeof n[i]?(n.splice(i,1),i--):n[i].call(this,e)}return this}return this.each(function(){if(h[t]&&h[t][this[0]]){var i,n=h[t][this[0]];for(i=0;i<n.length;i++)"undefined"==typeof n[i]?(n.splice(i,1),i--):n[i].call(this,e)}}),this},each:function(t){for(var e=0,i=this.length;i>e;e++)a[this[e]]&&t.call(a[this[e]],e);return this},get:function(t){var e=this.length;if("undefined"!=typeof t)return t>=e||0>t+e?void 0:t>=0?a[this[t]]:a[this[t+e]];for(var i=0,n=[];e>i;i++)a[this[i]]&&n.push(a[this[i]]);return n},clone:function(){var t,e,i=this.__c,n=f.e();for(t in i)n.addComponent(t);for(e in this)"0"!=e&&"_global"!=e&&"_changed"!=e&&"function"!=typeof this[e]&&"object"!=typeof this[e]&&(n[e]=this[e]);return n},setter:function(t,e){return f.support.setter?this.__defineSetter__(t,e):f.support.defineProperty&&Object.defineProperty(this,t,{set:e,configurable:!0}),this},destroy:function(){this.each(function(){var t;this.trigger("Remove");for(var e in this.__c)t=o[e],t&&"remove"in t&&t.remove.call(this,!0);for(var i in h)this.unbind(i);delete a[this[0]]})}},f.fn.init.prototype=f.fn,f.extend=f.fn.extend=function(t){var e,i=this;if(!t)return i;for(e in t)i!==t[e]&&(i[e]=t[e]);return i},f.extend({init:function(t,e,i){return f.viewport.init(t,e,i),this.trigger("Load"),this.timer.init(),this},getVersion:function(){return _},stop:function(t){if(this.timer.stop(),t){if(f.audio.remove(),f.stage&&f.stage.elem.parentNode){var e=document.createElement("div");e.id=f.stage.elem.id,f.stage.elem.parentNode.replaceChild(e,f.stage.elem)}initState()}return f.trigger("CraftyStop"),this},pause:function(t){return(1===arguments.length?t:!this._paused)?(this.trigger("Pause"),this._paused=!0,setTimeout(function(){f.timer.stop()},0),f.keydown={}):(this.trigger("Unpause"),this._paused=!1,setTimeout(function(){f.timer.init()},0)),this},isPaused:function(){return this._paused},timer:function(){var t,e,i,n="fixed",r=5,o=40,a=0,h=0,u=50,c=1e3/u;return{init:function(){"undefined"==typeof i&&(i=(new Date).getTime()-c);var n=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||null;n?(t=function(){f.timer.step(),t&&(e=n(t))})():t=setInterval(function(){f.timer.step()},1e3/u)},stop:function(){f.trigger("CraftyStopTimer"),"number"==typeof t&&clearInterval(t);var i=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||null;i&&i(e),t=null},steptype:function(t,e){if("variable"===t||"semifixed"===t)n=t,e&&(o=e);else{if("fixed"!==t)throw"Invalid step type specified";n="fixed",e&&(r=e)}},step:function(){var t,e,u,l=0;if(currentTime=(new Date).getTime(),a>0&&f.trigger("MeasureWaitTime",currentTime-a),i+h>=currentTime)return void(a=currentTime);var d=currentTime-(i+h);d>20*c&&(h+=d-c,d=c),"fixed"===n?(l=Math.ceil(d/c),l=Math.min(l,r),e=c):"variable"===n?(l=1,e=d,e=Math.min(e,o)):"semifixed"===n&&(l=Math.ceil(d/o),e=d/l);for(var _=0;l>_;_++)u=currentTime,f.trigger("EnterFrame",{frame:s++,dt:e,gameTime:i}),i+=e,currentTime=(new Date).getTime(),f.trigger("MeasureFrameTime",currentTime-u);l>0&&(t=currentTime,f.trigger("RenderScene"),f.trigger("PostRender"),currentTime=(new Date).getTime(),f.trigger("MeasureRenderTime",currentTime-t)),a=currentTime},FPS:function(t){return"undefined"==typeof t?u:(u=t,void(c=1e3/u))},simulateFrames:function(t,e){for("undefined"==typeof e&&(e=c);t-->0;)f.trigger("EnterFrame",{frame:s++,dt:e});f.trigger("RenderScene")}}}(),e:function(){var t,e=i();return a[e]=null,a[e]=t=f(e),arguments.length>0&&t.addComponent.apply(t,arguments),t.setName("Entity #"+e),t.addComponent("obj"),f.trigger("NewEntity",{id:e}),t},c:function(t,e){o[t]=e},trigger:function(t,e){var i,n,r,s,o=h[t];for(i in o)if(o.hasOwnProperty(i)&&(r=o[i],r&&0!==r.length))for(s=a[i]?f(+i):f,n=0;n<r.length;n++)"undefined"==typeof r[n]?(r.splice(n,1),n--):r[n].call(s,e)},bind:function(t,e){h[t]||(h[t]={});var i=h[t];return i.global||(i.global=[]),i.global.push(e),e},uniqueBind:function(t,e){return this.unbind(t,e),this.bind(t,e)},one:function(t,e){var i=this,n=function(r){e.call(i,r),i.unbind(t,n)};return i.bind(t,n)},unbind:function(t,e){var i,n,r,s,o=h[t];if(void 0===o||void 0===o.global||0===o.global.length)return!1;if(1===arguments.length)return delete o.global,!0;for(r=o.global,s=!1,i=0,n=r.length;n>i;i++)r[i]===e&&(s=!0,delete r[i]);return s},frame:function(){return s},components:function(){return o},isComp:function(t){return t in o},debug:function(t){return"handlers"===t?h:a},settings:function(){var t={},e={};return{register:function(t,i){e[t]=i},modify:function(i,n){e[i]&&(e[i].call(t[i],n),t[i]=n)},get:function(e){return t[e]}}}(),clone:n}),"function"==typeof define&&define("crafty",[],function(){return f}),e.exports=f,window.Crafty=f},{"./version":28}],10:[function(t){{var e=t("./core.js");window.document}e.extend({device:{_deviceOrientationCallback:!1,_deviceMotionCallback:!1,_normalizeDeviceOrientation:function(t){var i;window.DeviceOrientationEvent?i={tiltLR:t.gamma,tiltFB:t.beta,dir:t.alpha,motUD:null}:window.OrientationEvent&&(i={tiltLR:90*t.x,tiltFB:-90*t.y,dir:null,motUD:t.z}),e.device._deviceOrientationCallback(i)},_normalizeDeviceMotion:function(t){var i=t.accelerationIncludingGravity,n=i.z>0?1:-1,r={acceleration:i,rawAcceleration:"["+Math.round(i.x)+", "+Math.round(i.y)+", "+Math.round(i.z)+"]",facingUp:n,tiltLR:Math.round(i.x/9.81*-90),tiltFB:Math.round((i.y+9.81)/9.81*90*n)};e.device._deviceMotionCallback(r)},deviceOrientation:function(t){this._deviceOrientationCallback=t,e.support.deviceorientation&&(window.DeviceOrientationEvent?e.addEvent(this,window,"deviceorientation",this._normalizeDeviceOrientation):window.OrientationEvent&&e.addEvent(this,window,"MozOrientation",this._normalizeDeviceOrientation))},deviceMotion:function(t){this._deviceMotionCallback=t,e.support.devicemotion&&window.DeviceMotionEvent&&e.addEvent(this,window,"devicemotion",this._normalizeDeviceMotion)}}})},{"./core.js":9}],11:[function(t){{var e=t("./core.js");window.document}e.extend({diamondIso:{_tile:{width:0,height:0,r:0},_map:{width:0,height:0,x:0,y:0},_origin:{x:0,y:0},init:function(t,e,i,n){return this._tile.width=parseInt(t,10),this._tile.height=parseInt(e,10)||parseInt(t,10)/2,this._tile.r=this._tile.width/this._tile.height,this._map.width=parseInt(i,10),this._map.height=parseInt(n,10)||parseInt(i,10),this._origin.x=this._map.height*this._tile.width/2,this},place:function(t,e,i,n){var r=this.pos2px(e,i);n||(n=1);var s=0,o=0;void 0!==t.__margin&&(s=t.__margin[0],o=t.__margin[1]),t.x=r.left+s,t.y=r.top+o-t.h,t.z=r.top*n},centerAt:function(t,i){var n=this.pos2px(t,i);e.viewport.x=-n.left+e.viewport.width/2-this._tile.width,e.viewport.y=-n.top+e.viewport.height/2},area:function(t){t||(t=0);var i=e.viewport.rect(),n=i._x,r=i._y,s=i._w,o=i._h,a=t*this._tile.width,h=t*this._tile.height;n-=this._tile.width/2+a,r-=this._tile.height/2+h,s+=this._tile.width/2+a,o+=this._tile.height/2+h;var u=[];for(yl=r+o;yl>r;r+=this._tile.height/2)for(xl=n+s;xl>n;n+=this._tile.width/2){var c=this.px2pos(n,r);u.push([~~c.x,~~c.y])}return u},pos2px:function(t,e){return{left:(t-e)*this._tile.width/2+this._origin.x,top:(t+e)*this._tile.height/2}},px2pos:function(t,e){var i=(t-this._origin.x)/this._tile.r;return{x:(e+i)/this._tile.height,y:(e-i)/this._tile.height}},polygon:function(t){t.requires("Collision");var i=0,n=0;void 0!==t.__margin&&(i=t.__margin[0],n=t.__margin[1]);var r=[[i-0,t.h-n-this._tile.height/2],[i-this._tile.width/2,t.h-n-0],[i-this._tile.width,t.h-n-this._tile.height/2],[i-this._tile.width/2,t.h-n-this._tile.height]],s=new e.polygon(r);return s}}})},{"./core.js":9}],12:[function(t){{var e=t("./core.js");window.document}e.c("Color",{_color:"",ready:!0,init:function(){this.bind("Draw",function(t){"DOM"===t.type?(t.style.backgroundColor=this._color,t.style.lineHeight=0):"canvas"===t.type&&(this._color&&(t.ctx.fillStyle=this._color),t.ctx.fillRect(t.pos._x,t.pos._y,t.pos._w,t.pos._h))})},color:function(t){return t?(this._color=t,this.trigger("Invalidate"),this):this._color}}),e.c("Tint",{_color:null,_strength:1,ready:!0,init:function(){var t=function(t){var i=t.ctx||e.canvas.context;i.fillStyle=this._color||"rgba(0,0,0, 0)",i.fillRect(t.pos._x,t.pos._y,t.pos._w,t.pos._h)};this.bind("Draw",t).bind("RemoveComponent",function(e){"Tint"===e&&this.unbind("Draw",t)})},tint:function(t,i){return this._strength=i,this._color=e.toRGB(t,this._strength),this.trigger("Invalidate"),this}}),e.c("Image",{_repeat:"repeat",ready:!1,init:function(){var t=function(t){if("canvas"===t.type){if(!this.ready||!this._pattern)return;var e=t.ctx;e.fillStyle=this._pattern,e.save(),e.translate(t.pos._x,t.pos._y),e.fillRect(0,0,this._w,this._h),e.restore()}else"DOM"===t.type&&this.__image&&(t.style.backgroundImage="url("+this.__image+")",t.style.backgroundRepeat=this._repeat)};this.bind("Draw",t).bind("RemoveComponent",function(e){"Image"===e&&this.unbind("Draw",t)})},image:function(t,i){if(this.__image=t,this._repeat=i||"no-repeat",this.img=e.asset(t),!this.img){this.img=new Image,e.asset(t,this.img),this.img.src=t;var n=this;return this.img.onload=function(){n.has("Canvas")&&(n._pattern=e.canvas.context.createPattern(n.img,n._repeat)),n.ready=!0,"no-repeat"===n._repeat&&(n.w=n.img.width,n.h=n.img.height),n.trigger("Invalidate")},this}return this.ready=!0,this.has("Canvas")&&(this._pattern=e.canvas.context.createPattern(this.img,this._repeat)),"no-repeat"===this._repeat&&(this.w=this.img.width,this.h=this.img.height),this.trigger("Invalidate"),this}}),e.extend({toRGB:function(t,e){t="#"===t.charAt(0)?t.substr(1):t;var i,n=[];return n[0]=parseInt(t.substr(0,2),16),n[1]=parseInt(t.substr(2,2),16),n[2]=parseInt(t.substr(4,2),16),i=void 0===e?"rgb("+n.join(",")+")":"rgba("+n.join(",")+","+e+")"}}),e.DrawManager=function(){function t(t,e){return t._globalZ-e._globalZ}var i=[],n=[],r=[],s=!1,o={merge:function(t,e,i){return"undefined"==typeof i&&(i={}),i._h=Math.max(t._y+t._h,e._y+e._h),i._w=Math.max(t._x+t._w,e._x+e._w),i._x=Math.min(t._x,e._x),i._y=Math.min(t._y,e._y),i._w-=i._x,i._h-=i._y,i},clean:function(){var t,e,r;for(r=0,l=n.length;l>r;r++)e=n[r],t=e._mbr||e,"undefined"==typeof e.staleRect&&(e.staleRect={}),e.staleRect._x=t._x,e.staleRect._y=t._y,e.staleRect._w=t._w,e.staleRect._h=t._h,e._changed=!1;n.length=0,i.length=0},createDirty:function(t){var e=t._mbr||t;if(t.staleRect){if(o.overlap(t.staleRect,e))return o.merge(t.staleRect,e,t.staleRect),void i.push(t.staleRect);i.push(t.staleRect)}t.currentRect._x=e._x,t.currentRect._y=e._y,t.currentRect._w=e._w,t.currentRect._h=e._h,i.push(t.currentRect)},overlap:function(t,e){return t._x<e._x+e._w&&t._y<e._y+e._h&&t._x+t._w>e._x&&t._y+t._h>e._y}};return e.bind("InvalidateViewport",function(){s=!0}),e.bind("PostRender",function(){s=!1}),{total2D:e("2D").length,onScreen:function(t){return e.viewport._x+t._x+t._w>0&&e.viewport._y+t._y+t._h>0&&e.viewport._x+t._x<e.viewport.width&&e.viewport._y+t._y<e.viewport.height},mergeSet:function(t){for(var e=0;e<t.length-1;)o.overlap(t[e],t[e+1])?(o.merge(t[e],t[e+1],t[e]),t.splice(e+1,1),e>0&&e--):e++;return t},addCanvas:function(t){n.push(t)},addDom:function(t){r.push(t)},debug:function(){console.log(n,r)},drawAll:function(i){i=i||e.viewport.rect();{var n,r=e.map.search(i),s=0,o=r.length;e.canvas.context}for(e.trigger("PreEnterFrame"),r.sort(t);o>s;s++)n=r[s],n._visible&&n.__c.Canvas&&(n.draw(),n._changed=!1)},boundingRect:function(t){if(t&&t.length){var e,i,n=1,r=t.length,s=t[0];for(s=[s._x,s._y,s._x+s._w,s._y+s._h];r>n;)e=t[n],i=[e._x,e._y,e._x+e._w,e._y+e._h],i[0]<s[0]&&(s[0]=i[0]),i[1]<s[1]&&(s[1]=i[1]),i[2]>s[2]&&(s[2]=i[2]),i[3]>s[3]&&(s[3]=i[3]),n++;return i=s,s={_x:i[0],_y:i[1],_w:i[2]-i[0],_h:i[3]-i[1]}}},renderCanvas:function(){var t=n.length;if(t||s){var i=e.canvas.context,r=e.DrawManager;if(s){var a=e.viewport;i.setTransform(a._scale,0,0,a._scale,a._x*a._scale,a._y*a._scale)}return r.drawAll(),void o.clean()}},renderDOM:function(){if(s){var t=e.stage.inner.style,i=e.viewport;t.transform=t[e.support.prefix+"Transform"]="scale("+i._scale+", "+i._scale+")",t.left=i.x*i._scale+"px",t.top=i.y*i._scale+"px",t.zIndex=10}if(r.length){for(var n=0,o=r.length;o>n;++n)r[n].draw()._changed=!1;r.length=0}}}}(),e.extend({pixelart:function(t){var i=e.canvas.context;i&&(i.imageSmoothingEnabled=!t,i.mozImageSmoothingEnabled=!t,i.webkitImageSmoothingEnabled=!t,i.oImageSmoothingEnabled=!t,i.msImageSmoothingEnabled=!t);var n=e.stage.inner.style;t?(n[e.DOM.camelize("image-rendering")]="optimizeSpeed",n[e.DOM.camelize("image-rendering")]="-moz-crisp-edges",n[e.DOM.camelize("image-rendering")]="-o-crisp-edges",n[e.DOM.camelize("image-rendering")]="-webkit-optimize-contrast",n[e.DOM.camelize("-ms-interpolation-mode")]="nearest-neighbor",n[e.DOM.camelize("image-rendering")]="optimize-contrast",n[e.DOM.camelize("image-rendering")]="pixelated",n[e.DOM.camelize("image-rendering")]="crisp-edges"):(n[e.DOM.camelize("image-rendering")]="optimizeQuality",n[e.DOM.camelize("-ms-interpolation-mode")]="bicubic",n[e.DOM.camelize("image-rendering")]="auto")}})},{"./core.js":9}],13:[function(t){var e=t("./core.js"),i=window.document;!function(){var t=e.support={},n=navigator.userAgent.toLowerCase(),r=/(webkit)[ \/]([\w.]+)/.exec(n)||/(o)pera(?:.*version)?[ \/]([\w.]+)/.exec(n)||/(ms)ie ([\w.]+)/.exec(n)||/(moz)illa(?:.*? rv:([\w.]+))?/.exec(n)||[],s=/iPad|iPod|iPhone|Android|webOS|IEMobile/i.exec(n);if(s&&(e.mobile=s[0]),t.setter="__defineSetter__"in this&&"__defineGetter__"in this,t.defineProperty=function(){if(!("defineProperty"in Object))return!1;try{Object.defineProperty({},"x",{})}catch(t){return!1}return!0}(),t.audio="Audio"in window,t.prefix=r[1]||r[0],"moz"===t.prefix&&(t.prefix="Moz"),"o"===t.prefix&&(t.prefix="O"),r[2]&&(t.versionName=r[2],t.version=+r[2].split(".")[0]),t.canvas="getContext"in i.createElement("canvas"),t.canvas){var o;try{o=i.createElement("canvas").getContext("experimental-webgl"),o.viewportWidth=t.canvas.width,o.viewportHeight=t.canvas.height}catch(a){}t.webgl=!!o}else t.webgl=!1;t.css3dtransform="undefined"!=typeof i.createElement("div").style.Perspective||"undefined"!=typeof i.createElement("div").style[t.prefix+"Perspective"],t.deviceorientation="undefined"!=typeof window.DeviceOrientationEvent||"undefined"!=typeof window.OrientationEvent,t.devicemotion="undefined"!=typeof window.DeviceMotionEvent}(),e.extend({_events:{},addEvent:function(t,e,i,n){3===arguments.length&&(n=i,i=e,e=window.document);var r=function(e){e=e||window.event,"function"==typeof n&&n.call(t,e)},s=t[0]||"";this._events[s+e+i+n]||(this._events[s+e+i+n]=r,e.attachEvent?e.attachEvent("on"+i,r):e.addEventListener(i,r,!1))},removeEvent:function(t,e,i,n){3===arguments.length&&(n=i,i=e,e=window.document);var r=t[0]||"",s=this._events[r+e+i+n];s&&(e.detachEvent?e.detachEvent("on"+i,s):e.removeEventListener(i,s,!1),delete this._events[r+e+i+n])},background:function(t){e.stage.elem.style.background=t}})},{"./core.js":9}],14:[function(t){{var e=t("./core.js");window.document}e.c("HTML",{inner:"",init:function(){this.requires("2D, DOM")},replace:function(t){return this.inner=t,this._element.innerHTML=t,this},append:function(t){return this.inner+=t,this._element.innerHTML+=t,this},prepend:function(t){return this.inner=t+this.inner,this._element.innerHTML=t+this.inner,this}})},{"./core.js":9}],15:[function(t){var e=t("./core.js"),i=window.document;e["import"]=function(t,n){if("string"!=typeof t){var r,s,o,a,h=0;if(t.n&&"object"==typeof t.n)for(s=t.n.length;s>h;++h)o=t.n[h],a=e.e(o.c),delete o.c,a.attr(o);for(r in t)a=e(r),a.attr(t[r])}else if(levelData)e.import(n?levelData[n]:levelData);else{var u;u=i.createElement("script"),u.onload=function(){e.import(n?levelData[n]:levelData)},u.src=t}}},{"./core.js":9}],16:[function(t){{var e=t("./core.js");window.document}e.extend({isometric:{_tile:{width:0,height:0},_elements:{},_pos:{x:0,y:0},_z:0,size:function(t,e){return this._tile.width=t,this._tile.height=e>0?e:t/2,this},place:function(t,i,n,r){var s=this.pos2px(t,i);return s.top-=n*(this._tile.height/2),r.attr({x:s.left+e.viewport._x,y:s.top+e.viewport._y}).z+=n,this},pos2px:function(t,e){return{left:t*this._tile.width+(1&e)*(this._tile.width/2),top:e*this._tile.height/2}},px2pos:function(t,e){return{x:-Math.ceil(-t/this._tile.width-.5*(1&e)),y:e/this._tile.height*2}},centerAt:function(t,i){if("number"==typeof t&&"number"==typeof i){var n=this.pos2px(t,i);return e.viewport._x=-n.left+e.viewport.width/2-this._tile.width/2,e.viewport._y=-n.top+e.viewport.height/2-this._tile.height/2,this}return{top:-e.viewport._y+e.viewport.height/2-this._tile.height/2,left:-e.viewport._x+e.viewport.width/2-this._tile.width/2}},area:function(){var t=this.centerAt(),i=this.px2pos(-t.left+e.viewport.width/2,-t.top+e.viewport.height/2),n=this.px2pos(-t.left-e.viewport.width/2,-t.top-e.viewport.height/2);return{x:{start:i.x,end:n.x},y:{start:i.y,end:n.y}}}}})},{"./core.js":9}],17:[function(t){{var e=t("./core.js");window.document}e.extend({keys:{BACKSPACE:8,TAB:9,ENTER:13,PAUSE:19,CAPS:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,INSERT:45,DELETE:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,NUMPAD_0:96,NUMPAD_1:97,NUMPAD_2:98,NUMPAD_3:99,NUMPAD_4:100,NUMPAD_5:101,NUMPAD_6:102,NUMPAD_7:103,NUMPAD_8:104,NUMPAD_9:105,MULTIPLY:106,ADD:107,SUBSTRACT:109,DECIMAL:110,DIVIDE:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,SHIFT:16,CTRL:17,ALT:18,PLUS:187,COMMA:188,MINUS:189,PERIOD:190,PULT_UP:29460,PULT_DOWN:29461,PULT_LEFT:4,PULT_RIGHT:5},mouseButtons:{LEFT:0,MIDDLE:1,RIGHT:2}})},{"./core.js":9}],18:[function(t){var e=t("./core.js"),i=window.document;e.extend({assets:{},asset:function(t,i){return 1===arguments.length?e.assets[t]:e.assets[t]?void 0:(e.assets[t]=i,this.trigger("NewAsset",{key:t,value:i}),i)},image_whitelist:["jpg","jpeg","gif","png","svg"],load:function(t,i,n,r){function s(){var t=this.src;this.removeEventListener&&this.removeEventListener("canplaythrough",s,!1),++d,n&&n({loaded:d,total:l,percent:d/l*100,src:t}),d===l&&i&&i()}function o(){var t=this.src;r&&r({loaded:d,total:l,percent:d/l*100,src:t}),d++,d===l&&i&&i()}for(var a,h,u=0,c=t.length,l=c,d=0,_="";c>u;++u){if(a=t[u],_=a.substr(a.lastIndexOf(".")+1,3).toLowerCase(),h=e.asset(a)||null,e.audio.supports(_)){if(!h){var f=a.substr(a.lastIndexOf("/")+1).toLowerCase();h=e.audio.create(f,a).obj}h.addEventListener&&h.addEventListener("canplaythrough",s,!1)}else{if(!(e.image_whitelist.indexOf(_)>=0)){l--;continue}h||(h=new Image,e.asset(a,h)),h.onload=s,"webkit"===e.support.prefix,h.src=a}h.onerror=o}0===l&&i()},modules:function(t,e,n){2===arguments.length&&"object"==typeof t&&(n=e,e=t,t="http://cdn.craftycomponents.com");var r=function(){function t(t,e,i){for(i=0,j=t.length;j>i;++i)if(!e(t[i]))return p;return 1}function e(e,i){t(e,function(t){return!i(t)})}function n(i,o,a){function h(t){return t.call?t():l[t]}function c(){if(!--y){l[v]=1,m&&m();for(var i in _)t(i.split("|"),h)&&!e(_[i],h)&&(_[i]=[])}}i=i[g]?i:[i];var p=o&&o.call,m=p?o:a,v=p?i.join(""):o,y=i.length;return setTimeout(function(){e(i,function(t){return f[t]?(v&&(d[v]=1),2==f[t]&&c()):(f[t]=1,v&&(d[v]=1),void r(!u.test(t)&&s?s+t+".js":t,c))})},0),n}function r(t,e){var i=a.createElement("script"),n=p;i.onload=i.onerror=i[w]=function(){i[v]&&!/^c|loade/.test(i[v])||n||(i.onload=i[w]=null,n=1,f[t]=2,e())},i.async=1,i.src=t,h.insertBefore(i,h.firstChild)}var s,o=this,a=i,h=a.getElementsByTagName("head")[0],u=/^https?:\/\//,c=o.$script,l={},d={},_={},f={},p=!1,g="push",m="DOMContentLoaded",v="readyState",y="addEventListener",w="onreadystatechange";return!a[v]&&a[y]&&(a[y](m,function x(){a.removeEventListener(m,x,p),a[v]="complete"},p),a[v]="loading"),n.get=r,n.order=function(t,e,i){!function r(s){s=t.shift(),t.length?n(s,r):n(s,e,i)}()},n.path=function(t){s=t},n.ready=function(i,r,s){i=i[g]?i:[i];var o=[];return!e(i,function(t){l[t]||o[g](t)})&&t(i,function(t){return l[t]})?r():!function(t){_[t]=_[t]||[],_[t][g](r),s&&s(o)}(i.join("|")),n},n.noConflict=function(){return o.$script=c,this},n}(),s=[],o=/^(https?|file):\/\//;for(var a in e)s.push(o.test(a)?a:t+"/"+a.toLowerCase()+"-"+e[a].toLowerCase()+".js");r(s,function(){n&&n()})}})},{"./core.js":9}],19:[function(t){{var e=t("./core.js");window.document}e.math={abs:function(t){return 0>t?-t:t},amountOf:function(t,e,i){return i>e?(t-e)/(i-e):(t-i)/(e-i)},clamp:function(t,e,i){return t>i?i:e>t?e:t},degToRad:function(t){return t*Math.PI/180},distance:function(t,i,n,r){var s=e.math.squaredDistance(t,i,n,r);return Math.sqrt(parseFloat(s))},lerp:function(t,e,i){return t+(e-t)*i},negate:function(t){return Math.random()<t?-1:1},radToDeg:function(t){return 180*t/Math.PI},randomElementOfArray:function(t){return t[Math.floor(t.length*Math.random())]},randomInt:function(t,e){return t+Math.floor((1+e-t)*Math.random())},randomNumber:function(t,e){return t+(e-t)*Math.random()},squaredDistance:function(t,e,i,n){return(t-i)*(t-i)+(e-n)*(e-n)},withinRange:function(t,e,i){return t>=e&&i>=t}},e.math.Vector2D=function(){function t(e,i){if(e instanceof t)this.x=e.x,this.y=e.y;else if(2===arguments.length)this.x=e,this.y=i;else if(arguments.length>0)throw"Unexpected number of arguments for Vector2D()"}return t.prototype.x=0,t.prototype.y=0,t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.angleBetween=function(t){return Math.atan2(this.x*t.y-this.y*t.x,this.x*t.x+this.y*t.y)},t.prototype.angleTo=function(t){return Math.atan2(t.y-this.y,t.x-this.x)},t.prototype.clone=function(){return new t(this)},t.prototype.distance=function(t){return Math.sqrt((t.x-this.x)*(t.x-this.x)+(t.y-this.y)*(t.y-this.y))},t.prototype.distanceSq=function(t){return(t.x-this.x)*(t.x-this.x)+(t.y-this.y)*(t.y-this.y)},t.prototype.divide=function(t){return this.x/=t.x,this.y/=t.y,this},t.prototype.dotProduct=function(t){return this.x*t.x+this.y*t.y},t.prototype.equals=function(e){return e instanceof t&&this.x==e.x&&this.y==e.y},t.prototype.getNormal=function(e){return void 0===e?new t(-this.y,this.x):new t(e.y-this.y,this.x-e.x).normalize()},t.prototype.isZero=function(){return 0===this.x&&0===this.y},t.prototype.magnitude=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.magnitudeSq=function(){return this.x*this.x+this.y*this.y},t.prototype.multiply=function(t){return this.x*=t.x,this.y*=t.y,this},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.normalize=function(){var t=Math.sqrt(this.x*this.x+this.y*this.y);return 0===t?(this.x=1,this.y=0):(this.x/=t,this.y/=t),this},t.prototype.scale=function(t,e){return void 0===e&&(e=t),this.x*=t,this.y*=e,this},t.prototype.scaleToMagnitude=function(t){var e=t/this.magnitude();return this.x*=e,this.y*=e,this},t.prototype.setValues=function(e,i){return e instanceof t?(this.x=e.x,this.y=e.y):(this.x=e,this.y=i),this},t.prototype.subtract=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.toString=function(){return"Vector2D("+this.x+", "+this.y+")"
  6. },t.prototype.translate=function(t,e){return void 0===e&&(e=t),this.x+=t,this.y+=e,this},t.tripleProduct=function(t,i,n){var r=t.dotProduct(n),s=i.dotProduct(n);return new e.math.Vector2D(i.x*r-t.x*s,i.y*r-t.y*s)},t}(),e.math.Matrix2D=function(){return Matrix2D=function(t,e,i,n,r,s){if(t instanceof Matrix2D)this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.e=t.e,this.f=t.f;else if(6===arguments.length)this.a=t,this.b=e,this.c=i,this.d=n,this.e=r,this.f=s;else if(arguments.length>0)throw"Unexpected number of arguments for Matrix2D()"},Matrix2D.prototype.a=1,Matrix2D.prototype.b=0,Matrix2D.prototype.c=0,Matrix2D.prototype.d=1,Matrix2D.prototype.e=0,Matrix2D.prototype.f=0,Matrix2D.prototype.apply=function(t){var e=t.x;return t.x=e*this.a+t.y*this.c+this.e,t.y=e*this.b+t.y*this.d+this.f,t},Matrix2D.prototype.clone=function(){return new Matrix2D(this)},Matrix2D.prototype.combine=function(t){var e=this.a;return this.a=e*t.a+this.b*t.c,this.b=e*t.b+this.b*t.d,e=this.c,this.c=e*t.a+this.d*t.c,this.d=e*t.b+this.d*t.d,e=this.e,this.e=e*t.a+this.f*t.c+t.e,this.f=e*t.b+this.f*t.d+t.f,this},Matrix2D.prototype.equals=function(t){return t instanceof Matrix2D&&this.a==t.a&&this.b==t.b&&this.c==t.c&&this.d==t.d&&this.e==t.e&&this.f==t.f},Matrix2D.prototype.determinant=function(){return this.a*this.d-this.b*this.c},Matrix2D.prototype.invert=function(){var t=this.determinant();if(0!==t){var e={a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f};this.a=e.d/t,this.b=-e.b/t,this.c=-e.c/t,this.d=e.a/t,this.e=(e.c*e.f-e.e*e.d)/t,this.f=(e.e*e.b-e.a*e.f)/t}return this},Matrix2D.prototype.isIdentity=function(){return 1===this.a&&0===this.b&&0===this.c&&1===this.d&&0===this.e&&0===this.f},Matrix2D.prototype.isInvertible=function(){return 0!==this.determinant()},Matrix2D.prototype.preRotate=function(t){var e=Math.cos(t),i=Math.sin(t),n=this.a;return this.a=e*n-i*this.b,this.b=i*n+e*this.b,n=this.c,this.c=e*n-i*this.d,this.d=i*n+e*this.d,this},Matrix2D.prototype.preScale=function(t,e){return void 0===e&&(e=t),this.a*=t,this.b*=e,this.c*=t,this.d*=e,this},Matrix2D.prototype.preTranslate=function(t,e){return"number"==typeof t?(this.e+=t,this.f+=e):(this.e+=t.x,this.f+=t.y),this},Matrix2D.prototype.rotate=function(t){var e=Math.cos(t),i=Math.sin(t),n=this.a;return this.a=e*n-i*this.b,this.b=i*n+e*this.b,n=this.c,this.c=e*n-i*this.d,this.d=i*n+e*this.d,n=this.e,this.e=e*n-i*this.f,this.f=i*n+e*this.f,this},Matrix2D.prototype.scale=function(t,e){return void 0===e&&(e=t),this.a*=t,this.b*=e,this.c*=t,this.d*=e,this.e*=t,this.f*=e,this},Matrix2D.prototype.setValues=function(t,e,i,n,r,s){return t instanceof Matrix2D?(this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.e=t.e,this.f=t.f):(this.a=t,this.b=e,this.c=i,this.d=n,this.e=r,this.f=s),this},Matrix2D.prototype.toString=function(){return"Matrix2D(["+this.a+", "+this.c+", "+this.e+"] ["+this.b+", "+this.d+", "+this.f+"] [0, 0, 1])"},Matrix2D.prototype.translate=function(t,e){return"number"==typeof t?(this.e+=this.a*t+this.c*e,this.f+=this.b*t+this.d*e):(this.e+=this.a*t.x+this.c*t.y,this.f+=this.b*t.x+this.d*t.y),this},Matrix2D}()},{"./core.js":9}],20:[function(t){var e=t("./core.js"),i=window.document;e.c("Particles",{init:function(){this._Particles=e.clone(this._Particles),this._Particles.parentEntity=this},particles:function(t){if(!e.support.canvas||e.deactivateParticles)return this;var n,r,s,o,a;n=i.createElement("canvas"),n.width=e.viewport.width,n.height=e.viewport.height,n.style.position="absolute",n.style.left="0px",n.style.top="0px",e.stage.elem.appendChild(n),r=n.getContext("2d"),this._Particles.init(t),this.bind("Remove",function(){e.stage.elem.removeChild(n)}).bind("RemoveComponent",function(t){"particles"===t&&e.stage.elem.removeChild(n)}),s=this.x+e.viewport.x,o=this.y+e.viewport.y,this._Particles.position=this._Particles.vectorHelpers.create(s,o);var h={x:e.viewport.x,y:e.viewport.y};return this.bind("EnterFrame",function(){s=this.x+e.viewport.x,o=this.y+e.viewport.y,this._Particles.viewportDelta={x:e.viewport.x-h.x,y:e.viewport.y-h.y},h={x:e.viewport.x,y:e.viewport.y},this._Particles.position=this._Particles.vectorHelpers.create(s,o),"function"==typeof e.DrawManager.boundingRect?(a=e.DrawManager.boundingRect(this._Particles.register),a&&r.clearRect(a._x,a._y,a._w,a._h)):r.clearRect(0,0,e.viewport.width,e.viewport.height),this._Particles.update(),this._Particles.render(r)}),this},_Particles:{presets:{maxParticles:150,size:18,sizeRandom:4,speed:1,speedRandom:1.2,lifeSpan:29,lifeSpanRandom:7,angle:65,angleRandom:34,startColour:[255,131,0,1],startColourRandom:[48,50,45,0],endColour:[245,35,0,0],endColourRandom:[60,60,60,0],sharpness:20,sharpnessRandom:10,spread:10,duration:-1,fastMode:!1,gravity:{x:0,y:.1},jitter:0,particles:[],active:!0,particleCount:0,elapsedFrames:0,emissionRate:0,emitCounter:0,particleIndex:0},init:function(t){this.position=this.vectorHelpers.create(0,0),"undefined"==typeof t&&(t={});for(var e in this.presets)this[e]="undefined"!=typeof t[e]?t[e]:this.presets[e];this.emissionRate=this.maxParticles/this.lifeSpan,this.positionRandom=this.vectorHelpers.create(this.spread,this.spread)},addParticle:function(){if(this.particleCount==this.maxParticles)return!1;var t=new this.particle(this.vectorHelpers);return this.initParticle(t),this.particles[this.particleCount]=t,this.particleCount++,!0},RANDM1TO1:function(){return 2*Math.random()-1},initParticle:function(t){t.position.x=this.position.x+this.positionRandom.x*this.RANDM1TO1(),t.position.y=this.position.y+this.positionRandom.y*this.RANDM1TO1();var e=(this.angle+this.angleRandom*this.RANDM1TO1())*(Math.PI/180),i=this.vectorHelpers.create(Math.sin(e),-Math.cos(e)),n=this.speed+this.speedRandom*this.RANDM1TO1();t.direction=this.vectorHelpers.multiply(i,n),t.size=this.size+this.sizeRandom*this.RANDM1TO1(),t.size=t.size<0?0:~~t.size,t.timeToLive=this.lifeSpan+this.lifeSpanRandom*this.RANDM1TO1(),t.sharpness=this.sharpness+this.sharpnessRandom*this.RANDM1TO1(),t.sharpness=t.sharpness>100?100:t.sharpness<0?0:t.sharpness,t.sizeSmall=~~(t.size/200*t.sharpness);var r=[this.startColour[0]+this.startColourRandom[0]*this.RANDM1TO1(),this.startColour[1]+this.startColourRandom[1]*this.RANDM1TO1(),this.startColour[2]+this.startColourRandom[2]*this.RANDM1TO1(),this.startColour[3]+this.startColourRandom[3]*this.RANDM1TO1()],s=[this.endColour[0]+this.endColourRandom[0]*this.RANDM1TO1(),this.endColour[1]+this.endColourRandom[1]*this.RANDM1TO1(),this.endColour[2]+this.endColourRandom[2]*this.RANDM1TO1(),this.endColour[3]+this.endColourRandom[3]*this.RANDM1TO1()];t.colour=r,t.deltaColour[0]=(s[0]-r[0])/t.timeToLive,t.deltaColour[1]=(s[1]-r[1])/t.timeToLive,t.deltaColour[2]=(s[2]-r[2])/t.timeToLive,t.deltaColour[3]=(s[3]-r[3])/t.timeToLive},update:function(){if(this.active&&this.emissionRate>0){var t=1/this.emissionRate;for(this.emitCounter++;this.particleCount<this.maxParticles&&this.emitCounter>t;)this.addParticle(),this.emitCounter-=t;this.elapsedFrames++,-1!=this.duration&&this.duration<this.elapsedFrames&&this.stop()}this.particleIndex=0,this.register=[];for(var e;this.particleIndex<this.particleCount;){var i=this.particles[this.particleIndex];if(i.timeToLive>0){i.direction=this.vectorHelpers.add(i.direction,this.gravity),i.position=this.vectorHelpers.add(i.position,i.direction),i.position=this.vectorHelpers.add(i.position,this.viewportDelta),this.jitter&&(i.position.x+=this.jitter*this.RANDM1TO1(),i.position.y+=this.jitter*this.RANDM1TO1()),i.timeToLive--;var n=i.colour[0]+=i.deltaColour[0],r=i.colour[1]+=i.deltaColour[1],s=i.colour[2]+=i.deltaColour[2],o=i.colour[3]+=i.deltaColour[3];e=[],e.push("rgba("+(n>255?255:0>n?0:~~n)),e.push(r>255?255:0>r?0:~~r),e.push(s>255?255:0>s?0:~~s),e.push((o>1?1:0>o?0:o.toFixed(2))+")"),i.drawColour=e.join(","),this.fastMode||(e[3]="0)",i.drawColourEnd=e.join(",")),this.particleIndex++}else this.particleIndex!=this.particleCount-1&&(this.particles[this.particleIndex]=this.particles[this.particleCount-1]),this.particleCount--;var a={};a._x=~~i.position.x,a._y=~~i.position.y,a._w=i.size,a._h=i.size,this.register.push(a)}},stop:function(){this.active=!1,this.elapsedFrames=0,this.emitCounter=0,this.parentEntity.trigger("ParticleEnd")},render:function(t){for(var i=0,n=this.particleCount;n>i;i++){var r=this.particles[i],s=r.size,o=s>>1;if(!(r.position.x+s<0||r.position.y+s<0||r.position.x-s>e.viewport.width||r.position.y-s>e.viewport.height)){var a=~~r.position.x,h=~~r.position.y;if(this.fastMode)t.fillStyle=r.drawColour;else{var u=t.createRadialGradient(a+o,h+o,r.sizeSmall,a+o,h+o,o);u.addColorStop(0,r.drawColour),u.addColorStop(.9,r.drawColourEnd),t.fillStyle=u}t.fillRect(a,h,s,s)}}},particle:function(t){this.position=t.create(0,0),this.direction=t.create(0,0),this.size=0,this.sizeSmall=0,this.timeToLive=0,this.colour=[],this.drawColour="",this.deltaColour=[],this.sharpness=0},vectorHelpers:{create:function(t,e){return{x:t,y:e}},multiply:function(t,e){return t.x*=e,t.y*=e,t},add:function(t,e){return t.x+=e.x,t.y+=e.y,t}}}})},{"./core.js":9}],21:[function(t){{var e=t("./core.js");window.document}e.extend({_scenes:{},_current:null,scene:function(t,i,n){return 1===arguments.length||"function"!=typeof arguments[1]?void e.enterScene(t,arguments[1]):void e.defineScene(t,i,n)},defineScene:function(t,e,i){if("function"!=typeof e)throw"Init function is the wrong type.";this._scenes[t]={},this._scenes[t].initialize=e,"undefined"!=typeof i&&(this._scenes[t].uninitialize=i)},enterScene:function(t,i){if("function"==typeof i)throw"Scene data cannot be a function";e.trigger("SceneDestroy",{newScene:t}),e.viewport.reset(),e("2D").each(function(){this.has("Persist")||this.destroy()}),null!==this._current&&"uninitialize"in this._scenes[this._current]&&this._scenes[this._current].uninitialize.call(this);var n=this._current;this._current=t,e.trigger("SceneChange",{oldScene:n,newScene:t}),this._scenes[t].initialize.call(this,i)}})},{"./core.js":9}],22:[function(t){var e=t("./core.js"),i=window.document;e.extend({audio:{sounds:{},supported:null,codecs:{ogg:'audio/ogg; codecs="vorbis"',wav:'audio/wav; codecs="1"',webma:'audio/webm; codecs="vorbis"',mp3:'audio/mpeg; codecs="mp3"',m4a:"audio/aac;"},volume:1,muted:!1,paused:!1,playCheck:null,_canPlay:function(){if(this.supported={},e.support.audio){var t,i=this.audioElement();for(var n in this.codecs)t=i.canPlayType(this.codecs[n]),this.supported[n]=""!==t&&"no"!==t?!0:!1}},supports:function(t){return null===this.supported&&this._canPlay(),this.supported[t]?!0:!1},audioElement:function(){return"undefined"!=typeof Audio?new Audio(""):i.createElement("audio")},create:function(t,i){var n=i.substr(i.lastIndexOf(".")+1).toLowerCase();if(!this.supports(n))return!1;var r=this.audioElement();return r.id=t,r.preload="auto",r.volume=e.audio.volume,r.src=i,e.asset(i,r),this.sounds[t]={obj:r,played:0,volume:e.audio.volume},this.sounds[t]},add:function(t,i){if(e.support.audio){var n;if(1===arguments.length&&"object"==typeof t)for(var r in t)for(n in t[r])if(e.audio.create(r,t[r][n]))break;if("string"==typeof t&&("string"==typeof i&&e.audio.create(t,i),"object"==typeof i))for(n in i)if(e.audio.create(t,i[n]))break}},play:function(t,i,n){if(0!==i&&e.support.audio&&this.sounds[t]){var r=this.sounds[t],s=this.getOpenChannel();if(!s)return null;s.id=t,s.repeat=i;var o=s.obj;return s.volume=r.volume=r.obj.volume=n||e.audio.volume,o.volume=r.volume,o.src=r.obj.src,this.muted&&(o.volume=0),o.play(),r.played++,s.onEnd=function(){r.played<s.repeat||-1==i?(this.currentTime&&(this.currentTime=0),this.play(),r.played++):(s.active=!1,this.pause(),this.removeEventListener("ended",s.onEnd,!0),this.currentTime=0,e.trigger("SoundComplete",{id:s.id}))},o.addEventListener("ended",s.onEnd,!0),o}},maxChannels:7,setChannels:function(t){this.maxChannels=t,t<this.channels.length&&(this.channels.length=t)},channels:[],getOpenChannel:function(){for(var t=0;t<this.channels.length;t++){var e=this.channels[t];if(e.active===!1||e.obj.ended&&e.repeat<=this.sounds[e.id].played)return e.active=!0,e}if(t<this.maxChannels){var i={obj:this.audioElement(),active:!0,_is:function(t){return this.id===t&&this.active}};return this.channels.push(i),i}return null},remove:function(t){if(e.support.audio){var i;if(t)this.sounds[t]&&(i=this.sounds[t],e.audio.stop(t),delete e.assets[i.obj.src],delete e.audio.sounds[t]);else for(var n in this.sounds)i=this.sounds[n],e.audio.stop(t),delete e.assets[i.obj.src],delete e.audio.sounds[t]}},stop:function(t){if(e.support.audio)for(var i in this.channels)c=this.channels[i],(!t&&c.active||c._is(t))&&(c.active=!1,c.obj.pause())},_mute:function(t){if(e.support.audio){var i;for(var n in this.channels)i=this.channels[n],i.obj.volume=t?0:i.volume;this.muted=t}},toggleMute:function(){this._mute(this.muted?!1:!0)},mute:function(){this._mute(!0)},unmute:function(){this._mute(!1)},pause:function(t){if(e.support.audio&&t&&this.sounds[t]){var i;for(var n in this.channels)i=this.channels[n],i._is(t)&&!i.obj.paused&&i.obj.pause()}},unpause:function(t){if(e.support.audio&&t&&this.sounds[t]){var i;for(var n in this.channels)i=this.channels[n],i._is(t)&&i.obj.paused&&i.obj.play()}},togglePause:function(t){if(e.support.audio&&t&&this.sounds[t]){var i;for(var n in this.channels)i=this.channels[n],i._is(t)&&(i.obj.paused?i.obj.play():i.obj.pause())}}}})},{"./core.js":9}],23:[function(t){{var e=t("./core.js");t("./animation.js"),window.document}e.c("SpriteAnimation",{_reels:null,_currentReelId:null,_currentReel:null,_isPlaying:!1,animationSpeed:1,init:function(){this._reels={}},reel:function(t,i,n,r,s){if(0===arguments.length)return this._currentReelId;if(1===arguments.length&&"string"==typeof t){if("undefined"==typeof this._reels[t])throw"The specified reel "+t+" is undefined.";return this.pauseAnimation(),this._currentReelId!==t&&(this._currentReelId=t,this._currentReel=this._reels[t],this._updateSprite(),this.trigger("ReelChange",this._currentReel)),this}var o,a;if(o={id:t,frames:[],currentFrame:0,easing:new e.easing(i),defaultLoops:1},o.duration=o.easing.duration,"number"==typeof n)if(a=n,y=r,s>=0)for(;n+s>a;a++)o.frames.push([a,y]);else for(;a>n+s;a--)o.frames.push([a,y]);else{if(3!==arguments.length||"object"!=typeof n)throw"Urecognized arguments. Please see the documentation for 'reel(...)'.";o.frames=n}return this._reels[t]=o,this},animate:function(t,e){"string"==typeof t&&this.reel(t);var i=this._currentReel;if("undefined"==typeof i||null===i)throw"No reel is specified, and there is no currently active reel.";return this.pauseAnimation(),"undefined"==typeof e&&(e="number"==typeof t?t:1),i.easing.reset(),this.loops(e),this._setFrame(0),this.bind("EnterFrame",this._animationTick),this._isPlaying=!0,this.trigger("StartAnimation",i),this},resumeAnimation:function(){return this._isPlaying===!1&&null!==this._currentReel&&(this.bind("EnterFrame",this._animationTick),this._isPlaying=!0,this._currentReel.easing.resume(),this.trigger("StartAnimation",this._currentReel)),this},pauseAnimation:function(){return this._isPlaying===!0&&(this.unbind("EnterFrame",this._animationTick),this._isPlaying=!1,this._reels[this._currentReelId].easing.pause()),this},resetAnimation:function(){var t=this._currentReel;if(null===t)throw"No active reel to reset.";return this.reelPosition(0),t.easing.repeat(t.defaultLoops),this},loops:function(t){return 0===arguments.length?null!==this._currentReel?this._currentReel.easing.loops:0:(null!==this._currentReel&&(0>t&&(t=1/0),this._currentReel.easing.repeat(t),this._currentReel.defaultLoops=t),this)},reelPosition:function(t){if(null===this._currentReel)throw"No active reel.";if(0===arguments.length)return this._currentReel.currentFrame;var e,i=this._currentReel.frames.length;if("end"===t&&(t=i-1),1>t&&t>0)e=t,t=Math.floor(i*e);else{if(t!==Math.floor(t))throw"Position "+t+" is invalid.";0>t&&(t=i-1+t),e=t/i}return t=Math.min(t,i-1),t=Math.max(t,0),this._setProgress(e),this._setFrame(t),this},_animationTick:function(t){var e=this._reels[this._currentReelId];e.easing.tick(t.dt*this.animationSpeed);var i=e.easing.value(),n=Math.min(Math.floor(e.frames.length*i),e.frames.length-1);this._setFrame(n),e.easing.complete===!0&&(this.trigger("AnimationEnd",this._currentReel),this.pauseAnimation())},_setFrame:function(t){var e=this._currentReel;t!==e.currentFrame&&(e.currentFrame=t,this._updateSprite(),this.trigger("FrameChange",e))},_updateSprite:function(){var t=this._currentReel,e=t.frames[t.currentFrame];this.sprite(e[0],e[1])},_setProgress:function(t,e){this._currentReel.easing.setProgress(t,e)},isPlaying:function(t){return this._isPlaying?t?this._currentReelId===t:!!this._currentReelId:!1},getReel:function(t){if(0===arguments.length){if(!this._currentReelId)return null;t=this._currentReelId}return this._reels[t]}})},{"./animation.js":5,"./core.js":9}],24:[function(t){{var e=t("./core.js");window.document}e.extend({sprite:function(t,i,n,r,s,o,a){var h,u,c;"string"==typeof t&&(o=s,s=r,r=i,n=t,t=1,i=1),"string"==typeof i&&(o=s,s=r,r=n,n=i,i=t),!o&&s&&(o=s),s=parseInt(s||0,10),o=parseInt(o||0,10);var l=function(){this.ready=!0,this.trigger("Invalidate")};c=e.asset(n),c||(c=new Image,c.src=n,e.asset(n,c),c.onload=function(){for(var t in r)e(t).each(l)});var d=function(){this.requires("2D, Sprite"),this.__trim=[0,0,0,0],this.__image=n,this.__coord=[this.__coord[0],this.__coord[1],this.__coord[2],this.__coord[3]],this.__tile=t,this.__tileh=i,this.__padding=[s,o],this.__padBorder=a,this.sprite(this.__coord[0],this.__coord[1],this.__coord[2],this.__coord[3]),this.img=c,this.img.complete&&this.img.width>0&&(this.ready=!0,this.trigger("Invalidate")),this.w=this.__coord[2],this.h=this.__coord[3]};for(h in r)r.hasOwnProperty(h)&&(u=r[h],e.c(h,{ready:!1,__coord:[u[0],u[1],u[2]||1,u[3]||1],init:d}));return this}}),e.c("Sprite",{__image:"",__tile:0,__tileh:0,__padding:null,__trim:null,img:null,ready:!1,init:function(){this.__trim=[0,0,0,0];var t=function(t){var e=t.co,i=t.pos,n=t.ctx;if("canvas"===t.type)n.drawImage(this.img,e.x,e.y,e.w,e.h,i._x,i._y,i._w,i._h);else if("DOM"===t.type){var r=this._h/e.h,s=this._w/e.w,o=this._element.style;o.background=o.backgroundColor+" url('"+this.__image+"') no-repeat",o.backgroundPosition="-"+e.x*s+"px -"+e.y*r+"px",(1!=r||1!=s)&&(o.backgroundSize=this.img.width*s+"px "+this.img.height*r+"px")}};this.bind("Draw",t).bind("RemoveComponent",function(e){"Sprite"===e&&this.unbind("Draw",t)})},sprite:function(t,e,i,n){return this.__coord=this.__coord||[0,0,0,0],this.__coord[0]=t*(this.__tile+this.__padding[0])+(this.__padBorder?this.__padding[0]:0)+this.__trim[0],this.__coord[1]=e*(this.__tileh+this.__padding[1])+(this.__padBorder?this.__padding[1]:0)+this.__trim[1],"undefined"!=typeof i&&"undefined"!=typeof n&&(this.__coord[2]=this.__trim[2]||i*this.__tile||this.__tile,this.__coord[3]=this.__trim[3]||n*this.__tileh||this.__tileh),this.trigger("Invalidate"),this},crop:function(t,e,i,n){var r=this._mbr||this.pos();return this.__trim=[],this.__trim[0]=t,this.__trim[1]=e,this.__trim[2]=i,this.__trim[3]=n,this.__coord[0]+=t,this.__coord[1]+=e,this.__coord[2]=i,this.__coord[3]=n,this._w=i,this._h=n,this.trigger("Invalidate",r),this}})},{"./core.js":9}],25:[function(t){{var e=t("./core.js");window.document}e.storage=function(t,e){var i=window.localStorage,n=e;if(!i)return!1;if(1===arguments.length)try{return JSON.parse(i.getItem(t))}catch(r){return i.getItem(t)}else"object"==typeof e&&(n=JSON.stringify(e)),i.setItem(t,n)},e.storage.remove=function(t){window.localStorage.removeItem(t)}},{"./core.js":9}],26:[function(t){{var e=t("./core.js");window.document}e.c("Text",{_text:"",defaultSize:"10px",defaultFamily:"sans-serif",defaultVariant:"normal",defaultLineHeight:"normal",ready:!0,init:function(){this.requires("2D"),this._textFont={type:"",weight:"",size:this.defaultSize,lineHeight:this.defaultLineHeight,family:this.defaultFamily,variant:this.defaultVariant},this.bind("Draw",function(t){var e=this._fontString();if("DOM"===t.type){var i=this._element,n=i.style;n.color=this._textColor,n.font=e,i.innerHTML=this._text}else if("canvas"===t.type){var r=t.ctx;r.save(),r.textBaseline="top",r.fillStyle=this._textColor||"rgb(0,0,0)",r.font=e,r.fillText(this._text,this._x,this._y),r.restore()}})},_getFontHeight:function(){var t=/([a-zA-Z]+)\b/,e={px:1,pt:4/3,pc:16,cm:96/2.54,mm:96/25.4,"in":96,em:void 0,ex:void 0};return function(i){var n=parseFloat(i),r=t.exec(i),s=r?r[1]:"px";return Math.ceil(void 0!==e[s]?n*e[s]:n)}}(),text:function(t){return"undefined"==typeof t||null===t?this._text:(this._text="function"==typeof t?t.call(this):t,this.has("Canvas")&&this._resizeForCanvas(),this.trigger("Invalidate"),this)},_resizeForCanvas:function(){var t=e.canvas.context;t.font=this._fontString(),this.w=t.measureText(this._text).width;var i=this._textFont.size||this.defaultSize;this.h=1.1*this._getFontHeight(i)},_fontString:function(){return this._textFont.type+" "+this._textFont.variant+" "+this._textFont.weight+" "+this._textFont.size+" / "+this._textFont.lineHeight+" "+this._textFont.family},textColor:function(t,i){return this._strength=i,this._textColor=e.toRGB(t,this._strength),this.trigger("Invalidate"),this},textFont:function(t,e){if(1===arguments.length){if("string"==typeof t)return this._textFont[t];if("object"==typeof t)for(var i in t)this._textFont[i]="family"==i?"'"+t[i]+"'":t[i]}else this._textFont[t]=e;return this.has("Canvas")&&this._resizeForCanvas(),this.trigger("Invalidate"),this},unselectable:function(){return this.has("DOM")&&(this.css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"}),this.trigger("Invalidate")),this}})},{"./core.js":9}],27:[function(t){{var e=t("./core.js");window.document}e.c("Delay",{init:function(){this._delays=[],this.bind("EnterFrame",function(){for(var t=(new Date).getTime(),e=this._delays.length;--e>=0;){var i=this._delays[e];i.start+i.delay+i.pause<t&&(i.func.call(this),i.repeat>0?(i.start=t,i.pause=0,i.pauseBuffer=0,i.repeat--):i.repeat<=0&&this._delays.splice(e,1))}}),this.bind("Pause",function(){var t=(new Date).getTime();for(var e in this._delays)this._delays[e].pauseBuffer=t}),this.bind("Unpause",function(){var t=(new Date).getTime();for(var e in this._delays){var i=this._delays[e];i.pause+=t-i.pauseBuffer}})},delay:function(t,e,i){return this._delays.push({start:(new Date).getTime(),func:t,delay:e,repeat:(0>i?1/0:i)||0,pauseBuffer:0,pause:0}),this}})},{"./core.js":9}],28:[function(t,e){e.exports="0.6.2"},{}],29:[function(t){var e=t("./core.js"),i=window.document;e.extend({viewport:{clampToEntities:!0,_width:0,_height:0,_x:0,_y:0,_scale:1,bounds:null,scroll:function(t,i){this[t]=i,e.trigger("ViewportScroll"),e.trigger("InvalidateViewport")},rect_object:{_x:0,_y:0,_w:0,_h:0},rect:function(){return this.rect_object._x=-this._x,this.rect_object._y=-this._y,this.rect_object._w=this._width/this._scale,this.rect_object._h=this._height/this._scale,this.rect_object},pan:function(){function t(t){a.tick(t.dt);var h=a.value();e.viewport.x=(1-h)*s+h*n,e.viewport.y=(1-h)*o+h*r,e.viewport._clamp(),a.complete&&(i(),e.trigger("CameraAnimationDone"))}function i(){e.unbind("EnterFrame",t)}var n,r,s,o,a;return e.bind("StopCamera",i),function(i,h,u){e.trigger("StopCamera"),"reset"!=i&&(s=e.viewport._x,o=e.viewport._y,n=s-i,r=o-h,a=new e.easing(u),e.uniqueBind("EnterFrame",t))}}(),follow:function(){function t(){e.viewport.scroll("_x",-(this.x+this.w/2-e.viewport.width/2-r)),e.viewport.scroll("_y",-(this.y+this.h/2-e.viewport.height/2-s)),e.viewport._clamp()}function i(){n&&n.unbind("Move",t)}var n,r,s;return e.bind("StopCamera",i),function(i,o,a){i&&i.has("2D")&&(e.trigger("StopCamera"),n=i,r="undefined"!=typeof o?o:0,s="undefined"!=typeof a?a:0,i.bind("Move",t),t.call(i))}}(),centerOn:function(t,i){var n=t.x+e.viewport.x,r=t.y+e.viewport.y,s=t.w/2,o=t.h/2,a=e.viewport.width/2,h=e.viewport.height/2,u=n+s-a,c=r+o-h;e.viewport.pan(u,c,i)},zoom:function(){function t(){e.unbind("EnterFrame",i)}function i(i){var r,l;c.tick(i.dt),r=Math.pow(s,c.value()),l=1===s?c.value():(1/r-1)/(1/s-1),e.viewport.scale(r*n),e.viewport.scroll("_x",o*(1-l)+a*l),e.viewport.scroll("_y",h*(1-l)+u*l),e.viewport._clamp(),c.complete&&(t(),e.trigger("CameraAnimationDone"))}e.bind("StopCamera",t);var n,r,s,o,a,h,u,c;return function(t,l,d,_){return t?(arguments.length<=2&&(_=l,l=e.viewport.x-e.viewport.width,d=e.viewport.y-e.viewport.height),e.trigger("StopCamera"),n=e.viewport._scale,s=t,r=n*s,o=e.viewport.x,h=e.viewport.y,a=-(l-e.viewport.width/(2*r)),u=-(d-e.viewport.height/(2*r)),c=new e.easing(_),void e.uniqueBind("EnterFrame",i)):void e.viewport.scale(1)}}(),scale:function(){return function(t){this._scale=t?t:1,e.trigger("InvalidateViewport"),e.trigger("ViewportScale")}}(),mouselook:function(){var t=!1,i=!1,n={};return old={},function(r,s){if("boolean"==typeof r)return t=r,void(t?e.mouseObjs++:e.mouseObjs=Math.max(0,e.mouseObjs-1));if(t)switch(r){case"move":case"drag":if(!i)return;diff={x:s.clientX-n.x,y:s.clientY-n.y},n.x=s.clientX,n.y=s.clientY,e.viewport.x+=diff.x,e.viewport.y+=diff.y,e.viewport._clamp();break;case"start":e.trigger("StopCamera"),n.x=s.clientX,n.y=s.clientY,i=!0;break;case"stop":i=!1}}}(),_clamp:function(){if(this.clampToEntities){var t=this.bounds||e.map.boundaries();t.max.x*=this._scale,t.min.x*=this._scale,t.max.y*=this._scale,t.min.y*=this._scale,t.max.x-t.min.x>e.viewport.width?e.viewport.x<-t.max.x+e.viewport.width?e.viewport.x=-t.max.x+e.viewport.width:e.viewport.x>-t.min.x&&(e.viewport.x=-t.min.x):e.viewport.x=-1*(t.min.x+(t.max.x-t.min.x)/2-e.viewport.width/2),t.max.y-t.min.y>e.viewport.height?e.viewport.y<-t.max.y+e.viewport.height?e.viewport.y=-t.max.y+e.viewport.height:e.viewport.y>-t.min.y&&(e.viewport.y=-t.min.y):e.viewport.y=-1*(t.min.y+(t.max.y-t.min.y)/2-e.viewport.height/2)}},init:function(t,n,r){e.DOM.window.init(),this._defineViewportProperties(),this._width=t?t:e.DOM.window.width,this._height=n?n:e.DOM.window.height,this.xscale=e.DOM.window.width/t,this.yscale=e.DOM.window.height/n,"undefined"==typeof r&&(r="cr-stage");var s;if("string"==typeof r)s=i.getElementById(r);else{if(!("undefined"!=typeof HTMLElement?r instanceof HTMLElement:r instanceof Element))throw new TypeError("stage_elem must be a string or an HTMLElement");s=r}e.stage={x:0,y:0,fullscreen:!1,elem:s?s:i.createElement("div"),inner:i.createElement("div")},t||n||(i.body.style.overflow="hidden",e.stage.fullscreen=!0),e.addEvent(this,window,"resize",e.viewport.reload),e.addEvent(this,window,"blur",function(){e.settings.get("autoPause")&&(e._paused||e.pause())}),e.addEvent(this,window,"focus",function(){e._paused&&e.settings.get("autoPause")&&e.pause()}),e.settings.register("stageSelectable",function(t){e.stage.elem.onselectstart=t?function(){return!0}:function(){return!1}}),e.settings.modify("stageSelectable",!1),e.settings.register("stageContextMenu",function(t){e.stage.elem.oncontextmenu=t?function(){return!0}:function(){return!1}}),e.settings.modify("stageContextMenu",!1),e.settings.register("autoPause",function(){}),e.settings.modify("autoPause",!1),s||(i.body.appendChild(e.stage.elem),e.stage.elem.id=r);var o,a=e.stage.elem.style;if(e.stage.elem.appendChild(e.stage.inner),e.stage.inner.style.position="absolute",e.stage.inner.style.zIndex="1",e.stage.inner.style.transformStyle="preserve-3d",a.width=window.innerWidth+"px",a.height=window.innerHeight+"px",a.overflow="hidden",e.bind("ViewportResize",function(){e.trigger("InvalidateViewport")}),e.mobile){void 0!==typeof a.webkitTapHighlightColor&&(a.webkitTapHighlightColor="rgba(0,0,0,0)");var h=i.createElement("meta"),u=i.getElementsByTagName("HEAD")[0];h=i.createElement("meta"),h.setAttribute("name","apple-mobile-web-app-capable"),h.setAttribute("content","yes"),u.appendChild(h),e.addEvent(this,e.stage.elem,"touchmove",function(t){t.preventDefault()})}else a.position="relative",o=e.DOM.inner(e.stage.elem),e.stage.x=o.x,e.stage.y=o.y},_defineViewportProperties:function(){e.support.setter?(this.__defineSetter__("x",function(t){this.scroll("_x",t)}),this.__defineSetter__("y",function(t){this.scroll("_y",t)}),this.__defineSetter__("width",function(t){this._width=t,e.trigger("ViewportResize")}),this.__defineSetter__("height",function(t){this._height=t,e.trigger("ViewportResize")}),this.__defineGetter__("x",function(){return this._x}),this.__defineGetter__("y",function(){return this._y}),this.__defineGetter__("width",function(){return this._width}),this.__defineGetter__("height",function(){return this._height})):e.support.defineProperty&&(Object.defineProperty(this,"x",{set:function(t){this.scroll("_x",t)},get:function(){return this._x},configurable:!0}),Object.defineProperty(this,"y",{set:function(t){this.scroll("_y",t)},get:function(){return this._y},configurable:!0}),Object.defineProperty(this,"width",{set:function(t){this._width=t,e.trigger("ViewportResize")},get:function(){return this._width},configurable:!0}),Object.defineProperty(this,"height",{set:function(t){this._height=t,e.trigger("ViewportResize")},get:function(){return this._height},configurable:!0}))},reload:function(){e.DOM.window.init();var t,i=e.DOM.window.width,n=e.DOM.window.height;e.stage.fullscreen&&(this._width=i,this._height=n,e.trigger("ViewportResize")),t=e.DOM.inner(e.stage.elem),e.stage.x=t.x,e.stage.y=t.y},reset:function(){e.viewport.mouselook("stop"),e.trigger("StopCamera"),e.viewport.scale(1)}}})},{"./core.js":9}],30:[function(t){var e=t("./core.js"),i=window.document,n="precision mediump float;void main(void) {gl_FragColor = vec4(0.0, 1.0, 1.0, 0.5);}",r="precision mediump float;void main(void) {gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);}";glHelpers={writeVec2:function(t,e,i,n,r){if(5==arguments.length)for(var s=0;4>s;s++)t[e+i*s]=n,t[e+i*s+1]=r;else for(var s=0;4>s;s++)t[e+i*s]=arguments[3+2*s],t[e+i*s+1]=arguments[4+2*s]},writeVec4:function(t,e,i,n,r,s,o){if(7==arguments.length)for(var a=0;4>a;a++)t[e+i*a]=n,t[e+i*a+1]=r,t[e+i*a+2]=s,t[e+i*a+3]=o;else for(var a=0;4>a;a++)t[e+i*a]=arguments[3+4*a],t[e+i*a+1]=arguments[4+4*a],t[e+i*a+2]=arguments[5+4*a],t[e+i*a+3]=arguments[6+4*a]},makeProgram:function(t,e,i){var t=this.context,n=this.compileShader(t,e,t.FRAGMENT_SHADER),r=this.compileShader(t,i,t.VERTEX_SHADER),s=t.createProgram();if(t.attachShader(s,r),t.attachShader(s,n),t.linkProgram(s),!t.getProgramParameter(s,t.LINK_STATUS))throw"Could not initialise shaders";return s.viewport=t.getUniformLocation(s,"uViewport"),s},compileShader:function(t,e,i){var n=t.createShader(i);if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw t.getShaderInfoLog(n);return n}};var s="attribute vec2 aPosition;\r\nattribute vec4 aExtras;\r\nattribute vec4 aColor;\r\n\r\nvarying lowp vec4 vColor;\r\n\r\nuniform vec4 uViewport;\r\n\r\nmat4 viewportScale = mat4(2.0 / uViewport.z, 0, 0, 0, 0, -2.0 / uViewport.w, 0,0, 0, 0,1,0, -1,+1,0,1);\r\nvec4 viewportTranslation = vec4(uViewport.xy, 0, 0);\r\n\r\nvec2 entityOrigin = aExtras.xy;\r\nmat2 entityRotationMatrix = mat2(cos(aExtras.w), sin(aExtras.w), -sin(aExtras.w), cos(aExtras.w));\r\n\r\nvoid main() {\r\n vec2 pos = aPosition;\r\n pos = entityRotationMatrix * (pos - entityOrigin) + entityOrigin ;\r\n gl_Position = viewportScale * (viewportTranslation + vec4(pos, 1.0/(1.0+exp(aExtras.z) ), 1) );\r\n vColor = aColor;\r\n}",o="attribute vec2 aPosition;\r\nattribute vec4 aExtras;\r\nattribute vec2 aTextureCoord;\r\n\r\nvarying mediump vec2 vTextureCoord;\r\n\r\nuniform vec4 uViewport;\r\nuniform mediump vec2 uTextureDimensions;\r\n\r\nmat4 viewportScale = mat4(2.0 / uViewport.z, 0, 0, 0, 0, -2.0 / uViewport.w, 0,0, 0, 0,1,0, -1,+1,0,1);\r\nvec4 viewportTranslation = vec4(uViewport.xy, 0, 0);\r\n\r\nvec2 entityOrigin = aExtras.xy;\r\nmat2 entityRotationMatrix = mat2(cos(aExtras.w), sin(aExtras.w), -sin(aExtras.w), cos(aExtras.w));\r\n\r\nvoid main() {\r\n vec2 pos = aPosition;\r\n pos = entityRotationMatrix * (pos - entityOrigin) + entityOrigin ;\r\n gl_Position = viewportScale * (viewportTranslation + vec4(pos, 1.0/(1.0+exp(aExtras.z) ), 1) );\r\n vTextureCoord = aTextureCoord;\r\n}\r\n",a=" varying mediump vec2 vTextureCoord;\r\n \r\n uniform sampler2D uSampler;\r\n uniform mediump vec2 uTextureDimensions;\r\n\r\n void main(void) {\r\n highp vec2 coord = vTextureCoord / uTextureDimensions;\r\n gl_FragColor = texture2D(uSampler, coord);\r\n }";
  7. e.c("TestSquare",{init:function(){this.has("WebGL")&&this._establishShader("TestSquare",this._fragmentShader)},_fragmentShader:n}),e.c("TestSquareWhite",{init:function(){this.has("WebGL")&&this._establishShader("TestSquareWhite",this._fragmentShader)},_fragmentShader:r}),e.c("TestColor",{init:function(){if(this.has("WebGL")){{this.webgl.context}this._establishShader("TestColor",this._fragmentShader,this._vertexShader),"undefined"==typeof this._shaderProgram.posLocation&&this._specializeProgram(),this._glNum=this._shaderProgram._elementCount++}this._red=this._blue=this._green=1,this.bind("Draw",this._drawColor)},_specializeProgram:function(){var t=this.webgl.context;console.log("setting positions");var e=this._shaderProgram;e._bufferArray=new Float32Array(4e3),e._kingBuffer=t.createBuffer(),e.index=new Uint16Array(600),e._indexBuffer=t.createBuffer(),e.posLocation=t.getAttribLocation(e,"aPosition"),t.enableVertexAttribArray(e.posLocation),e.extrasLocation=t.getAttribLocation(e,"aExtras"),t.enableVertexAttribArray(e.extrasLocation),e.colLocation=t.getAttribLocation(e,"aColor"),t.enableVertexAttribArray(e.colLocation),e._elementCount=0;var i=Float32Array.BYTES_PER_ELEMENT,n=10*i;e.stride=n,e.switchTo=function(){t.useProgram(e),t.bindBuffer(t.ARRAY_BUFFER,e._kingBuffer),t.vertexAttribPointer(e.posLocation,2,t.FLOAT,!1,n,0),t.vertexAttribPointer(e.extrasLocation,4,t.FLOAT,!1,n,2*i),t.vertexAttribPointer(e.colLocation,4,t.FLOAT,!1,n,6*i)},e.renderBatch=function(){t.bindBuffer(t.ARRAY_BUFFER,e._kingBuffer),t.bufferData(t.ARRAY_BUFFER,e._bufferArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e._indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e.index,t.STATIC_DRAW),t.drawElements(t.TRIANGLES,e.pointer,t.UNSIGNED_SHORT,0)}},_fragmentShader:"precision mediump float;varying lowp vec4 vColor;void main(void) { gl_FragColor = vColor;}",_vertexShader:s,_drawColor:function(t){var e=(t.gl,t.program);this._writeToArray(e._bufferArray);var i=4*this._glNum,n=e.index,r=e.pointer;n[0+r]=0+i,n[1+r]=1+i,n[2+r]=2+i,n[3+r]=1+i,n[4+r]=2+i,n[5+r]=3+i,e.pointer+=6},_writeToArray:function(t){var e=10,i=4*e*this._glNum;glHelpers.writeVec2(t,i,e,this._x,this._y,this._x,this._y+this._h,this._x+this._w,this._y,this._x+this._w,this._y+this._h),glHelpers.writeVec4(t,i+2,e,this._origin.x+this._x,this._origin.y+this._y,this._z,this._rotation),glHelpers.writeVec4(t,i+6,e,this._red,this._green,this._blue,1)},color:function(t,e,i){return this._red=t,this._green=e,this._blue=i,this}}),e.c("GLSprite",{init:function(){if(this.has("WebGL")){{this.webgl.context}this._establishShader(this.__image,this._fragmentShader,this._vertexShader),"undefined"==typeof this._shaderProgram.posLocation&&this._specializeProgram(),this._glNum=this._shaderProgram._elementCount++}this.bind("Draw",this._drawSprite)},_specializeProgram:function(){var t=this.webgl.context,e=this.webgl;console.log("setting sprite positions");var i=this._shaderProgram;i.__texture=e.makeTexture(this.__image,this.img),e.bindTexture(this._shaderProgram,i.__texture),i._bufferArray=new Float32Array(4e3),i._kingBuffer=t.createBuffer(),i.index=new Uint16Array(600),i._indexBuffer=t.createBuffer(),i.posLocation=t.getAttribLocation(i,"aPosition"),t.enableVertexAttribArray(i.posLocation),i.extrasLocation=t.getAttribLocation(i,"aExtras"),t.enableVertexAttribArray(i.extrasLocation),i.textureLocation=t.getAttribLocation(i,"aTextureCoord"),t.enableVertexAttribArray(i.textureLocation),i._elementCount=0;var n=Float32Array.BYTES_PER_ELEMENT,r=8*n;i.stride=r,i.switchTo=function(){t.useProgram(i),t.bindBuffer(t.ARRAY_BUFFER,i._kingBuffer),t.vertexAttribPointer(i.posLocation,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(i.extrasLocation,4,t.FLOAT,!1,r,2*n),t.vertexAttribPointer(i.colLocation,4,t.FLOAT,!1,r,6*n)},i.renderBatch=function(){t.bindBuffer(t.ARRAY_BUFFER,i._kingBuffer),t.bufferData(t.ARRAY_BUFFER,i._bufferArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,i._indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,i.index,t.STATIC_DRAW),t.drawElements(t.TRIANGLES,i.pointer,t.UNSIGNED_SHORT,0)}},_fragmentShader:a,_vertexShader:o,_drawSprite:function(t){var e=(t.gl,t.program);this._writeToArray(e._bufferArray,t.co);var i=4*this._glNum,n=e.index,r=e.pointer;n[0+r]=0+i,n[1+r]=1+i,n[2+r]=2+i,n[3+r]=1+i,n[4+r]=2+i,n[5+r]=3+i,e.pointer+=6},_writeToArray:function(t,e){var i=8,n=4*i*this._glNum;glHelpers.writeVec2(t,n,i,this._x,this._y,this._x,this._y+this._h,this._x+this._w,this._y,this._x+this._w,this._y+this._h),glHelpers.writeVec4(t,n+2,i,this._origin.x+this._x,this._origin.y+this._y,this._z,this._rotation),glHelpers.writeVec2(t,n+6,i,e.x,e.y,e.x,e.y+e.h,e.x+e.w,e.y,e.x+e.w,e.y+e.h)}}),e.c("WebGL",{init:function(){e.webgl.context||e.webgl.init();{var t=this.webgl=e.webgl;t.context}t.entities++,this._changed=!0,t.add(this),this.bind("Change",function(){this._changed===!1&&(this._changed=!0,t.add(this))}),this.bind("Remove",function(){t.entities--,this._changed=!0,t.add(this)})},drawVars:{type:"webgl",pos:{},ctx:null,coord:[0,0,0,0],co:{x:0,y:0,w:0,h:0}},draw:function(t,e,i,n,r){if(this.ready){4===arguments.length&&(r=n,n=i,i=e,e=t,t=this.webgl.context);var s=this.drawVars.pos;s._x=this._x+(e||0),s._y=this._y+(i||0),s._w=n||this._w,s._h=r||this._h;var o=this.__coord||[0,0,0,0],a=this.drawVars.co;a.x=o[0]+(e||0),a.y=o[1]+(i||0),a.w=n||o[2],a.h=r||o[3],this._flipX||this._flipY,this._alpha<1;var h=this.webgl.context;return this.drawVars.gl=h,this.drawVars.program=this._shaderProgram,this.trigger("Draw",this.drawVars),this}},_establishShader:function(t,e,i){console.log("Establishing shader");var n=this.webgl;"undefined"==typeof n.programs[t]&&(n.programs[t]=glHelpers.makeProgram(gl,e,i)),this._shaderProgram=n.programs[t],this.ready=!0}}),e.extend({webgl:{context:null,entities:0,changed_objects:[],add:function(t){this.changed_objects.push(t)},programs:{},compileShader:function(t,e){var i=this.context,n=i.createShader(e);if(i.shaderSource(n,t),i.compileShader(n),!i.getShaderParameter(n,i.COMPILE_STATUS))throw i.getShaderInfoLog(n);return n},makeProgram:function(t,e){console.log("Making program"),console.log(t);var i=this.context,n=this.compileShader(t,i.FRAGMENT_SHADER),r=e?this.compileShader(e,i.VERTEX_SHADER):this.defaultVertexShader,s=i.createProgram();if(i.attachShader(s,r),i.attachShader(s,n),i.linkProgram(s),!i.getProgramParameter(s,i.LINK_STATUS))throw"Could not initialise shaders";return s.viewport=i.getUniformLocation(s,"uViewport"),s},textures:{},textureCount:0,makeTexture:function(t,e){var i=this;if("undefined"!=typeof i.textures[t])return i.textures[t];var n=i.context,r=n.createTexture();return n.bindTexture(n.TEXTURE_2D,r),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.bindTexture(n.TEXTURE_2D,null),n.activeTexture(n["TEXTURE"+i.textureCount]),n.bindTexture(n.TEXTURE_2D,r),i.textures[t]={t:r,sampler:i.textureCount,key:"TEXTURE"+i.textureCount,width:e.width,height:e.height,url:t},i.textureCount++,n.activeTexture(n["TEXTURE"+i.textureCount]),i.textures[t]},bindTexture:function(t,e){if("undefined"==typeof t.texture_obj){this.context;gl.useProgram(t),gl.uniform1i(gl.getUniformLocation(t,"uSampler"),e.sampler),gl.uniform2f(gl.getUniformLocation(t,"uTextureDimensions"),e.width,e.height),t.texture_obj=e}},init:function(){if(!e.support.webgl)return e.trigger("NoWebGL"),void e.stop();var t;t=i.createElement("canvas"),t.width=e.viewport.width,t.height=e.viewport.height,t.style.position="absolute",t.style.left="0px",t.style.top="0px",e.stage.elem.appendChild(t);var n;try{n=t.getContext("webgl")||t.getContext("experimental-webgl"),n.viewportWidth=t.width,n.viewportHeight=t.height}catch(r){}if(!n)return void e.trigger("NoWebGL");this.context=n,this._canvas=t,n.clearColor(0,0,0,0),n.enable(n.DEPTH_TEST);var s=this;e.uniqueBind("RenderScene",s.render),e.uniqueBind("ViewportResize",s._resize),e.uniqueBind("InvalidateViewport",function(){s.dirtyViewport=!0}),this.dirtyViewport=!0,console.log("webgl inited")},_resize:function(){var t=e.webgl._canvas;t.width=e.viewport.width,t.height=e.viewport.height,gl.viewportWidth=t.widtxh,gl.viewportHeight=t.height},setViewportUniforms:function(t){gl=this.webgl.context,gl.useProgram(t);var i=e.viewport;gl.uniform4f(t.viewport,i._x,i._y,i._width,i._height)},render:function(t){t=t||e.viewport.rect();var i,n=e.map.search(t),r=0,s=n.length,o=e.webgl,a=o.context;a.viewport(0,0,a.viewportWidth,a.viewportHeight),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);var h,u=o.programs;if(o.dirtyViewport){for(var c in u)o.setViewportUniforms(u[c]);o.dirtyViewport=!1}var l=0;for(h=null;s>r;r++)i=n[r],i._visible&&i.__c.WebGL&&(h!==i._shaderProgram&&(null!==h&&(h.renderBatch(),l++),h=i._shaderProgram,h.pointer=0,h.switchTo()),i.draw(),i._changed=!1);null!==h&&(h.renderBatch(),l++),console.log("Batches: "+l)}}})},{"./core.js":9}]},{},[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]);
  8. ;!function(){var e={},o=null,n=!0,t=!1;try{"undefined"!=typeof AudioContext?o=new AudioContext:"undefined"!=typeof webkitAudioContext?o=new webkitAudioContext:n=!1}catch(r){n=!1}if(!n)if("undefined"!=typeof Audio)try{new Audio}catch(r){t=!0}else t=!0;if(n){var a="undefined"==typeof o.createGain?o.createGainNode():o.createGain();a.gain.value=1,a.connect(o.destination)}var i=function(e){this._volume=1,this._muted=!1,this.usingWebAudio=n,this.ctx=o,this.noAudio=t,this._howls=[],this._codecs=e,this.iOSAutoEnable=!0};i.prototype={volume:function(e){var o=this;if(e=parseFloat(e),e>=0&&1>=e){o._volume=e,n&&(a.gain.value=e);for(var t in o._howls)if(o._howls.hasOwnProperty(t)&&o._howls[t]._webAudio===!1)for(var r=0;r<o._howls[t]._audioNode.length;r++)o._howls[t]._audioNode[r].volume=o._howls[t]._volume*o._volume;return o}return n?a.gain.value:o._volume},mute:function(){return this._setMuted(!0),this},unmute:function(){return this._setMuted(!1),this},_setMuted:function(e){var o=this;o._muted=e,n&&(a.gain.value=e?0:o._volume);for(var t in o._howls)if(o._howls.hasOwnProperty(t)&&o._howls[t]._webAudio===!1)for(var r=0;r<o._howls[t]._audioNode.length;r++)o._howls[t]._audioNode[r].muted=e},codecs:function(e){return this._codecs[e]},_enableiOSAudio:function(){var e=this;if(!o||!e._iOSEnabled&&/iPhone|iPad|iPod/i.test(navigator.userAgent)){e._iOSEnabled=!1;var n=function(){var t=o.createBuffer(1,1,22050),r=o.createBufferSource();r.buffer=t,r.connect(o.destination),"undefined"==typeof r.start?r.noteOn(0):r.start(0),setTimeout(function(){(r.playbackState===r.PLAYING_STATE||r.playbackState===r.FINISHED_STATE)&&(e._iOSEnabled=!0,e.iOSAutoEnable=!1,window.removeEventListener("touchstart",n,!1))},0)};return window.addEventListener("touchstart",n,!1),e}}};var u=null,d={};t||(u=new Audio,d={mp3:!!u.canPlayType("audio/mpeg;").replace(/^no$/,""),opus:!!u.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!u.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!u.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),aac:!!u.canPlayType("audio/aac;").replace(/^no$/,""),m4a:!!(u.canPlayType("audio/x-m4a;")||u.canPlayType("audio/m4a;")||u.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(u.canPlayType("audio/x-mp4;")||u.canPlayType("audio/mp4;")||u.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!u.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")});var l=new i(d),f=function(e){var t=this;t._autoplay=e.autoplay||!1,t._buffer=e.buffer||!1,t._duration=e.duration||0,t._format=e.format||null,t._loop=e.loop||!1,t._loaded=!1,t._sprite=e.sprite||{},t._src=e.src||"",t._pos3d=e.pos3d||[0,0,-.5],t._volume=void 0!==e.volume?e.volume:1,t._urls=e.urls||[],t._rate=e.rate||1,t._model=e.model||null,t._onload=[e.onload||function(){}],t._onloaderror=[e.onloaderror||function(){}],t._onend=[e.onend||function(){}],t._onpause=[e.onpause||function(){}],t._onplay=[e.onplay||function(){}],t._onendTimer=[],t._webAudio=n&&!t._buffer,t._audioNode=[],t._webAudio&&t._setupAudioNode(),"undefined"!=typeof o&&o&&l.iOSAutoEnable&&l._enableiOSAudio(),l._howls.push(t),t.load()};if(f.prototype={load:function(){var e=this,o=null;if(t)return void e.on("loaderror");for(var n=0;n<e._urls.length;n++){var r,a;if(e._format)r=e._format;else{if(a=e._urls[n],r=/^data:audio\/([^;,]+);/i.exec(a),r||(r=/\.([^.]+)$/.exec(a.split("?",1)[0])),!r)return void e.on("loaderror");r=r[1].toLowerCase()}if(d[r]){o=e._urls[n];break}}if(!o)return void e.on("loaderror");if(e._src=o,e._webAudio)_(e,o);else{var u=new Audio;u.addEventListener("error",function(){u.error&&4===u.error.code&&(i.noAudio=!0),e.on("loaderror",{type:u.error?u.error.code:0})},!1),e._audioNode.push(u),u.src=o,u._pos=0,u.preload="auto",u.volume=l._muted?0:e._volume*l.volume();var f=function(){e._duration=e._duration||Math.ceil(10*u.duration)/10,0===Object.getOwnPropertyNames(e._sprite).length&&(e._sprite={_default:[0,1e3*e._duration]}),e._loaded||(e._loaded=!0,e.on("load")),e._autoplay&&e.play(),u.removeEventListener("canplaythrough",f,!1)};u.addEventListener("canplaythrough",f,!1),u.load()}return e},urls:function(e){var o=this;return e?(o.stop(),o._urls="string"==typeof e?[e]:e,o._loaded=!1,o.load(),o):o._urls},play:function(e,n){var t=this;return"function"==typeof e&&(n=e),e&&"function"!=typeof e||(e="_default"),t._loaded?t._sprite[e]?(t._inactiveNode(function(r){r._sprite=e;var a=r._pos>0?r._pos:t._sprite[e][0]/1e3,i=0;t._webAudio?(i=t._sprite[e][1]/1e3-r._pos,r._pos>0&&(a=t._sprite[e][0]/1e3+a)):i=t._sprite[e][1]/1e3-(a-t._sprite[e][0]/1e3);var u,d=!(!t._loop&&!t._sprite[e][2]),f="string"==typeof n?n:Math.round(Date.now()*Math.random())+"";if(function(){var o={id:f,sprite:e,loop:d};u=setTimeout(function(){!t._webAudio&&d&&t.stop(o.id).play(e,o.id),t._webAudio&&!d&&(t._nodeById(o.id).paused=!0,t._nodeById(o.id)._pos=0,t._clearEndTimer(o.id)),t._webAudio||d||t.stop(o.id),t.on("end",f)},1e3*i),t._onendTimer.push({timer:u,id:o.id})}(),t._webAudio){var _=t._sprite[e][0]/1e3,s=t._sprite[e][1]/1e3;r.id=f,r.paused=!1,p(t,[d,_,s],f),t._playStart=o.currentTime,r.gain.value=t._volume,"undefined"==typeof r.bufferSource.start?r.bufferSource.noteGrainOn(0,a,i):r.bufferSource.start(0,a,i)}else{if(4!==r.readyState&&(r.readyState||!navigator.isCocoonJS))return t._clearEndTimer(f),function(){var o=t,a=e,i=n,u=r,d=function(){o.play(a,i),u.removeEventListener("canplaythrough",d,!1)};u.addEventListener("canplaythrough",d,!1)}(),t;r.readyState=4,r.id=f,r.currentTime=a,r.muted=l._muted||r.muted,r.volume=t._volume*l.volume(),setTimeout(function(){r.play()},0)}return t.on("play"),"function"==typeof n&&n(f),t}),t):("function"==typeof n&&n(),t):(t.on("load",function(){t.play(e,n)}),t)},pause:function(e){var o=this;if(!o._loaded)return o.on("play",function(){o.pause(e)}),o;o._clearEndTimer(e);var n=e?o._nodeById(e):o._activeNode();if(n)if(n._pos=o.pos(null,e),o._webAudio){if(!n.bufferSource||n.paused)return o;n.paused=!0,"undefined"==typeof n.bufferSource.stop?n.bufferSource.noteOff(0):n.bufferSource.stop(0)}else n.pause();return o.on("pause"),o},stop:function(e){var o=this;if(!o._loaded)return o.on("play",function(){o.stop(e)}),o;o._clearEndTimer(e);var n=e?o._nodeById(e):o._activeNode();if(n)if(n._pos=0,o._webAudio){if(!n.bufferSource||n.paused)return o;n.paused=!0,"undefined"==typeof n.bufferSource.stop?n.bufferSource.noteOff(0):n.bufferSource.stop(0)}else isNaN(n.duration)||(n.pause(),n.currentTime=0);return o},mute:function(e){var o=this;if(!o._loaded)return o.on("play",function(){o.mute(e)}),o;var n=e?o._nodeById(e):o._activeNode();return n&&(o._webAudio?n.gain.value=0:n.muted=!0),o},unmute:function(e){var o=this;if(!o._loaded)return o.on("play",function(){o.unmute(e)}),o;var n=e?o._nodeById(e):o._activeNode();return n&&(o._webAudio?n.gain.value=o._volume:n.muted=!1),o},volume:function(e,o){var n=this;if(e=parseFloat(e),e>=0&&1>=e){if(n._volume=e,!n._loaded)return n.on("play",function(){n.volume(e,o)}),n;var t=o?n._nodeById(o):n._activeNode();return t&&(n._webAudio?t.gain.value=e:t.volume=e*l.volume()),n}return n._volume},loop:function(e){var o=this;return"boolean"==typeof e?(o._loop=e,o):o._loop},sprite:function(e){var o=this;return"object"==typeof e?(o._sprite=e,o):o._sprite},pos:function(e,n){var t=this;if(!t._loaded)return t.on("load",function(){t.pos(e)}),"number"==typeof e?t:t._pos||0;e=parseFloat(e);var r=n?t._nodeById(n):t._activeNode();if(r)return e>=0?(t.pause(n),r._pos=e,t.play(r._sprite,n),t):t._webAudio?r._pos+(o.currentTime-t._playStart):r.currentTime;if(e>=0)return t;for(var a=0;a<t._audioNode.length;a++)if(t._audioNode[a].paused&&4===t._audioNode[a].readyState)return t._webAudio?t._audioNode[a]._pos:t._audioNode[a].currentTime},pos3d:function(e,o,n,t){var r=this;if(o="undefined"!=typeof o&&o?o:0,n="undefined"!=typeof n&&n?n:-.5,!r._loaded)return r.on("play",function(){r.pos3d(e,o,n,t)}),r;if(!(e>=0||0>e))return r._pos3d;if(r._webAudio){var a=t?r._nodeById(t):r._activeNode();a&&(r._pos3d=[e,o,n],a.panner.setPosition(e,o,n),a.panner.panningModel=r._model||"HRTF")}return r},fade:function(e,o,n,t,r){var a=this,i=Math.abs(e-o),u=e>o?"down":"up",d=i/.01,l=n/d;if(!a._loaded)return a.on("load",function(){a.fade(e,o,n,t,r)}),a;a.volume(e,r);for(var f=1;d>=f;f++)!function(){var e=a._volume+("up"===u?.01:-.01)*f,n=Math.round(1e3*e)/1e3,i=o;setTimeout(function(){a.volume(n,r),n===i&&t&&t()},l*f)}()},fadeIn:function(e,o,n){return this.volume(0).play().fade(0,e,o,n)},fadeOut:function(e,o,n,t){var r=this;return r.fade(r._volume,e,o,function(){n&&n(),r.pause(t),r.on("end")},t)},_nodeById:function(e){for(var o=this,n=o._audioNode[0],t=0;t<o._audioNode.length;t++)if(o._audioNode[t].id===e){n=o._audioNode[t];break}return n},_activeNode:function(){for(var e=this,o=null,n=0;n<e._audioNode.length;n++)if(!e._audioNode[n].paused){o=e._audioNode[n];break}return e._drainPool(),o},_inactiveNode:function(e){for(var o=this,n=null,t=0;t<o._audioNode.length;t++)if(o._audioNode[t].paused&&4===o._audioNode[t].readyState){e(o._audioNode[t]),n=!0;break}if(o._drainPool(),!n){var r;if(o._webAudio)r=o._setupAudioNode(),e(r);else{o.load(),r=o._audioNode[o._audioNode.length-1];var a=navigator.isCocoonJS?"canplaythrough":"loadedmetadata",i=function(){r.removeEventListener(a,i,!1),e(r)};r.addEventListener(a,i,!1)}}},_drainPool:function(){var e,o=this,n=0;for(e=0;e<o._audioNode.length;e++)o._audioNode[e].paused&&n++;for(e=o._audioNode.length-1;e>=0&&!(5>=n);e--)o._audioNode[e].paused&&(o._webAudio&&o._audioNode[e].disconnect(0),n--,o._audioNode.splice(e,1))},_clearEndTimer:function(e){for(var o=this,n=0,t=0;t<o._onendTimer.length;t++)if(o._onendTimer[t].id===e){n=t;break}var r=o._onendTimer[n];r&&(clearTimeout(r.timer),o._onendTimer.splice(n,1))},_setupAudioNode:function(){var e=this,n=e._audioNode,t=e._audioNode.length;return n[t]="undefined"==typeof o.createGain?o.createGainNode():o.createGain(),n[t].gain.value=e._volume,n[t].paused=!0,n[t]._pos=0,n[t].readyState=4,n[t].connect(a),n[t].panner=o.createPanner(),n[t].panner.panningModel=e._model||"equalpower",n[t].panner.setPosition(e._pos3d[0],e._pos3d[1],e._pos3d[2]),n[t].panner.connect(n[t]),n[t]},on:function(e,o){var n=this,t=n["_on"+e];if("function"==typeof o)t.push(o);else for(var r=0;r<t.length;r++)o?t[r].call(n,o):t[r].call(n);return n},off:function(e,o){var n=this,t=n["_on"+e],r=o?o.toString():null;if(r){for(var a=0;a<t.length;a++)if(r===t[a].toString()){t.splice(a,1);break}}else n["_on"+e]=[];return n},unload:function(){for(var o=this,n=o._audioNode,t=0;t<o._audioNode.length;t++)n[t].paused||(o.stop(n[t].id),o.on("end",n[t].id)),o._webAudio?n[t].disconnect(0):n[t].src="";for(t=0;t<o._onendTimer.length;t++)clearTimeout(o._onendTimer[t].timer);var r=l._howls.indexOf(o);null!==r&&r>=0&&l._howls.splice(r,1),delete e[o._src],o=null}},n)var _=function(o,n){if(n in e)return o._duration=e[n].duration,void c(o);if(/^data:[^;]+;base64,/.test(n)){for(var t=atob(n.split(",")[1]),r=new Uint8Array(t.length),a=0;a<t.length;++a)r[a]=t.charCodeAt(a);s(r.buffer,o,n)}else{var i=new XMLHttpRequest;i.open("GET",n,!0),i.responseType="arraybuffer",i.onload=function(){s(i.response,o,n)},i.onerror=function(){o._webAudio&&(o._buffer=!0,o._webAudio=!1,o._audioNode=[],delete o._gainNode,delete e[n],o.load())};try{i.send()}catch(u){i.onerror()}}},s=function(n,t,r){o.decodeAudioData(n,function(o){o&&(e[r]=o,c(t,o))},function(){t.on("loaderror")})},c=function(e,o){e._duration=o?o.duration:e._duration,0===Object.getOwnPropertyNames(e._sprite).length&&(e._sprite={_default:[0,1e3*e._duration]}),e._loaded||(e._loaded=!0,e.on("load")),e._autoplay&&e.play()},p=function(n,t,r){var a=n._nodeById(r);a.bufferSource=o.createBufferSource(),a.bufferSource.buffer=e[n._src],a.bufferSource.connect(a.panner),a.bufferSource.loop=t[0],t[0]&&(a.bufferSource.loopStart=t[1],a.bufferSource.loopEnd=t[1]+t[2]),a.bufferSource.playbackRate.value=n._rate};"function"==typeof define&&define.amd&&define(function(){return{Howler:l,Howl:f}}),"undefined"!=typeof exports&&(exports.Howler=l,exports.Howl=f),"undefined"!=typeof window&&(window.Howler=l,window.Howl=f)}();
  9. ;!function(){window.$regexp={thousand_separator:/(\d{1,3})(?=(\d{3})+($|\D))/g},window.arrayRemove=function(e,n){if(isNaN(n)||n>e.length)return!1;for(var t=0,o=0;t<e.length;t++)e[t]!=e[n]&&(e[o++]=e[t]);e.length-=1},/ipad/i.test(window.navigator.userAgent)&&(document.querySelector("meta[name=viewport]").content="width=320,user-scalable=no, minimal-ui")}(),window.GAMEENUM={GAME_TYPE_CLASSIC:0,GAME_TYPE_LEVEL:1,PROPS_TYPE_SORT:"sort",PROPS_TYPE_BOMB:"bomb",PROPS_TYPE_SEARCH:"search",PROPS_TYPE_TIME:"time"};
  10. ;var GameData={classic:[[{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,0,0,0,0],[0,0,0,0,1,0,0,1,0],[0,0,0,0,1,0,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,0,1,0,0,0,0],[0,1,0,0,1,0,0,0,0],[0,0,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]]},{num:22,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,0,1,0,1,0,0,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,0,0,1,0,1,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0]]},{num:26,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,0,0,1,0],[0,1,0,0,1,0,0,1,0],[0,1,0,0,0,0,0,1,0],[0,1,1,1,1,0,0,1,0],[0,1,0,0,1,0,0,1,0],[0,1,0,0,1,0,0,1,0],[0,1,1,1,1,0,0,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,0,0,0,1,1,0],[0,1,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,1,0],[0,1,1,0,0,0,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,1,0,1,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,1,1,1,0,0,0],[0,0,0,0,1,0,0,0,0],[0,0,0,0,0,0,0,0,0]]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,1,0,0],[0,1,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,1,0],[0,0,1,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]]}],[{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,1,0,1,1,1,0],[0,1,1,0,0,0,1,1,0],[0,1,0,0,0,0,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,0,0,0,0,1,0],[0,1,0,1,1,1,0,1,0],[0,1,0,1,0,1,0,1,0],[0,1,0,1,1,1,0,1,0],[0,1,0,0,0,0,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,0,0,1,1,1,0],[0,1,0,0,1,1,1,1,0],[0,0,0,1,1,0,1,1,0],[0,0,1,1,0,1,1,0,0],[0,1,1,0,1,1,0,0,0],[0,1,1,1,1,0,0,1,0],[0,1,1,1,0,0,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:34,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,0,0,0,0,1,0],[0,1,0,1,0,1,0,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:38,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,1,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:36,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,0,1,0,0,1,0],[0,1,0,1,1,1,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,1,1,1,0,1,0],[0,1,0,0,1,0,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,2,2,2,2,2,2,2,0],[0,1,1,1,1,1,1,1,0],[0,0,0,1,0,1,0,0,0],[0,0,0,1,0,1,0,0,0],[0,0,0,1,0,1,0,0,0],[0,1,1,1,1,1,1,1,0],[0,2,2,2,2,2,2,2,0],[0,0,0,0,0,0,0,0,0]]},{num:18,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,2,0,1,0,0],[0,0,0,0,2,0,1,0,0],[0,0,1,1,2,1,1,0,0],[0,0,1,0,2,0,0,0,0],[0,0,1,0,2,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,2,1,1,1,1,1,2,0],[0,2,2,0,0,0,2,2,0],[0,2,2,0,0,0,2,2,0],[0,2,2,0,0,0,2,2,0],[0,2,1,1,1,1,1,2,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,2,2,0,0,0,2,2,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,2,2,2,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,2,2,0,0,0,2,2,0],[0,0,0,0,0,0,0,0,0]]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,0,0,0,1,1,0],[0,1,1,1,0,1,1,1,0],[0,0,1,0,2,0,1,0,0],[0,0,0,2,2,2,0,0,0],[0,0,1,0,2,0,1,0,0],[0,1,1,1,0,1,1,1,0],[0,1,1,0,0,0,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,2,1,1,1,1,1,1,0],[0,2,1,0,0,0,0,1,0],[0,2,1,1,1,1,1,1,0],[0,2,2,2,2,2,2,0,0],[0,2,1,1,1,1,1,1,0],[0,2,1,0,0,0,0,1,0],[0,2,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,0,0,1,0,1,0,1,0],[0,0,0,1,0,1,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,2,2,2,0,1,0],[0,1,0,2,2,2,0,1,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,1,0,1,0,1,0],[0,0,1,0,1,0,1,0,0],[0,1,0,1,2,1,0,1,0],[0,0,1,2,2,2,1,0,0],[0,1,0,1,2,1,0,1,0],[0,0,1,0,1,0,1,0,0],[0,1,0,1,0,1,0,1,0],[0,0,0,0,0,0,0,0,0]]},{num:26,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,0,0,0,0,1,0],[0,1,0,2,2,2,0,1,0],[0,1,0,0,0,2,0,1,0],[0,1,1,1,1,2,0,1,0],[0,0,0,0,0,0,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,2,0],[0,1,0,0,0,0,2,1,0],[0,1,1,1,1,2,0,1,0],[0,1,0,0,2,1,0,1,0],[0,1,1,1,0,1,0,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,1,0],[0,0,1,1,1,1,1,1,0],[0,0,1,2,0,1,1,1,0],[0,0,1,0,2,0,1,0,0],[0,1,1,1,0,2,1,0,0],[0,1,1,1,1,1,1,0,0],[0,1,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]]},{num:30,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,2,1,1,0,1,1,2,0],[0,2,1,1,0,1,1,2,0],[0,2,2,2,0,2,2,2,0],[0,2,1,1,0,1,1,2,0],[0,2,1,1,0,1,1,2,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:34,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,2,2,2,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,2,2,2,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,0,2,0,1,1,0],[0,1,1,0,2,0,1,1,0],[0,0,0,1,1,1,0,0,0],[0,2,2,1,0,1,2,2,0],[0,0,0,1,1,1,0,0,0],[0,1,1,0,2,0,1,1,0],[0,1,1,0,2,0,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:30,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,0,0,0],[0,1,1,1,1,2,2,0,0],[0,1,1,1,0,0,0,1,0],[0,1,1,2,2,2,1,1,0],[0,1,0,0,0,1,1,1,0],[0,0,2,2,1,1,1,1,0],[0,0,0,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,0,1,2,1,2,1,0,0],[0,0,1,0,1,0,1,0,0],[0,1,1,1,2,1,1,1,0],[0,0,1,0,1,0,1,0,0],[0,0,1,2,1,2,1,0,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,2,0,0,0],[0,1,2,2,0,2,0,0,0],[0,1,1,0,0,0,1,1,0],[0,0,0,2,0,2,2,1,0],[0,0,0,2,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,2,0,2,0,1,0],[0,1,2,0,1,0,2,1,0],[0,1,0,1,0,1,0,1,0],[0,1,2,0,1,0,2,1,0],[0,1,0,2,0,2,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:34,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,1,2,1,0,1,2,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,0,2,0,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,2,1,0,1,2,1,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:34,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,0,2,0,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,0,2,0,0,1,0],[0,0,0,0,0,0,0,0,0]]},{num:30,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,2,2,0,2,2,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,2,0,2,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,2,2,0,2,2,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]]}],[{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,2,2,1,0,1,2,2,0],[0,1,1,1,0,1,1,1,0],[0,1,0,0,0,0,0,1,0],[0,1,1,1,0,1,1,1,0],[0,2,2,1,0,1,2,2,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:30,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,1,0],[0,1,1,0,2,0,1,1,0],[0,1,1,1,2,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,1,1,0,2,0,1,1,0],[0,1,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0]]},{num:34,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,2,2,1,1,1,1,1,0],[0,0,0,1,1,1,1,1,0],[0,0,0,2,2,2,0,0,0],[0,1,1,1,1,1,0,0,0],[0,1,1,1,1,1,2,2,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}],[{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,2,1,2,1,1,0],[0,1,0,0,1,0,0,1,0],[0,2,0,1,1,1,0,2,0],[0,1,1,1,2,1,1,1,0],[0,2,0,1,1,1,0,2,0],[0,1,0,0,1,0,0,1,0],[0,1,1,2,1,2,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:30,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,2,2,2,2,2,0,0],[0,0,2,1,1,1,2,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,2,2,0],[0,0,0,1,1,1,1,2,0],[0,1,1,2,1,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,1,1,1,1,2,1,1,0],[0,2,1,1,1,1,0,0,0],[0,2,2,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0]]}],[{num:40,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,2,1,1,1,1,0],[0,1,1,2,1,1,1,1,0],[0,1,1,1,1,1,2,2,0],[0,1,1,1,0,1,1,1,0],[0,2,2,1,1,1,1,1,0],[0,1,1,1,1,2,1,1,0],[0,1,1,1,1,2,1,1,0],[0,0,0,0,0,0,0,0,0]]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,2,2,0],[0,0,2,2,1,1,0,2,0],[0,1,2,1,1,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,1,1,2,1,0],[0,2,0,1,1,2,2,0,0],[0,2,2,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0]]},{num:36,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,2,1,2,1,2,1,0],[0,1,1,1,0,1,1,1,0],[0,1,2,0,0,0,2,1,0],[0,1,1,1,0,1,1,1,0],[0,1,2,1,2,1,2,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]]}]],level:[{num:18,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,1,0],[0,0,0,0,0,0,1,0,0],[0,0,1,1,1,0,1,0,0],[0,0,0,1,0,0,1,0,0],[0,0,0,1,0,0,1,0,0],[0,0,0,1,1,1,1,0,0],[0,0,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","48","54"]},{num:16,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,1,0,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,1,0,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,1,0,1,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","48","54"]},{num:16,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,1,0,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,0,1,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","48","54"]},{num:16,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","48","54"]},{num:16,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,0,1,0,1,0,0],[0,0,2,1,0,1,2,0,0],[0,0,1,0,1,0,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","46","53"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,1,1,1,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,1,1,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","46","53"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,0,1,0,1,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,0,0,0,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,1,0,1,0,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","46","53"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,1,0,1,0,0,0],[0,0,0,1,0,1,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,1,0,1,0,0,0],[0,0,0,1,0,1,0,0,0],[0,0,1,1,0,1,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","46","53"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,1,0,1,0,1,0,0],[0,1,1,1,0,1,1,1,0],[0,0,1,0,1,0,1,0,0],[0,0,0,1,1,1,0,0,0],[0,0,0,0,1,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","46","53"]},{num:18,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,2,2,0,2,2,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,1,1,0,0,0,1,1,0],[0,1,1,0,0,0,1,1,0],[0,1,1,0,0,0,1,1,0],[0,1,1,0,0,0,1,1,0],[0,1,1,0,0,0,1,1,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,0,0,0,1,1,0],[0,1,1,0,0,0,1,1,0],[0,0,0,1,0,1,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,1,0,1,0,0,0],[0,1,1,0,0,0,1,1,0],[0,1,1,0,0,0,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,0,0,1,0,1,0,0,0],[0,0,1,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,1,0,0],[0,0,0,1,0,1,0,0,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,1,0,1,0,1,0],[0,0,1,1,0,1,1,0,0],[0,0,0,0,0,0,0,0,0],[0,1,1,0,0,0,1,1,0],[0,0,0,0,0,0,0,0,0],[0,0,1,1,0,1,1,0,0],[0,1,0,1,0,1,0,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:20,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,0,0,2,0,0,0,0],[0,1,1,1,2,1,1,1,0],[0,0,0,1,0,1,0,0,0],[0,1,1,1,2,1,1,1,0],[0,0,0,0,2,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,0,1,1,0,0],[0,1,1,0,0,0,1,1,0],[0,0,1,1,0,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,1,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,1,0,1,0,0,0],[0,0,1,0,1,0,1,0,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,0,1,0,1,0,1,0,0],[0,0,0,1,0,1,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,0,1,0,0,1,0],[0,0,1,1,1,1,1,0,0],[0,0,1,0,0,0,1,0,0],[0,1,1,0,0,0,1,1,0],[0,0,1,0,0,0,1,0,0],[0,0,1,1,1,1,1,0,0],[0,1,0,0,1,0,0,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","44","52"]},{num:16,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,2,1,1,0],[0,1,1,0,0,2,1,1,0],[0,1,1,2,0,2,1,1,0],[0,1,1,2,0,0,1,1,0],[0,1,1,2,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","42","51"]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,0,1,0,0,0,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,0,0,0,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,0,0,0,1,0,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","40","50"]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,1,0],[0,1,0,0,0,0,1,1,0],[0,1,1,0,0,1,0,1,0],[0,1,1,1,0,0,0,0,0],[0,1,1,1,1,0,0,0,0],[0,1,1,1,1,1,0,0,0],[0,1,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","40","50"]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,0,1,0,0,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,1,1,1,0,0,0],[0,1,1,1,0,1,1,1,0],[0,0,0,1,1,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,0,0,1,0,0,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","40","50"]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,0,1,0,1,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,0,0,0,0,0,0,0,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,1,0,1,0,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","40","50"]},{num:24,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,1,2,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,2,2,0,2,2,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,1,2,1,0,0,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","40","50"]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,1,1,1,0,1,0],[0,1,1,0,0,0,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,1,1,0,1,1,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,0,0,0,1,1,0],[0,1,0,1,1,1,0,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","36","48"]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,0,0,0,0],[0,1,1,1,0,0,1,1,0],[0,1,1,1,0,0,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,0,0,1,1,1,0],[0,1,1,0,0,1,1,1,0],[0,0,0,0,0,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","36","48"]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,0,1,0,1,1,0],[0,1,1,0,1,0,1,1,0],[0,1,0,0,1,0,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,0,1,0,0,1,0],[0,1,1,0,1,0,1,1,0],[0,1,1,0,1,0,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","36","48"]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,0,0,0,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","36","48"]},{num:26,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,2,0,2,1,1,0],[0,1,1,2,0,2,1,1,0],[0,0,0,0,0,0,0,0,0],[0,1,1,2,0,2,1,1,0],[0,1,1,2,0,2,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","34","47"]},{num:36,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,1,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,1,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","34","47"]},{num:36,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,0,1,0,0,1,0],[0,1,0,1,1,1,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,1,1,1,0,1,0],[0,1,0,0,1,0,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","34","47"]},{num:36,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","34","47"]},{num:36,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,0,0,1,0,0,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,1,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","34","47"]},{num:28,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,0,1,0,1,0,1,0,0],[0,2,0,2,1,2,0,2,0],[0,1,1,1,0,1,1,1,0],[0,2,0,2,1,2,0,2,0],[0,0,1,0,1,0,1,0,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","34","47"]},{num:40,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,1,1,0,1,0],[0,1,0,1,1,1,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,1,1,1,0,1,0],[0,1,0,1,1,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","45"]},{num:40,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,1,1,0,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,0,0,0,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,0,1,1,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","45"]},{num:40,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,1,0,1,0,1,0,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","44"]},{num:40,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","44"]},{num:30,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,2,1,0,1,2,1,0],[0,1,2,1,0,1,2,1,0],[0,0,0,2,0,2,0,0,0],[0,1,2,1,0,1,2,1,0],[0,1,2,1,0,1,2,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,0,1,0,1,0,1,0],[0,1,2,1,2,1,2,1,0],[0,1,1,1,1,1,1,1,0],[0,1,2,2,0,2,2,1,0],[0,1,1,1,1,1,1,1,0],[0,1,2,1,2,1,2,1,0],[0,1,0,1,0,1,0,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","42"]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,2,1,1,1,2,1,0],[0,1,1,2,2,2,1,1,0],[0,0,1,1,0,1,1,0,0],[0,1,1,2,2,2,1,1,0],[0,1,2,1,1,1,2,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]},{num:42,data:[[0,0,0,0,0,0,0,0,0],[0,0,1,1,1,1,1,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,0,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","42"]},{num:42,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,1,1,1,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]},{num:32,data:[[0,0,0,0,0,0,0,0,0],[0,1,2,1,1,1,2,1,0],[0,1,2,1,1,1,2,1,0],[0,1,2,1,0,1,2,1,0],[0,1,0,1,0,1,0,1,0],[0,1,2,1,0,1,2,1,0],[0,1,2,1,1,1,2,1,0],[0,1,2,1,1,1,2,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]},{num:44,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,0,0,0,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]},{num:44,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,1,1,1,1,0],[0,1,0,1,1,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,1,1,0,1,0],[0,1,1,1,1,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","42"]},{num:46,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,0,1,1,1,0,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,1,1,1,0,1,1,1,0],[0,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]},{num:34,data:[[0,0,0,0,0,0,0,0,0],[0,2,1,1,0,1,1,2,0],[0,1,1,1,2,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,1,2,2,0,2,2,1,0],[0,1,1,1,2,1,1,1,0],[0,1,1,1,2,1,1,1,0],[0,2,1,1,0,1,1,2,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]},{num:34,data:[[0,0,0,0,0,0,0,0,0],[0,1,1,1,2,1,1,1,0],[0,1,2,1,2,1,2,1,0],[0,1,2,1,2,1,2,1,0],[0,1,1,1,0,1,1,1,0],[0,1,2,1,2,1,2,1,0],[0,1,2,1,2,1,2,1,0],[0,1,1,1,2,1,1,1,0],[0,0,0,0,0,0,0,0,0]],totaltime:"60",time:["60","30","40"]}],props:{sort:{init:1,max:3,level:2,cd:3e4},bomb:{init:1,max:2,level:3,cd:1e3},search:{init:1,max:5,level:1,cd:1e4},time:{init:1,max:3,level:4,cd:6e4}}};
  11. ;function initEntity(){Crafty.c("blockage",{bgDeltaX:0,bgDeltaY:0,init:function(){this.requires("Mouse,Delay"),this.z=3,this.user=user},initEvent:function(){return this.bind("MouseDown",this.onClick),this},toEmpty:function(){this.toggleComponent(LLK.getBlockageType(this.blockageType),LLK.getBlockageType(0)).attr({blockageType:0,w:LLK.tileWidth,h:LLK.tileHeight,bomb:!1}),this.removeHeighlight(),this.removeMulti(),this.removePrompt(),this.highlight=!1,console.log("this"+this)},dropOut:function(){this.toEmpty()},showBomb:function(){this.attr({blockageType:0,bomb:!0}),this.bombSprite=Crafty.e("bombClass"),this.bombSprite.toBomb({x:this.x-6,y:this.y-22,frame:6,count:-1,dur:1e3})},clearBomb:function(){this.bombSprite&&this.bombSprite.destroy(),this.bombSprite=null,this.attr({bomb:!1})},toBomb:function(){var t=this;this.highlight&&(LLK.ClickQueue.length=0),t.toEmpty(),Crafty.e("bombClass").toBombA({x:this.x-72,y:this.y-70,z:4,frame:7,count:1,dur:500})},toDispel:function(){this.removeHeighlight();var t=this,e=Crafty.e("2D, Canvas, SpriteAnimation, dispelAnimation").reel("PlayerRunning",300,0,0,5).attr({x:this.x-20,y:this.y-15,z:10});t.toEmpty(),e.bind("AnimationEnd",function(){e.destroy()}),e.animate("PlayerRunning",0)},removeBomb:function(){this.bombSprite&&this.bombSprite.destroy(),Crafty.e("bombClass").toBombB({x:this.x-72,y:this.y-70,z:4,frame:7,count:1,dur:500}),this.attr({blockageType:0,bomb:!1})},toOtherStatus:function(t,e){var i={x:this.posX,y:this.posY},s=LLK.getBlockageWH(i);e?this.has(LLK.getBlockageType(this.blockageType))?this.toggleComponent(LLK.getBlockageType(this.blockageType),LLK.getBlockageType(t)).attr({blockageType:t,width:s.W,height:s.H,w:LLK.tileWidth,h:LLK.tileHeight}):this.toggleComponent(LLK.getBlockageType(t-1),LLK.getBlockageType(t)).attr({blockageType:t,w:LLK.tileWidth,h:LLK.tileHeight,width:s.W,height:s.H}):this.has(LLK.blockageType[this.blockageType])&&this.toggleComponent(LLK.getBlockageType(this.blockageType),LLK.getBlockageType(t-1)).attr({w:LLK.tileWidth,h:LLK.tileHeight,width:s.W,height:s.H})},addPrompt:function(){Game.getIsGame()&&!this.promptOne&&(this.promptOne=Crafty.e("PromptStar").showAnim({x:this.x-10,y:this.y-10,left:this.x-10,top:this.y-10,right:this.x+this.w-10,bottom:this.y+this.h-10,v:6}),this.promptTwo=Crafty.e("PromptStar").showAnim({x:this.x+this.w-10,y:this.y+this.h-10,left:this.x-10,top:this.y-10,right:this.x+this.w-10,bottom:this.y+this.h-10,v:6}))},removePrompt:function(){this.promptOne&&(this.promptOne.destroy(),this.promptTwo.destroy(),this.promptOne=null,this.promptTwo=null)},removeHeighlight:function(){this.highlight=!1;{var t=this.blockageType;({x:this.x-this.bgDeltaY,y:this.y-this.bgDeltaX,type:t})}this.z=this.realz;var e=LLK.tileWidth,i=LLK.tileHeight,s=this.realx,a=this.realy;this.tween({x:s,y:a,w:e,h:i},20)},addHeighlight:function(){this.highlight=!0;var t=({x:this.x-this.bgDeltaX,y:this.y-this.bgDeltaY,posX:this.posX,posY:this.posY},this.blockageType,1.2);this.z=4;var e=LLK.tileWidth*t,i=LLK.tileHeight*t,s=this.x-LLK.tileWidth*(t-1)/2,a=this.y-LLK.tileHeight*(t-1)/2;this.tween({x:s,y:a,w:e,h:i},20)},addBg:function(){({x:this.x-this.bgDeltaX,y:this.y-this.bgDeltaY,posX:this.posX,posY:this.posY});this.bgObj=Crafty.e("2D,Canvas,normal").attr({x:this.x-this.bgDeltaX,y:this.y-this.bgDeltaY,w:LLK.blockageWidth,h:LLK.blockageHeight,visible:!0})},addMulti:function(t){if(t>1){var e=this;this.multiEle=Crafty.e("2D,Canvas,Sprite,x"+t+"b").attr({x:this.x+10,y:this.y+14,z:5,w:70,h:58}),this.attr({multi:t}),this.delay(function(){e.attr({multi:1}),e.removeMulti()},4e3)}},removeMulti:function(){this.multiEle&&this.multiEle.destroy()},onClick:function(t){console.log(t),this.blockageType>=0&&!AF.isPause&&AF.responseClick(this)}}),Crafty.c("bombClass",{init:function(){this.requires("2D,Canvas,SpriteAnimation")},remove:function(){this.isPlaying("bombAnim")&&this.pauseAnimation()},toBomb:function(t){this.requires("bombSprite"),this.changeAttr(t)},toBombA:function(t){this.requires("bombASprite"),this.changeAttr(t)},toBombB:function(t){this.requires("bombBSprite"),this.changeAttr(t)},onAnimEnd:function(){var t=this;this.bind("AnimationEnd",function(){t.destroy()})},changeAttr:function(t){this.attr({x:t.x,y:t.y,z:t.z}),this.reel("bombAnim",t.dur,0,0,t.frame),-1!=t.count&&this.onAnimEnd(),this.animate("bombAnim",t.count)}}),Crafty.c("StrokeCircle",{_color:"",_angle:0,ready:!0,init:function(){this.bind("Draw",function(t){"canvas"===t.type&&(t.ctx.save(),t.ctx.strokeStyle=this._color,t.ctx.lineWidth=this._border,t.ctx.translate(t.pos._w/2,t.pos._h/2),t.ctx.beginPath(),t.ctx.arc(t.pos._x,t.pos._y,this._radus,0,this._angle),t.ctx.stroke(),t.ctx.restore())})},style:function(t,e,i){return this._color=t,this._border=e,this._radus=i,this},angle:function(t){return this._angle=t,this.trigger("Invalidate"),this}}),Crafty.c("LevelItem",{init:function(){var t=this;this.requires("2D,Canvas,Mouse"),this.attr({w:150,h:150}),this.starViews=[Crafty.e("2D,Canvas"),Crafty.e("2D,Canvas"),Crafty.e("2D,Canvas")],this.lvNum=Crafty.e("2D,Canvas,Text").attr({x:100,y:100,z:5}).textFont({size:"48px",family:"bubblegum_sansregular",weight:"bold"}).unselectable(),this.attach(this.starViews[0]),this.attach(this.starViews[1]),this.attach(this.starViews[2]),this.attach(this.lvNum),this.isDown=!1,this.bind("MouseDown",function(){t.isDown=!0}),this.bind("MouseUp",function(){t.isDown&&t.state&&(Level.setCurLevel(t.lv),Crafty.scene("LLKReady")),t.isDown=!1})},refreshView:function(){this.lv+1<10?"0"+(this.lv+1):this.lv+1;this.lvNum.text(this.lv+1).attr({x:this.x+(this.w-this.lvNum.w)/2,y:this.y+40}),this.starViews[0].attr({x:this.x+35,y:this.y+101,z:2}),this.starViews[1].attr({x:this.x+63,y:this.y+99,z:2}),this.starViews[2].attr({x:this.x+92,y:this.y+101,z:2});for(var t=0;3>t;t++)this.starViews[t].addComponent(t<this.stars?"smallstar1":this.state?"smallstar2":"smallstar3");return this.state?(this.addComponent("lockbg"),this.lvNum.textColor("#ca3b3b")):(this.addComponent("unlockbg"),this.lvNum.textColor("#4f3e5a")),this}}),Crafty.c("LevelPage",{init:function(){this.curpage=0,this.startX=0,this.pageContainerArr=[],this.pageEntityArr=[],this.pageTotal=0,this.pageCurEntity=null},create:function(){var t,e,i=Level.getLevelRecord(),s=i.length,a=GameData.level.length,r=20,o=20,n=Math.max(110,(Env.designHeight-750)/2),h=Env.designHeight<1e3?150:180;this.pageTotal=Math.ceil(a/r);var l=(new Date).getTime();console.log("ssss"+l);for(var u=0;u<this.pageTotal;u++){e=Crafty.e("2D,Canvas,Tween"),this.pageContainerArr.push(e),o=Math.min(r,a-u*r);for(var p=0;o>p;p++){var c=30+p%4*170,y=n+Math.floor(p/4)*h;t=s>p+u*r?i[p+u*r].stars:0,e.attach(Crafty.e("LevelItem").attr({x:c,y:y,z:1,lv:p+u*r,stars:t,state:s>=p+u*r}).refreshView())}e.attr({x:u*Env.designWidth,y:0,z:5}),this.pageEntityArr.push(Crafty.e("2D,Canvas,pagedot").attr({x:(Env.designWidth-25*this.pageTotal)/2+25*u,y:n+5*h+20})),0===u&&(this.pageCurEntity=Crafty.e("2D,Canvas,pagecurdot").attr({x:this.pageEntityArr[u].x,y:this.pageEntityArr[u].y,z:5}))}return console.log("eeee"+((new Date).getTime()-l)),Crafty.addEvent(this,Crafty.canvas._canvas,"touchstart",this.startFun),Crafty.addEvent(this,Crafty.canvas._canvas,"touchend",this.endFun),this},startFun:function(t){this.startX=t.changedTouches[0].clientX},endFun:function(t){var e=t.changedTouches[0].clientX;e-this.startX<-20&&this.curpage<this.pageTotal-1?(this.pageContainerArr[this.curpage].tween({x:-Env.designWidth},100),this.pageContainerArr[this.curpage+1].attr({x:Env.designWidth}).tween({x:0},100),this.curpage++,LLKAudio.playAudio("page")):e-this.startX>20&&this.curpage>0&&(this.pageContainerArr[this.curpage].tween({x:Env.designWidth},100),this.pageContainerArr[this.curpage-1].attr({x:-Env.designWidth}).tween({x:0},100),this.curpage--,LLKAudio.playAudio("page")),this.pageCurEntity.attr({x:this.pageEntityArr[this.curpage].x,y:this.pageEntityArr[this.curpage].y})},removeEvent:function(){Crafty.removeEvent(this,Crafty.canvas._canvas,"touchstart",this.startFun),Crafty.removeEvent(this,Crafty.canvas._canvas,"touchend",this.endFun)}}),Crafty.c("PromptStar",{init:function(){this.star=Crafty.e("2D,Canvas,Sprite,star").attr({w:40,h:40,z:5}),this.starOne=Crafty.e("2D,Canvas,Sprite,star").attr({w:30,h:30,z:5}),this.starTwo=Crafty.e("2D,Canvas,Sprite,star").attr({w:20,h:20,z:5}),this.starThree=Crafty.e("2D,Canvas,Sprite,star").attr({w:10,h:10,z:5}),this.bind("Remove",function(){this.star.destroy(),this.starOne.destroy(),this.starTwo.destroy(),this.starThree.destroy()})},checkStar:function(t,e){t.x>=e.right?t.attr({x:e.right}):t.x<=e.left&&t.attr({x:e.left}),t.y>=e.bottom?t.attr({y:e.bottom}):t.y<=e.top&&t.attr({y:e.top})},starMovie:function(t,e){var i=e.v;t.y==e.top&&t.x<e.right?t.attr({x:t.x+i,y:e.top}):t.y==e.bottom&&t.x>e.left?t.attr({x:t.x-i,y:e.bottom}):t.x==e.right&&t.y<e.bottom?t.attr({x:e.right,y:t.y+i}):t.x==e.left&&t.y>e.top&&t.attr({x:e.left,y:t.y-i})},showAnim:function(t){var e=this;t.x==t.left?(e.star.attr({x:t.x+50,y:t.y}),e.starOne.attr({x:t.x+25,y:t.y}),e.starTwo.attr({x:t.x+10,y:t.y}),e.starThree.attr({x:t.x,y:t.y})):t.x==t.right&&(e.star.attr({x:t.x-50,y:t.y}),e.starOne.attr({x:t.x-25,y:t.y}),e.starTwo.attr({x:t.x-10,y:t.y}),e.starThree.attr({x:t.x,y:t.y}));t.v;return this.star.bind("EnterFrame",function(){e.starMovie(e.star,t),e.starMovie(e.starOne,t),e.starMovie(e.starTwo,t),e.starMovie(e.starThree,t),e.checkStar(e.star,t),e.checkStar(e.starOne,t),e.checkStar(e.starTwo,t),e.checkStar(e.starThree,t)}),this}}),Crafty.c("PauseView",{showPause:function(){this.bg=Crafty.e("2D,Canvas,Tint").attr({x:0,y:(Env.designHeight-850)/2,z:10,w:Env.designWidth,h:850}).tint("#000000",.5),this.unPause=Crafty.e("2D,Canvas,unpause,Mouse").attr({x:270,y:500,z:11}),this.back=Crafty.e("2D,Canvas,gamereturn,Mouse").attr({x:20,y:800,z:11});var t=this;this.unPause.bind("MouseDown",function(){AF.recover(),t.bg.destroy(),t.unPause.destroy(),t.back.destroy()}),this.back.bind("MouseDown",function(){Game.setIsGame(!1),LLK.dropOutAllBackage(),LLK.reset(),AF.resetData(),LLKAudio.stopAudio("bgmusic"),Crafty.scene(Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC?"LLKStart":"LLKLevel")})}}),Crafty.c("PropsItem",{init:function(){this.requires("2D,Canvas,Mouse"),this.countTxt=Crafty.e("2D,Canvas,Text").textFont({size:"30px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b"),this.cdTxt=Crafty.e("2D,Canvas,Text").attr({visible:!1}).textFont({size:"30px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b")},setProps:function(t,e,i){var s=((new Date).getTime(),user.isInCdTime(e));i>0&&!s?(this.has(t+"dis")?this.toggleComponent(t+"dis",t):this.has(t)||this.addComponent(t),this.cdTxt.attr({visible:!1})):(this.has(t)?this.toggleComponent(t,t+"dis"):this.has(t+"dis")||this.addComponent(t+"dis"),i>0&&s?this.cdTxt.text(User.getCdTime(e)).attr({x:this.x+(this.w-this.cdTxt.w)/2,y:this.y+35,z:6,visible:!0}):this.cdTxt.attr({visible:!1})),this.countTxt.text("+"+i).attr({x:this.x+(this.w-this.countTxt.w)/2,y:this.y+97,z:6})}}),Crafty.c("PropsView",{init:function(){this.requires("2D,Canvas,propsback"),this.resort=Crafty.e("PropsItem"),this.bomb=Crafty.e("PropsItem"),this.findNext=Crafty.e("PropsItem"),this.addtime=Crafty.e("PropsItem")},showProps:function(){var t=this;this.resort.attr({x:this.x+13,y:this.y+15,w:98,h:98,z:6}).bind("MouseDown",function(){AF.isPause||User.useProps(GAMEENUM.PROPS_TYPE_SORT)}),this.showEntity(GAMEENUM.PROPS_TYPE_SORT,User.getUserProps(GAMEENUM.PROPS_TYPE_SORT)),this.bomb.attr({x:this.x+128,y:this.y+15,w:98,h:98,z:6}).bind("MouseDown",function(){AF.isPause||User.useProps(GAMEENUM.PROPS_TYPE_BOMB)}),this.showEntity(GAMEENUM.PROPS_TYPE_BOMB,User.getUserProps(GAMEENUM.PROPS_TYPE_BOMB)),this.findNext.attr({x:this.x+240,y:this.y+15,w:98,h:98,z:6}).bind("MouseDown",function(){AF.isPause||User.useProps(GAMEENUM.PROPS_TYPE_SEARCH)}),this.showEntity(GAMEENUM.PROPS_TYPE_SEARCH,User.getUserProps(GAMEENUM.PROPS_TYPE_SEARCH)),this.addtime.attr({x:this.x+352,y:this.y+15,w:98,h:98,z:6}).bind("MouseDown",function(){AF.isPause||User.useProps(GAMEENUM.PROPS_TYPE_TIME)}),this.showEntity(GAMEENUM.PROPS_TYPE_TIME,User.getUserProps(GAMEENUM.PROPS_TYPE_TIME)),this.bind("changePropsNum",function(e){t.showEntity(e.key,e.value)}),this.bind("changeTime",function(){for(var e in GameData.props)t.showEntity(e,User.getUserProps(e))})},showEntity:function(t,e){var i,s;switch(t){case GAMEENUM.PROPS_TYPE_SORT:s="propresort",i=this.resort;break;case GAMEENUM.PROPS_TYPE_SEARCH:s="propfindnext",i=this.findNext;break;case GAMEENUM.PROPS_TYPE_BOMB:s="propbobm",i=this.bomb;break;case GAMEENUM.PROPS_TYPE_TIME:s="propaddtime",i=this.addtime}i.setProps(s,t,e)}}),Crafty.c("PropsAward",{init:function(){this.requires("2D,Canvas,Tween"),this.countTxt=Crafty.e("2D,Canvas,Text").textFont({size:"30px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b")},setAward:function(t,e){var i;switch(t){case GAMEENUM.PROPS_TYPE_SORT:i="propresort";break;case GAMEENUM.PROPS_TYPE_SEARCH:i="propfindnext";break;case GAMEENUM.PROPS_TYPE_BOMB:i="propbobm";break;case GAMEENUM.PROPS_TYPE_TIME:i="propaddtime"}return this.addComponent(i),this.countTxt.text("+"+e).attr({x:this.x+this.w+10,y:this.y+45,z:6,visible:!1}),this},showMovie:function(){var t=this;return this.bind("TweenEnd",function(){t.unbind("TweenEnd",arguments.callee),t.countTxt.attr({visible:!0})}),this.tween({alpha:1},200),this}})}var initSprite=function(){Crafty.sprite(LLKRes.bg,{gamebg:[0,0,Env.designWidth,Env.designHeight]}),Crafty.sprite(LLKRes.empty,{empty:[0,0]}),Crafty.sprite(LLKRes.icons,{banma:[990,0,90,90],bulang:[900,0,90,90],caomei:[810,0,90,90],gg:[720,0,90,90],huangniu:[630,0,90,90],huanxiong:[540,0,90,90],ji:[450,0,90,90],jz:[360,0,90,90],lizi:[270,0,90,90],pingguo:[180,0,90,90],stone:[90,0,90,90],zhu:[0,0,90,90]}),Crafty.sprite(316,201,LLKRes.fires,{firesAnim:[0,0]}),Crafty.sprite(150,120,LLKRes.dispel,{dispelAnimation:[0,0]}),Crafty.sprite(660,62,LLKRes.h,{eleh:[0,0]}),Crafty.sprite(62,660,LLKRes.v,{elev:[0,0]}),Crafty.sprite(105,110,LLKRes.bomb,{bombSprite:[0,0]}),Crafty.sprite(250,250,LLKRes.bomba,{bombASprite:[0,0]}),Crafty.sprite(250,250,LLKRes.bomba,{bombBSprite:[0,0]}),Crafty.sprite(LLKRes.llk,{accubobo:[903,429,97,98],backhome:[1053,589,96,95],backhomegray:[957,527,96,95],btnback:[1053,501,88,88],clock:[595,392,435,28],compfail:[0,540,470,126],compsucc:[595,0,470,126],gamereturn:[1030,389,113,112],gapline:[1141,501,2,22],go:[1018,139,224,157],gogo:[703,594,233,93],hit:[817,833,135,114],lockbg:[769,687,146,146],logo:[569,429,334,72],moregame:[436,878,233,93],nextlv:[470,594,233,93],overflag:[0,409,569,131],pagecurdot:[936,615,21,21],pagedot:[936,594,21,21],pausebtn:[802,501,88,88],propaddtime:[1050,880,98,98],propaddtimedis:[1050,782,98,98],propbobm:[1013,684,98,98],propbobmdis:[952,883,98,98],propfindnext:[952,785,98,98],propfindnextdis:[1143,487,98,98],propresort:[915,687,98,98],propresortdis:[1143,389,98,98],ready:[595,126,423,158],retry:[569,501,233,93],share:[972,296,233,93],smallstar1:[1218,629,25,22],smallstar2:[1218,607,25,22],smallstar3:[1218,585,25,22],star:[1213,0,20,20],starbg:[218,774,218,210],starbk:[0,774,218,210],starbr:[669,833,148,139],starby:[1065,0,148,139],startclassic:[595,284,377,108],startlevel:[0,666,377,108],time:[569,420,412,9],unlockbg:[623,687,146,146],unpause:[436,687,187,191],vi:[0,0,595,409],watch:[890,527,67,67],x2b:[1149,642,69,57],x3b:[1149,585,69,57]}),LLKAudio.initAudios()},LLKAudio={audios:{},initAudios:function(){var t,e,i,s;i=/iPhone|iPad|iPod/i.test(navigator.userAgent)?"mp3":"mp3",s=Howler.usingWebAudio?[{name:"bgmusic",duration:30,loop:!0},{name:"bomb"},{name:"click"},{name:"clickother"},{name:"hit"},{name:"over1"},{name:"over2"},{name:"over3"},{name:"over4"},{name:"button"},{name:"go"},{name:"levelfail"},{name:"levelwin"},{name:"page"},{name:"propfind"},{name:"propsort"},{name:"proptime"},{name:"ready"},{name:"star0"},{name:"star1"},{name:"star2"},{name:"star3"}]:[{name:"bgmusic",duration:30,loop:!0},{name:"over1"},{name:"over2"},{name:"over3"},{name:"over4"},{name:"ready"},{name:"go"},{name:"levelfail"},{name:"levelwin"},{name:"page"}];for(var a=s.length-1;a>=0;a--)t=s[a],e={urls:["./audio/"+i+"/"+t.name+"."+i],loop:!!t.loop},t.duration&&(e.duration=t.duration),this.audios[t.name]=new Howl(e)},playAudio:function(t){var e=this.audios[t];e&&e.play()},stopAudio:function(t){var e=this.audios[t];e&&e.stop()}};
  12. ;var LevelControl=function(){return{storeKey:"LLK_LV_DATA2",gameType:GAMEENUM.GAME_TYPE_CLASSIC,maxLevel:0,gameLevel:0,totalLevel:0,classicTime:60,currentLevel:null,levelInfo:[{time:60,pass:2},{time:50,pass:2},{time:30,pass:2}],isInLevel:!1,isInPass:!1,levelPass:0,hitBasescore:25,baseScore:50,clickLevel:[750,1e3,1500],clickSpeedScore:[30,20,10],initData:function(){this.totalLevel=GameData.level.length},getLevelDataMap:function(){return this.gameType===GAMEENUM.GAME_TYPE_CLASSIC?GameData.classic[this.levelPass][Math.floor(Math.random()*GameData.classic[this.levelPass].length)]:this.currentLevel},nextLevel:function(){var e={time:AF.totalTime-AF.time,stars:this.getLevelStars(AF.time),awards:[]},t=this.saveGameRes(e);return e.awards=user.awardProps(t.count),this.gameLevel===this.maxLevel&&this.maxLevel++,e},getLevelTime:function(){return this.gameType===GAMEENUM.GAME_TYPE_CLASSIC?this.classicTime:this.currentLevel.totaltime},getStarPercent:function(e){return Math.round(this.currentLevel.time[e]/this.currentLevel.totaltime*100)/100},setGameType:function(e){this.gameType=e},setCurLevel:function(e){this.gameLevel=Math.min(e,GameData.level.length-1),this.currentLevel=GameData.level[this.gameLevel],Crafty.trigger("changeLevel")},resetData:function(){this.isInLevel=!1,this.levelPass=0},getGameLevel:function(){return this.gameLevel},addLevelPass:function(){this.levelPass++,this.levelPass===GameData.classic.length-1&&(this.levelPass=Math.floor(GameData.classic.length/2))},getLevelPass:function(){return this.levelPass},setIsInLevel:function(e){this.isInLevel=e},getIsInLevel:function(){return this.isInLevel},getLevelStars:function(e){for(var t=[1,2,3],s=2;s>0;s--)if(e>Level.currentLevel.time[s])return t[s];return 1},saveGameRes:function(e){var t,s,a=localStorage.getItem(this.storeKey);return a?(a=JSON.parse(a),a.count++):a={count:1,res:[]},t=a.res,this.gameLevel<t.length?(s=t[Level.gameLevel],s.stars=Math.max(e.stars,s.stars),s.time=Math.min(s.time,e.time)):(s={level:Level.gameLevel,stars:e.stars,time:e.time},t.push(s)),localStorage.setItem(this.storeKey,JSON.stringify(a)),a},getLevelRecord:function(){var e=localStorage.getItem(this.storeKey);return e?(e=JSON.parse(e),this.maxLevel=e.res.length):(e={count:1,res:[]},this.maxLevel=0),e.res}}},Level=new LevelControl;
  13. ;var User={score:0,doubleHit:[],baseScore:Level.baseScore,preClickTime:0,props:null,propsCd:null,propsKey:"user_props",initUser:function(){this.initUserProps()},clsDoubleHitScore:function(e,r){for(var s=e.length,t=e[s-1],o=t.time,i=Level.clickLevel,a=Level.clickSpeedScore,p=Level.hitBasescore,n=0;n<i.length;n++)if(o<i[n]){console.log("连击计算:"+this.score+"+"+this.baseScore+"+"+a[n]+"+"+s*p),this.score=this.score+this.baseScore*r+a[n]+s*p;break}console.log("连击结果",this.score),this.setScore(this.score),Crafty.trigger("doubleHit",s)},setScore:function(){Crafty.trigger("changeScore",this.score),Crafty.trigger("doubleHit",0)},clsClickScore:function(e){this.score=this.score+this.baseScore*e,this.setScore(this.score),console.log("单击计算",this.score)},transformScore:function(e,r){var s=e.toString().split("");console.log("分数",e,s);var t="",o="num";r&&(o="fnum");for(var i=0;i<s.length;i++)t+='<li class="'+o+'" style="background-position:'+28*-s[i]+'px 0" ></li>';return{str:t,len:s.length}},setFinalScore:function(){},resetData:function(){this.score=0,this.setScore(this.score),this.doubleHit.length=0,this.resetPropsCd()},initUserProps:function(){var e=localStorage.getItem(this.propsKey);e=e?JSON.parse(e):{},this.propsCd={};for(var r in GameData.props)e[r]||0==e[r]||(e[r]=GameData.props[r].init),this.propsCd[r]=0;this.props=e,localStorage.setItem(this.propsKey,JSON.stringify(e))},resetPropsCd:function(){for(var e in GameData.props)this.propsCd[e]=0},awardProps:function(e){var r=GameData.props,s=[];for(var t in r)e%r[t].level===0&&this.props[t]+1<=GameData.props[t].max&&(this.addUserProps(t,1),s.push({key:t,value:1}));return s},addUserProps:function(e,r){r||(r=1);var s=this.props[e],t=GameData.props[e];s<t.max&&(this.props[e]=s+r,localStorage.setItem(this.propsKey,JSON.stringify(this.props)),Crafty.trigger("changePropsNum",{key:e,value:s+r}))},setUserProps:function(e,r){this.props[e]=r,localStorage.setItem(this.propsKey,JSON.stringify(this.props)),Crafty.trigger("changePropsNum",{key:e,value:r})},getUserProps:function(e){return this.props[e]},isInCdTime:function(e){var r=(new Date).getTime();return r-this.propsCd[e]<GameData.props[e].cd},getCdTime:function(e){return Math.ceil((GameData.props[e].cd-(new Date).getTime()+this.propsCd[e])/1e3)},useProps:function(e){var r=this.getUserProps(e);if(r>0&&!this.isInCdTime(e)){switch(e){case GAMEENUM.PROPS_TYPE_SORT:LLKAudio.playAudio("propsort"),LLK.reSortDataMap();break;case GAMEENUM.PROPS_TYPE_SEARCH:LLKAudio.playAudio("propfind"),AF.findNext();break;case GAMEENUM.PROPS_TYPE_BOMB:AF.bombBlockage();break;case GAMEENUM.PROPS_TYPE_TIME:LLKAudio.playAudio("proptime"),AF.time+=7,AF.timedCount(AF.time),Crafty.trigger("tipTime",7)}return r--,this.propsCd[e]=(new Date).getTime(),this.setUserProps(e,r),!0}return!1}},user=User;
  14. ;var LLKCanvas={wh:[9,9],rowNum:9,columnNum:9,tileWidth:90,tileHeight:90,blockageWidth:96,blockageHeight:116,blockageBorder:0,blockageType:["empty","banma","bulang","caomei","gg","huangniu","huanxiong","ji","jz","lizi","pingguo","zhu"],specaiBlockage:["stone"],blockageClickType:[],ClickQueue:[],dataArr:[],dataMap:[],sameTypeArr:[],path:[],topGap:90,leftGap:0,isChange:!1,t:[],bombArr:[],initSize:function(){window.innerWidth<360&&(this.tileWidth=85,this.tileHeight=85,this.blockageWidth=90,this.blockageHeight=90);var t=(this.rowNum-2)*this.blockageWidth,e=(this.columnNum-2)*this.blockageHeight;this.leftGap=Math.floor((Env.designWidth-t)/2),this.topGap=Math.floor((Env.designHeight-e)/2)},getPointIndex:function(t){for(var e=this.sameTypeArr[t.type],a=0;a<e.length;a++){var r=e[a];if(r.x===t.x&&r.y===t.y)return a}},initCanvas:function(){this.ClickQueue;this.initSize()},reset:function(){for(var t=this.bombArr.length-1;t>=0;t--)this.bombArr[t].clearBomb();this.bombArr=[],LLK.ClickQueue.length=0},point:function(t,e,a){this.x=t,this.y=e,this.type=a},createArray:function(t,e){for(var a=new Array(t),r=new Array(t),i=new Array(this.blockageType.length),o=0;t>o;o++)a[o]=new Array(e),r[o]=new Array(e);for(o=0;o<this.blockageType.length;o++)i[o]=[];this.dataArr=a,this.dataMap=r,this.sameTypeArr=i},clearArray:function(t){for(var e=0;e<t.length;e++)t[e].length&&(t[e].length=0)},getLeftBlockage:function(){for(var t=this.sameTypeArr.length,e=[],a=0;t>a;a++)for(var r=1;r<this.sameTypeArr[a].length;)e.push([this.sameTypeArr[a][r-1],this.sameTypeArr[a][r]]),r+=2;return e},getEmptyBlockage:function(){for(var t,e,a=[],r=1;r<this.rowNum-1;r++)for(var i=1;i<this.columnNum-1;i++)t=this.dataMap[r][i],0===t&&(e={x:r,y:i},this.ishasSame(AF.bombInfo.loc,e)||a.push(e));return a},getBombLoc:function(t){for(var e,a=this.getEmptyBlockage(),r=a.length,i={},o=Math.min(r,t),h=0,n=[];h!==o;)e=Math.floor(Math.random()*r),i[e]||(i[e]=!0,n.push(a[e]),h++);return n},ishasSame:function(t,e){for(var a=0;a<t.length;a++)if(e.x===t[a].x&&e.y===t[a].y)return!0;return!1},generateBlockage:function(t){for(var e=[],a=this.blockageType.length,r=Math.floor((a-2)/3),i=a-1-3*(r-1),o=[r,r,i],h=0;t>h;h++){var n=h%3,s=Math.floor(Math.random()*o[n])+3*n+1;e[h]=s}return e=e.concat(e),e.sort(function(){return Math.random()>.5}),e},generateDataMap:function(t){var e,a=t.data,r=t.num/2,i=this.generateBlockage(r);console.log("数据",this.dataMap,this.sameTypeArr,i);for(var o=0;o<a.length;o++)for(var h=0;h<a[0].length;h++)if(1===a[o][h]){e=i.pop(),this.dataMap[o][h]=e;var n=this.sameTypeArr[e];console.log("数据oooo",e,n),n[n.length]=new this.point(o,h,e)}else this.dataMap[o][h]=2===a[o][h]?-1:0},reSortDataMap:function(){var t,e,a,r,i,o,h=this.sameTypeArr.length,n=[],s=0;this.ClickQueue.length=0;for(var l=0;h>l;l++){t=this.sameTypeArr[l].length;for(var g=0;t>g;g++)n.push(this.sameTypeArr[l][g]),s++}for(l=0;s>l;l++)e=Math.floor(s*Math.random()),e!=l&&(a=n[l],r=n[e],a.type!=r.type&&(i={x:a.x,y:a.y},a.x=r.x,a.y=r.y,this.dataMap[a.x][a.y]=a.type,o=this.dataArr[a.x][a.y],o.toggleComponent(this.getBlockageType(o.blockageType),this.getBlockageType(a.type)).attr({x:o.realx,y:o.realy,z:o.realz,multi:1,blockageType:a.type,bomb:!1,w:LLK.tileWidth,h:LLK.tileHeight}),r.x=i.x,r.y=i.y,this.dataMap[r.x][r.y]=r.type,o=this.dataArr[r.x][r.y],o.toggleComponent(this.getBlockageType(o.blockageType),this.getBlockageType(r.type)).attr({x:o.realx,y:o.realy,z:o.realz,multi:1,blockageType:r.type,bomb:!1,w:LLK.tileWidth,h:LLK.tileHeight})))},arrayVerticalTransformate:function(t,e){var a=this.dataMap,r=JSON.parse(JSON.stringify(a));this.clearArray(a),this.clearArray(this.sameTypeArr);for(var i=0;e>i;i++)for(var o=0;t>o;o++){a[i][o]=r[t-1-o][i];var h=a[i][o];if(h){var n=this.sameTypeArr[h];n[n.length]=new this.point(i,o,h)}}console.log("data",this.dataMap,this.sameTypeArr)},getTranVPoint:function(t,e){var a={x:t.y,y:e-1-t.x,type:t.type};return a},getTranHPoint:function(t,e){var a={x:e-1-t.y,y:t.x,type:t.type};return a},dropOutAllBackage:function(){for(var t=LLK.sameTypeArr,e=0;e<t.length;e++)for(var a=0;a<t[e].length;a++){var r=t[e][a];LLK.dataArr[r.x][r.y].dropOut()}},arrayTransformate:function(t,e){var a=this.dataMap,r=JSON.parse(JSON.stringify(a));this.clearArray(a),this.clearArray(this.sameTypeArr);for(var i=0;e>i;i++)for(var o=0;t>o;o++){a[i][o]=r[o][e-1-i];var h=a[i][o];if(h){var n=this.sameTypeArr[h];n[n.length]=new this.point(i,o,h)}}console.log("data000",this.dataMap,this.sameTypeArr)},createBoard:function(t,e){for(var a=0;e>a;a++)for(var r=0;t>r;r++){var i=(r-1)*this.blockageWidth+this.leftGap,o=(a-1)*this.blockageHeight+this.topGap,h=Crafty.e("2D, blockage,Tween,Canvas,"+this.blockageType[0]).attr({x:i,y:o,z:2,realx:i,realy:o,realz:2,w:this.tileWidth,h:this.tileHeight,posX:a,posY:r,alpha:1,blockageType:0}).initEvent();this.dataArr[a][r]=h}},generateBoard:function(t,e,a){for(var r=0;a>r;r++)for(var i=0;e>i;i++){var o=t[r][i],h=this.dataArr[r][i];0!=o?h.toggleComponent(this.getBlockageType(h.blockageType),this.getBlockageType(o)).attr({multi:1,blockageType:o,bomb:!1,w:LLK.tileWidth,h:LLK.tileHeight}):0!=h.blockageType&&h.toggleComponent(this.getBlockageType(h.blockageType),this.getBlockageType(0)).attr({multi:1,blockageType:0,bomb:!1,w:LLK.tileWidth,h:LLK.tileHeight})}},getBlockageType:function(t){return t>=0?this.blockageType[t]:this.specaiBlockage[-t-1]},isBottomEmpty:function(t){var e=LLK.dataMap;return t.x===LLK.columnNum-1?!0:0===e[t.x+1][t.y]?!0:!1},isRightEmpty:function(t){var e=LLK.dataMap;return t.y===LLK.rowNum-1?!0:0===e[t.x][t.y+1]?!0:!1},getBlockageWH:function(t){var e={};return e.H=this.isBottomEmpty(t)?this.blockageHeight+this.blockageBorder:this.blockageHeight,e.W=this.isRightEmpty(t)?this.blockageWidth+this.blockageBorder:this.blockageWidth,e},drawElectric:function(t,e,a,r){var i;i="h"===r?[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5]]:[[0,0],[1,0],[2,0],[3,0],[4,0],[5,0]];var o=Crafty.e("2D,SpriteAnimation,Canvas,ele"+r).attr({x:t.x,y:t.y,z:11,w:e,h:a}).reel("eleani",300,i);o.bind("AnimationEnd",function(){o.destroy()}),o.animate("eleani",1),LLKAudio.playAudio("hit")},generaPath:function(t){for(var e=this,a=0;a<t.length;a++){var r=t[a].start,i=t[a].end,o=r.x,h=r.y,n=i.x,s=i.y,l=Math.round((this.blockageWidth-62)/2),g=Math.round((this.blockageHeight-62)/2);if(o===n){var p=h-s>0?s:h,c=0>h-s?s:h,y=e.dataArr[o][p],m=y.realx+this.blockageWidth/2,u=y.realy+g,f=(c-p)*this.blockageWidth,d={x:m,y:u,posX:o,posY:p};e.drawElectric(d,f,62,"h")}else{var p=o-n>0?n:o,c=0>o-n?n:o,y=e.dataArr[p][h],m=y.realx+l,u=y.realy+this.blockageHeight/2,f=(c-p)*this.blockageHeight,d={x:m,y:u,posX:p,posY:h};e.drawElectric(d,62,f,"v")}}},showBomb:function(t){t.showBomb(),this.bombArr.push(t)},addPrompt:function(t,e){this.promptBlockageOne=t,this.promptBlockageTwo=e,t.addPrompt(),e.addPrompt()},removePrompt:function(){this.promptBlockageOne&&(this.promptBlockageOne.removePrompt(),this.promptBlockageTwo.removePrompt(),this.promptBlockageOne=null,this.promptBlockageTwo=null)},isHasPrompt:function(){return!!this.promptBlockageOne}};LLK=LLKCanvas;
  15. ;var LLKControl={isRemoveAll:function(t){for(var e=0;e<t.length;e++)if(0!==t[e].length)return!1;return!0},isHasNext:function(t,e){for(var i=0;i<e.length;i++)for(var r=1;r<e[i].length;r++)if(this.isDispel(t,e[i][r-1],e[i][r])){var n={p1:e[i][r-1],p2:e[i][r]};return LLK.path.length=0,n}return!1},getNextPoint:function(t){for(var e=LLK.sameTypeArr[t.type],i=0;i<e.length;i++){var r=e[i];if((r.x!==t.x||r.y!==t.y)&&this.isDispel(LLK.dataMap,t,r))return LLK.path.length=0,r}return!1},modifData:function(t){LLK.dataMap[t.x][t.y]=0;var e=LLK.getPointIndex(t);arrayRemove(LLK.sameTypeArr[t.type],e)},changeData:function(){LLK.reSortDataMap(),this.isHasNext(LLK.dataMap,LLK.sameTypeArr)||this.changeData()},handleRemove:function(t,e,i){var r=this;if(this.modifData(e),this.modifData(i),this.isRemoveAll(LLK.sameTypeArr)&&Game.getIsGame())console.log("消完"),LLK.reset(),Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC?(AF.addLevel(),Level.addLevelPass(),Level.isInPass=!1,setTimeout(function(){console.log("开始新的"),initGame()},800)):AF.gameOver(!1);else if(!this.isHasNext(LLK.dataMap,LLK.sameTypeArr)){var r=this,n=LLK.getLeftBlockage();1===n.length?setTimeout(function(){LLK.dataArr[n[0][0].x][n[0][0].y].toDispel(),LLK.dataArr[n[0][1].x][n[0][1].y].toDispel(),LLK.ClickQueue.length=0,AF.clickHandle(n[0][0],n[0][1])},400):n.length>1&&setTimeout(function(){r.changeData()},200)}setTimeout(function(){LLK.path.length=0},200)},isDispel:function(t,e,i){return this.one_line(t,e,i,!1)?!0:this.two_line(t,e,i)?!0:this.three_line(t,e,i)?!0:!1},savePath:function(t,e){var i={start:t,end:e};LLK.path.push(i)},saveRimPath:function(t,e,i){this.savePath(t,t),t.y===e.y?this.savePath({x:t.x,y:i},{x:e.x,y:i}):this.savePath({x:i,y:t.y},{x:i,y:e.y}),this.savePath(e,e)},one_line:function(t,e,i){var r,n;if(e.x===i.x){r=e.y-i.y>0?i.y:e.y,n=e.y-i.y<0?i.y:e.y;for(var a=r+1;n>a;a++)if(0!==LLK.dataMap[e.x][a])return!1;return this.savePath(e,i),!0}if(e.y===i.y){r=e.x-i.x>0?i.x:e.x,n=e.x-i.x<0?i.x:e.x;for(var a=r+1;n>a;a++)if(0!==LLK.dataMap[a][e.y])return!1;return this.savePath(e,i),!0}return!1},two_line:function(t,e,i){var r=e.x,n=e.y,a=i.x,s=i.y,h=JSON.parse(JSON.stringify(t));if(0==t[a][n]){h[a][n]=t[a][s];var u={x:a,y:n,type:e.type};if(this.one_line(t,u,i)&&this.one_line(t,e,u))return 1;LLK.path.length=0}if(0==t[r][s]){h[r][s]=t[a][s];var u={x:r,y:s,type:e.type};if(this.one_line(t,u,i)&&this.one_line(t,e,u))return 1;LLK.path.length=0}return 0},three_line:function(t,e,i){var r,n=e.x,a=e.y,s=i.x,h=i.y;switch(n===s&&(r="upDown"),a===h&&(r="leftRight"),r=s>n?h>a?n<LLK.rowNum/2?"rdlu":"rdul":n<LLK.rowNum/2?"ruld":"rudl":h>a?n>LLK.rowNum/2?"ldru":"ldur":n>LLK.rowNum/2?"lurd":"ludr"){case"upDown":return this.up(t,e,i)||this.down(t,e,i)?!0:!1;case"leftRight":return this.left(t,e,i)||this.right(t,e,i)?!0:!1;case"rdlu":return this.right(t,e,i)||this.down(t,e,i)||this.left(t,e,i)||this.up(t,e,i)?!0:!1;case"rdul":return this.right(t,e,i)||this.down(t,e,i)||this.up(t,e,i)||this.left(t,e,i)?!0:!1;case"ruld":return this.right(t,e,i)||this.up(t,e,i)||this.left(t,e,i)||this.down(t,e,i)?!0:!1;case"rudl":return this.right(t,e,i)||this.up(t,e,i)||this.down(t,e,i)||this.left(t,e,i)?!0:!1;case"ldru":return this.left(t,e,i)||this.down(t,e,i)||this.right(t,e,i)||this.up(t,e,i)?!0:!1;case"ldur":return this.left(t,e,i)||this.down(t,e,i)||this.up(t,e,i)||this.right(t,e,i)?!0:!1;case"lurd":return this.left(t,e,i)||this.up(t,e,i)||this.right(t,e,i)||this.down(t,e,i)?!0:!1;case"ludr":return this.left(t,e,i)||this.up(t,e,i)||this.down(t,e,i)||this.right(t,e,i)?!0:!1;default:return 0}},left:function(t,e,i){for(var r=e.x,n=e.y,a=(i.x,i.y,JSON.parse(JSON.stringify(t))),s=n-1;s>=0&&0==t[r][s];s--){a[r][s]=t[r][n];var h={x:r,y:s,type:e.type};if(this.two_line(a,h,i))return this.savePath(e,h),1;a[r][s]=0,LLK.path.length=0}return!1},right:function(t,e,i){for(var r=e.x,n=e.y,a=(i.x,i.y,JSON.parse(JSON.stringify(t))),s=n+1;s<LLK.rowNum&&0==t[r][s];s++){a[r][s]=t[r][n];var h={x:r,y:s,type:e.type};if(this.two_line(a,h,i))return this.savePath(e,h),1;a[r][s]=0,LLK.path.length=0}return!1},up:function(t,e,i){for(var r=e.x,n=e.y,a=(i.x,i.y,JSON.parse(JSON.stringify(t))),s=r-1;s>=0&&0==t[s][n];s--){a[s][n]=t[r][n];var h={x:s,y:n,type:e.type};if(this.two_line(a,h,i))return this.savePath(e,h),1;a[s][n]=0,LLK.path.length=0}return!1},down:function(t,e,i){for(var r=e.x,n=e.y,a=(i.x,i.y,JSON.parse(JSON.stringify(t))),s=r+1;s<LLK.columnNum&&0==t[s][n];s++){a[s][n]=t[r][n];var h={x:s,y:n,type:e.type};if(this.two_line(a,h,i))return this.savePath(e,h),1;a[s][n]=0,LLK.path.length=0}return!1}};
  16. ;var AFControl={isFirst:!0,bombLoc:{},bombInfo:{num:0,loc:[]},hitNUm:0,time:60,bomb:20,setGameData:function(){if(!Level.getIsInLevel()){var e=parseInt(Level.getLevelTime());this.totalTime=e,this.time=e,this.timedCount(e),Level.setIsInLevel(!0)}this.isFirst&&(this.promptTimedCount(),this.isFirst=!1),this.showAllBomb()},timedCount:function(e){function t(){AF.time=e,e%10===0&&Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC&&AF.createMulti(),e--,AF.time=e,Game.reduceTime(e),0>=e&&AF.gameOver(!0)}AF.clearTimedCount(),t(),AF.t=setInterval(t,1e3)},createMulti:function(){var e=LLK.getLeftBlockage(),t=e[Math.floor(Math.random()*e.length)];t&&LLK.dataArr[t[0].x][t[0].y].addMulti(Math.round(Math.random())+2)},gameOver:function(e){Game.setIsGame(!1),LLK.dropOutAllBackage(),LLK.reset(),AF.resetData(),LLKAudio.stopAudio("bgmusic"),Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC?(AF.useAllBomb(),setTimeout(function(){Crafty.scene("LLKClassicOver")},500),trackEvent("game","gameResult","level",Level.levelPass),trackEvent("game","gameResult","score",user.score)):(setTimeout(function(){if(e)Crafty.scene("LLKLevelFailOver");else{var t=Level.nextLevel();Crafty.scene("LLKLevelSuccessOver",t)}},500),trackEvent("game","gameResult","level"+Level.gameLevel,AF.time)),trackEvent("game","gameover"),Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC&&(JJSDK.game.recordResult(user.score,6e4,function(e){!e.cur.cnt&&(e.cur.cnt=1),!e.cur.rank&&(e.cur.rank=1);var t=100-Math.round(e.cur.rank/e.cur.cnt*100);JJSDK.share.setShareInfo("见一对灭一双,洒家最见不得成双成对,消灭指数达到"+t+"%,谁能胜我?")}),JJSDK.game.recordThirdResult(user.score,6e4,function(){}))},gamePuse:function(){var e=AF;e.isPause=!0,e.clearTimedCount(),e.clearPromptTimedCount(),LLK.removePrompt()},recover:function(){var e=AF;e.isPause=!1,e.timedCount(e.time),e.promptTimedCount()},resetData:function(){var e=AF;AF.isPause=!1,e.clearTimedCount(),e.clearPromptTimedCount(),e.isFirst=!0,e.bombInfo={num:0,loc:[]},e.hitNUm=0,LLK.ClickQueue.length=0},clearTimedCount:function(){var e=AF;clearInterval(e.t)},promptTimedCount:function(){var e=AF;e.clearPromptTimedCount(),Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC&&(e.pt=setTimeout(function(){Game.getIsGame()&&e.findNext()},5e3))},clearPromptTimedCount:function(){var e=AF;clearTimeout(e.pt)},findNext:function(){{var e=AF;LLK.dataArr}e.promptTowPoint()},promptTowPoint:function(){var e=AF,t=LLK.dataMap,o=LLK.sameTypeArr,a=LLK.dataArr,r=LLKControl.isHasNext(t,o);if(r){var i=r.p1,n=r.p2;LLK.addPrompt(a[i.x][i.y],a[n.x][n.y]),e.clearPromptTimedCount()}},showBomb:function(e){var t=AF;t.bombInfo.loc.push(e),LLKCanvas.showBomb(LLK.dataArr[e.x][e.y])},showAllBomb:function(){var e=AF;e.bombInfo.loc.length=0;for(var t=LLK.getBombLoc(e.bombInfo.num),o=t.length,a=t.length-1;a>=0;a--)e.showBomb(t[a]);e.noShowBomb=e.bombInfo.num-o},showOtherBomb:function(){if(this.noShowBomb>0)for(var e=LLK.getBombLoc(this.noShowBomb),t=e.length-1;t>=0;t--)this.showBomb(e[t]),this.noShowBomb--},bombBlockage:function(){var e,t,o=(LLK.dataMap,LLK.sameTypeArr),a=AF,r=o.length,i=LLK.getLeftBlockage();i.sort(function(){return Math.random()-.5}),r=i.length;for(var n=0;r>n&&4>n;n++)e=LLK.dataArr[i[n][0].x][i[n][0].y],t=LLK.dataArr[i[n][1].x][i[n][1].y],e.toBomb(),t.toBomb(),a.clickHandle(i[n][0],i[n][1]);LLKAudio.playAudio("bomb")},useAllBomb:function(){for(var e=AF,t=AF.bombInfo.num,o=AF.bombInfo.loc,a=0;t>a;a++){var r=o[a];e.handleBomb(LLK.dataArr[r.x][r.y])}},handleBomb:function(e){var t=AF;t.bombBlockage(),e.removeBomb(),t.bombInfo.num--,console.log("使用炸弹",t.bombInfo.num)},responseClick:function(e){var t=AF,o=e.blockageType,a=LLK.ClickQueue.length;if(!(a>1)){if(e.bomb&&t.handleBomb(e),o)if(LLK.ClickQueue.length){var r=LLK.ClickQueue.length-1,i=LLK.ClickQueue[r];(i.x!==e.posX||i.y!==e.posY)&&(LLK.ClickQueue.push(new LLK.point(e.posX,e.posY,o)),LLK.dataArr[e.posX][e.posY].addHeighlight(),LLKAudio.playAudio("clickother"))}else LLK.ClickQueue.push(new LLK.point(e.posX,e.posY,o)),LLK.dataArr[e.posX][e.posY].addHeighlight(),LLKAudio.playAudio("click");if(2===LLK.ClickQueue.length){var r=LLK.ClickQueue.length-1,n=LLK.ClickQueue[r],l=LLK.ClickQueue[r-1];if(n.type===l.type)if(LLKControl.isDispel(LLK.dataMap,n,l)){var m=JSON.parse(JSON.stringify(LLK.path));setTimeout(function(){LLK.generaPath(m,n,l),console.log("路径------------",m,n,l),setTimeout(function(){LLK.dataArr[l.x][l.y].toDispel(),LLK.dataArr[n.x][n.y].toDispel(),LLK.ClickQueue.length=0},0),t.clickHandle(n,l)},0)}else LLK.dataArr[l.x][l.y].removeHeighlight(),LLK.ClickQueue.length=0,LLK.ClickQueue.push(n);else LLK.dataArr[l.x][l.y].removeHeighlight(),LLK.ClickQueue.length=0,LLK.ClickQueue.push(n)}}},clickHandle:function(e,t){var o=AF;if(Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC){if(o.hitNUm++,o.hitNUm===this.bomb){var a=LLK.getBombLoc(1);a.length>0&&o.showBomb(a[0]),o.bombInfo.num++,o.hitNUm=0}this.noShowBomb&&this.noShowBomb>0&&this.showOtherBomb(),Crafty.trigger("changeHitNum",AF.hitNUm)}o.clearPromptTimedCount(),o.promptTimedCount(),LLK.removePrompt(),LLKControl.handleRemove(LLK.dataMap,e,t),o.handleDoubleHit(LLK.dataArr[e.x][e.y],LLK.dataArr[t.x][t.y])},handleDoubleHit:function(e,t){var o=(new Date).getTime(),a=o-user.preClickTime;user.preClickTime=o;var r=user.doubleHit,i=Level.clickLevel,n=i[i.length-1],l=Math.max(e.multi,t.multi);if(n>a){var m={time:a};r.push(m),user.clsDoubleHitScore(r,l)}else r.length=0,user.clsClickScore(l)},addLevel:function(){AF.isFirst=!0,AF.clearPromptTimedCount();var e=Math.floor(5*Math.random()+5);AF.totalTime+=e,AF.time+=e,AF.timedCount(AF.time),Game.timeAddTip(e)}};AF=AFControl;
  17. ;var gameControl={isGame:!1,initEvent:function(){},reduceTime:function(e){isNaN(e)||Crafty.trigger("changeTime",e)},clearBombInterval:function(){clearInterval(this.bt)},resetProgress:function(){var e=Game;e.reduceTime(AF.totalTime)},clearTimedCount:function(){var e=Game;clearInterval(e.t)},showStart:function(){var e=Game;e.initEvent()},startGame:function(){Level.resetData(),user.resetData(),AF.resetData(),Game.resetProgress(),LLK.initCanvas(),LLK.createArray(LLK.rowNum,LLK.columnNum),LLKCanvas.createBoard(LLK.rowNum,LLK.columnNum),initGame()},setIsGame:function(e){var a=Game;a.isGame=e},getIsGame:function(){var e=Game;return e.isGame},timeAddTip:function(e){Crafty.trigger("tipTime",e)}};Game=gameControl;
  18. ;function initScene(){Crafty.scene("LLKLoad",function(){var e=[];for(var t in LLKRes)e.push(LLKRes[t]);Crafty.load(e,function(){setTimeout(function(){$("#loading").hide(),initSprite(),Crafty.scene("LLKStart"),window.jj_record&&jj_record.record("load_finish",{})},0)},function(e){$("#loading").text("加载资源"+parseInt(e.percent)+"%")})}),Crafty.scene("LLKStart",function(){Crafty.e("2D,Canvas,Color").attr({x:0,y:0,h:Env.designHeight,w:Env.designWidth}).color("#b52929");var e=(Env.designHeight-818)/2,t=Crafty.e("2D,Canvas,Sprite,startlevel,Mouse").attr({x:(Env.designWidth-377)/2,y:e+560}),a=Crafty.e("2D,Canvas,Sprite,startclassic,Mouse").attr({x:(Env.designWidth-377)/2,y:e+710});Crafty.e("2D,Canvas,Sprite,vi").attr({x:(Env.designWidth-595)/2,y:e}),Crafty.e("2D,Canvas,Sprite,logo").attr({x:(Env.designWidth-334)/2,y:e+420}),a.bind("MouseUp",function(){LLKAudio.playAudio("button"),Level.setGameType(GAMEENUM.GAME_TYPE_CLASSIC),Crafty.scene("LLKReady")}),t.bind("MouseUp",function(){LLKAudio.playAudio("button"),Level.setGameType(GAMEENUM.GAME_TYPE_LEVEL),Crafty.scene("LLKLevel")})}),Crafty.scene("LLKLevel",function(){Crafty.e("2D,Canvas,Color").attr({x:0,y:0,h:Env.designHeight,w:Env.designWidth}).color("#b52929");Crafty.e("2D,Canvas,gamebg").attr({x:0,y:0,w:Env.designWidth,h:Env.designHeight});{var e=this;Crafty.e("2D,Canvas,Sprite,Mouse,btnback").attr({x:30,y:10,z:5}).bind("MouseUp",function(){Crafty.scene("LLKStart")})}setTimeout(function(){var t=Crafty.e("LevelPage").create();e.bind("SceneDestroy",function(){t.removeEvent(),Crafty.unbind("SceneDestroy",arguments.callee)})},100)}),Crafty.scene("LLKReady",function(){Crafty.e("2D,Canvas,Sprite,gamebg").attr({x:0,y:0,w:Env.designWidth,h:Env.designHeight});var e=Crafty.e("2D,Canvas,Sprite,ready,Tween,Delay").attr({x:(Env.designWidth-423)/2,y:144,alpha:0}).bind("TweenEnd",function(){this.destroy(),LLKAudio.playAudio("go"),t.tween({alpha:1},1e3)}),t=Crafty.e("2D,Canvas,Sprite,go,Tween").attr({x:(Env.designWidth-224)/2,y:144,alpha:0}).bind("TweenEnd",function(){Crafty.scene(Level.gameType===GAMEENUM.GAME_TYPE_CLASSIC?"LLKGameClassic":"LLKGameLevel"),Game.setIsGame(!0),Game.startGame()});LLKAudio.playAudio("ready"),e.tween({alpha:1},1e3)}),Crafty.scene("LLKGameClassic",function(){LLKAudio.playAudio("bgmusic"),Crafty.e("Canvas,gamebg").attr({x:0,y:0,w:Env.designWidth,h:Env.designHeight});var e=Crafty.e("2D,DOM,Text").attr({y:10,w:Env.designWidth}).textFont({size:"50px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b").unselectable().css({"text-align":"center"}),t=Crafty.e("2D,DOM,Text").attr({x:450,y:Env.designHeight-80}).textFont({size:"24px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b").unselectable().css({"text-align":"center"}),a=(Crafty.e("2D,Canvas,Sprite,clock").attr({x:(Env.designWidth-330)/2,y:Env.designHeight-75,w:245}),Crafty.e("2D,Canvas,Sprite,time").attr({x:(Env.designWidth-330)/2+6,y:Env.designHeight-65,w:235})),n=(Crafty.e("2D,Canvas,Sprite,hit").attr({x:Env.designWidth-150,y:Env.designHeight-140,w:135,h:114}),Crafty.e("2D,DOM,Text").attr({x:Env.designWidth-150,y:Env.designHeight-140,w:135,h:114}).textFont({size:"18px",family:"bubblegum_sansregular",weight:"bold",lineHeight:"40px"}).textColor("#53CED1").css({"background-size":"100% 100%","text-align":"center"}).unselectable()),i=Crafty.e("2D,DOM,Text,Tween,Delay").attr({x:300,y:Env.designHeight-130,w:140,h:40}).textFont({size:"28px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b").unselectable(),s=(Crafty.e("2D,Canvas,accubobo").attr({x:50,y:Env.designHeight-130,w:100,h:100}),Crafty.e("2D,Canvas,StrokeCircle").attr({x:50,y:Env.designHeight-130,w:100,h:100}).style("#ffce0b",4,48).angle(0)),r=Crafty.e("2D,Canvas,pausebtn,Mouse").attr({x:Env.designWidth-120,y:20,w:88,h:88,z:5});e.bind("changeScore",function(t){e.text(t)}),t.bind("changeTime",function(e){t.text(e+"s"),AF.totalTime>0&&a.attr({w:235*Math.min(1,e/AF.totalTime)})}),n.bind("doubleHit",function(e){n.text(e)}),i.bind("tipTime",function(e){var t=this;t.delay(function(){i.attr({alpha:1}).text("+"+e+"s").tween({y:Env.designHeight-220},200).bind("TweenEnd",function(){t.delay(function(){t.attr({alpha:0,y:Env.designHeight-130})},1500)})},500)}),s.bind("changeHitNum",function(e){s.angle(2*Math.PI*(e/AF.bomb))}),r.bind("MouseDown",function(){AF.isPause||(AF.gamePuse(),Crafty.e("PauseView").showPause())})}),Crafty.scene("LLKGameLevel",function(){LLKAudio.playAudio("bgmusic"),Crafty.e("2D,Canvas,Sprite,gamebg").attr({x:0,y:0,h:Env.designHeight,w:Env.designWidth}),Crafty.e("2D,Canvas,Sprite,watch").attr({x:80,y:56});var e=(Env.designWidth-380)/2+12,t=66,a=t+24,n=Level.getStarPercent(2),i=Level.getStarPercent(1),s=Crafty.e("2D,DOM,Text").attr({x:80,y:10}).textFont({size:"20px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b").unselectable().css({"text-align":"center"}),r=(Crafty.e("2D,Canvas,Sprite,clock").attr({x:(Env.designWidth-380)/2,y:t}),Crafty.e("2D,Canvas,Sprite,time").attr({x:(Env.designWidth-380)/2+12,y:76})),o=(Crafty.e("2D,Canvas,smallstar1").attr({x:e,y:a}),Crafty.e("2D,Canvas,gapline").attr({x:e+r.w*i,y:t+3})),y=Crafty.e("2D,Canvas,smallstar1").attr({x:o.x-20,y:a}),l=(Crafty.e("2D,Canvas,smallstar1").attr({x:y.x+15,y:a}),Crafty.e("2D,Canvas,gapline").attr({x:e+r.w*n,y:t+3})),d=Crafty.e("2D,Canvas,smallstar1").attr({x:l.x-27,y:a}),f=(Crafty.e("2D,Canvas,smallstar1").attr({x:d.x+15,y:a}),Crafty.e("2D,Canvas,smallstar1").attr({x:d.x+30,y:a}),Crafty.e("2D,DOM,Text,Tween,Delay").attr({x:300,y:130,w:140,h:40}).textFont({size:"30px",family:"bubblegum_sansregular",weight:"bold"}).textColor("#ffce0b").unselectable()),u=Crafty.e("2D,DOM,Text").attr({x:30,y:Env.designHeight-100,w:180}).textFont({size:"18px"}).textColor("#ffce0b").unselectable().css({"text-align":"center"}).text("关卡:"+(Level.gameLevel+1)),v=(Crafty.e("PropsView").attr({x:250,y:Env.designHeight-160,w:468,h:128,z:6}).showProps(),Crafty.e("2D,Canvas,pausebtn,Mouse").attr({x:Env.designWidth-120,y:20,w:88,h:88,z:5}));s.bind("changeTime",function(e){s.text(e+"s"),AF.totalTime>0&&r.attr({w:412*Math.min(1,e/AF.totalTime)})}),f.bind("tipTime",function(e){var t=this;t.delay(function(){f.attr({alpha:1,y:130}).text("+"+e+"s").tween({y:10},200).bind("TweenEnd",function(){t.delay(function(){t.attr({alpha:0})},1500)})},500)}),u.bind("changeLevel",function(){u.text("关卡:"+(Level.gameLevel+1))}),v.bind("MouseDown",function(){AF.isPause||(AF.gamePuse(),Crafty.e("PauseView").showPause())})});var e=(Env.designHeight-666)/2,t=e+126,a=400,n=300,i=500,s=function(){if(JJSDK.platform.platform!=JJCONFIG.PLATFORMKEY.ZHANGTING){Crafty.e("2D,Canvas,share,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+480}).bind("MouseDown",function(){JJSDK.share.shareGame($("#share").get(0)),trackEvent("game","share")}).delay(function(){this.tween({x:102},n,Ease.backOut)},a+200),Crafty.e("2D,Canvas,gogo,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+480}).bind("MouseDown",function(){JJSDK.game.followGoGo(),trackEvent("game","followGoGo")}).delay(function(){this.tween({x:385},n,Ease.backOut)},a+200)}};Crafty.scene("LLKLevelSuccessOver",function(r){Crafty.e("2D,Canvas,Sprite,gamebg").attr({x:0,y:0,h:Env.designHeight,w:Env.designWidth}),LLKAudio.playAudio("levelwin");Crafty.e("2D,Canvas,compsucc,Sprite,Tween").attr({x:(Env.designWidth-470)/2,y:-600,w:472,h:130}).tween({y:e},a),Crafty.e("2D,Canvas,Color,Tween").attr({x:0,y:Env.designHeight+100,w:Env.designWidth,h:620}).color("#b52929").tween({y:t},a),Crafty.e("2D,Canvas,backhome,Mouse,Delay,Tween").attr({x:20,y:t+20,w:96,h:94,alpha:0}).bind("MouseDown",function(){Crafty.scene("LLKLevel")}).delay(function(){this.tween({alpha:1},n)},a+100+n),Crafty.e("2D,Canvas,nextlv,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+370}).bind("MouseDown",function(){Level.setCurLevel(Level.gameLevel+1),Crafty.scene("LLKReady")}).delay(function(){this.tween({x:102},n,Ease.backOut)},a+200),Crafty.e("2D,Canvas,moregame,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+370}).bind("MouseDown",function(){JJSDK.game.moreGame(),trackEvent("game","moreGame")}).delay(function(){this.tween({x:385},n,Ease.backOut)},a+200),Crafty.e("2D,DOM,Text,Delay,Tween").attr({x:-600,y:t+220,w:Env.designWidth}).textFont({size:"26px",family:"bubblegum_sansregular"}).textColor("#ffe259").css({"text-align":"center"}).text("第"+(Level.gameLevel+1)+"关").delay(function(){this.tween({x:0},n,Ease.backOut)},a+100),Crafty.e("2D,DOM,Text,Delay,Tween").attr({x:-600,y:t+290,w:Env.designWidth}).textFont({size:"26px",family:"bubblegum_sansregular"}).textColor("#ffe259").text("闯关时间:"+r.time+"秒").css({"text-align":"center"}).delay(function(){this.tween({x:0},n,Ease.backOut)},a+100);s();for(var o,y=(Crafty.e("2D,Canvas,Sprite,Delay,Tween").attr({x:(Env.designWidth-148)/2-160,y:t+46,alpha:0}).addComponent(r.stars>0?"starby":"starbr").delay(function(){r.stars>0&&LLKAudio.playAudio("star1"),this.tween({alpha:1},i)},a+n+600),Crafty.e("2D,Canvas,Sprite,Delay,Tween").attr({x:(Env.designWidth-148)/2,y:t+20,alpha:0}).addComponent(r.stars>1?"starby":"starbr").delay(function(){r.stars>1&&LLKAudio.playAudio("star2"),this.tween({alpha:1},i)},a+n+900),Crafty.e("2D,Canvas,Sprite,Delay,Tween").attr({x:(Env.designWidth-148)/2+160,y:t+46,alpha:0}).addComponent(r.stars>2?"starby":"starbr").delay(function(){r.stars>2&&LLKAudio.playAudio("star3"),this.tween({alpha:1},i)},a+n+1200),r.awards.length),l=20,d=(Env.designWidth-130*y-(y-1)*l)/2,f=0;y>f;f++)o=r.awards[f],Crafty.e("PropsAward,Delay").attr({x:d+f*(130+l),y:t+600,alpha:0}).delay(function(){this.showMovie()},a+n+3500+2e3*f).setAward(o.key,o.value)}),Crafty.scene("LLKLevelFailOver",function(){Crafty.e("2D,Canvas,Sprite,gamebg").attr({x:0,y:0,h:Env.designHeight,w:Env.designWidth});var a=400,n=300,i=300;LLKAudio.playAudio("levelfail");Crafty.e("2D,Canvas,compfail,Sprite,Tween").attr({x:(Env.designWidth-470)/2,y:-600,w:472,h:130}).tween({y:e},a),Crafty.e("2D,Canvas,Color,Tween").attr({x:0,y:Env.designHeight+100,w:Env.designWidth,h:620}).color("#772626").tween({y:t},a).bind("TweenEnd",function(){}),Crafty.e("2D,Canvas,backhomegray,Mouse,Delay,Tween").attr({x:30,y:t+20,w:96,h:94,alpha:0}).bind("MouseDown",function(){Crafty.enterScene("LLKLevel")}).delay(function(){this.tween({alpha:1},n)},a+100+n),Crafty.e("2D,Canvas,retry,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+370}).bind("MouseDown",function(){Level.setCurLevel(Level.gameLevel),Crafty.scene("LLKReady")}).delay(function(){this.tween({x:102},n,Ease.backOut)},a+200),Crafty.e("2D,Canvas,moregame,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+370}).bind("MouseDown",function(){JJSDK.game.moreGame(),trackEvent("game","moreGame")}).delay(function(){this.tween({x:385},n,Ease.backOut)},a+200),Crafty.e("2D,DOM,Text,Delay,Tween").attr({x:-400,y:t+290,w:Env.designWidth}).textFont({size:"26px",family:"bubblegum_sansregular"}).textColor("#ffe259").text("第"+(Level.gameLevel+1)+"关").delay(function(){this.tween({x:280},n,Ease.backOut)},a+100);s(),Crafty.e("2D,Canvas,starbk,Delay,Tween").attr({x:(Env.designWidth-218)/2,y:t+20,alpha:0}).delay(function(){this.tween({alpha:1},i)},a+n+200),Crafty.e("2D,Canvas,Sprite,starbg,Delay,Tween").attr({x:(Env.designWidth-218)/2,y:t+20,alpha:0}).delay(function(){this.tween({alpha:1},i)},a+n+300)}),Crafty.scene("LLKClassicOver",function(){Crafty.e("2D,Canvas,Sprite,gamebg").attr({x:0,y:0,h:Env.designHeight,w:Env.designWidth});{var a=400,n=300,i=parseInt(localStorage.getItem("llkmaxscore"))||0,r=0,o=(Crafty.e("2D,Canvas,overflag,Tween").attr({x:(Env.designWidth-470)/2,y:-600,w:472,h:130}).tween({y:e},a),Crafty.e("2D,Canvas,Color,Tween").attr({x:0,y:Env.designHeight+100,w:Env.designWidth,h:620}).color("#b52929").tween({y:t},a).bind("TweenEnd",function(){LLKAudio.playAudio("over1")}),Crafty.e("2D,Canvas,retry,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+350}).bind("MouseDown",function(){Crafty.scene("LLKReady")}).delay(function(){LLKAudio.playAudio("over2"),this.tween({x:102},n,Ease.backOut)},a+200),Crafty.e("2D,Canvas,moregame,Mouse,Delay,Tween").attr({x:Env.designWidth+100,y:t+350}).bind("MouseDown",function(){JJSDK.game.moreGame(),trackEvent("game","moreGame")}).delay(function(){this.tween({x:385},n,Ease.backOut)},a+200),Crafty.e("2D,Canvas,Text,Delay,Tween").attr({x:-600,y:t+20,w:Env.designWidth,origin:"center"}).textFont({size:"140px",family:"bubblegum_sansregular"}).textColor("#ffce0b").text(user.score).delay(function(){this.tween({x:(Env.designWidth-this.w)/2},n,Ease.backOut)},a+200)),y=Crafty.e("2D,Canvas,Text,Delay,Tween").attr({x:-600,y:t+220,w:Env.designWidth}).textFont({size:"76px",family:"bubblegum_sansregular"}).textColor("#ffce0b").text("Best:"+i).delay(function(){this.tween({x:(Env.designWidth-this.w)/2},n,Ease.backOut)},a+200);Crafty.e("2D,Canvas,backhome,Mouse,Delay,Tween").attr({x:30,y:t+20,w:96,h:94,alpha:0}).bind("MouseDown",function(){Crafty.enterScene("LLKStart")}).delay(function(){this.tween({alpha:1},n)},a+200+n)}if(s(),i<user.score){var l=Crafty.e("2D,Canvas,Color,Tween").color("#811313").attr({w:576,h:16,x:72,y:t+320,visible:!1,z:6}),d=Crafty.e("2D,Canvas,firesAnim,SpriteAnimation,Delay").attr({x:45,y:t,visible:!1,w:632,h:402}).reel("fireMovie",1e3,[[0,0],[1,0],[2,0],[3,0],[4,0],[5,0],[0,1],[1,1],[2,1],[3,1],[4,1],[5,1]]);d.bind("AnimationEnd",function(){this.destroy()}),localStorage.setItem("llkmaxscore",user.score),o.bind("TweenEnd",function(){0==r?o.delay(function(){r=1,o.tween({x:this.x-20},100)},500):1==r?(r=2,o.tween({x:this.x+40},100)):2==r?(r=3,o.tween({x:this.x-20},100)):3==r&&o.delay(function(){r=4,LLKAudio.playAudio("over4"),l.attr({visible:!0}),o.tween({y:t+150},200),y.delay(function(){y.tween({y:t+260},200),y.bind("TweenEnd",function(){y.destroy()}),l.tween({h:0,alpha:0},400),l.bind("TweenEnd",function(){d.delay(function(){LLKAudio.playAudio("over3"),d.attr({visible:!0}).animate("fireMovie",1)},500)})},200)},200)})}})}
  19. ;function checkOrientation(){setTimeout(function(){window.innerWidth>window.innerHeight?($("#clue").show(),$("#viewPort").hide()):($("#clue").hide(),$("#viewPort").show())},500)}var initGame=function(){LLK.generateDataMap(Level.getLevelDataMap()),LLK.isChange=!1,LLK.generateBoard(LLK.dataMap,LLK.rowNum,LLK.columnNum),setTimeout(function(){AF.setGameData()},200),Crafty.trigger("doubleHit",0)},_timer=parseInt(Date.now()+1e11*Math.random());window.onload=function(){User.initUser(),Level.initData(),Env.designHeight=Env.designWidth*document.documentElement.clientHeight/document.documentElement.clientWidth;var e=document.getElementById("game");Crafty.init(Env.designWidth,Env.designHeight,e),initEntity(),initScene(),JJSDK.init({img:"http://linkgame.wan.jj.cn/icon.png",url:"http://linkgame.wan.jj.cn",desc:"见一对灭一双,洒家最见不得成双成对,消灭指数达到50%,谁能胜我?",title:"JJ连连看",appkey:Env.appkey,baiduStatKey:Env.baiduStatKey,gameId:Env.gameId}),Crafty.scene("LLKLoad"),checkOrientation(),window.addEventListener("orientationchange",function(){checkOrientation()})};