var ENGINE_VERSION="1.0.6"; function dot_Anim(a,b,c,d){var e=this;this.name=a;this.timing=1/b;this.loop=c;this.frames=d;this.numberOfFrames=this.frames.length;this.timer=this.currentFrameIndex=0;this.finished=!1;this.dirty=!0;this.currentFrame=0;this.parent=null;this.reset=function(){this.timer=this.currentFrameIndex=0;this.finished=!1;this.dirty=!0;this.currentFrame=this.frames[this.currentFrameIndex]};this.update=function(a){this.finished||(this.timer+=a,this.timer>this.timing?(this.currentFrameIndex++,this.dirty=!0,this.currentFrameIndex>= this.numberOfFrames&&(this.currentFrameIndex=0,this.loop||(this.finished=!0)),this.currentFrame=this.frames[this.currentFrameIndex],this.timer=0):e.dirty=!1)};this.play=function(){this==this.parent.currentAnim?this.parent.currentAnim.reset():(e.parent.currentAnim=e,e.reset())};this.stop=function(){this.finished=!0}} function dot_Sprite(){this.self=this;this.load=function(a,b,c,d,e,f,g,h){this.image=a;this.frameWidth=b;this.frameHeight=c;this.offsetX=d;this.offsetY=e;this.w=f;this.h=g;this.visible=!0;this.scene=this.currentAnim=null;this.flip=0;this.frames=[];this.numberOfFrames=0;this.alpha=1;a=this.image.height/this.frameHeight;d=this.image.width/this.frameWidth;for(e=0;ethis.w?(this.text+="\n"+a[d]+" ",b=c+k.charWidths[" "]):(this.text+=a[d]+" ",b+=c+k.charWidths[" "]);this.timer=this.currentIndex=0;this.maxTimer=1/e;this.justFinished=this.finished=!1};this.update=function(a){this.justFinished=!1;this.finished||(this.timer+=a,this.timer> this.maxTimer&&(this.timer=0,this.currentIndex++,this.currentIndex==this.text.length&&(this.justFinished=this.finished=!0)))};this.render=function(a,b,c,d){a.drawImage(this.image,Math.floor(this.x+b-this.offsetX),Math.floor(this.y+c-this.offsetY));this.font.write(a,Math.floor(this.x+b),Math.floor(this.y+c),this.text,d,0,this.currentIndex)}} function dot_Math(){this.load=function(){this.m_sin=Array(1440);this.m_cos=Array(1440);for(var a=0,b=0;1440>b;b++)this.m_sin[b]=Math.sin(a*PI/180),this.m_cos[b]=Math.cos(a*PI/180),a+=0.25;this.msquare=Array(600);for(b=0;b>1;ba)c=d;else if(this.msquare[d]>1}return d};this.sin=function(a){0>a?a+=360:360<=a&&(a-=360); return this.m_sin[Math.floor(4*a)]};this.cos=function(a){0>a?a+=360:360<=a&&(a-=360);return this.m_cos[Math.floor(4*a)]};this.seed_w=1234;this.seed_z=5678;this.randomize=function(){var a=(new Date).getTime();this.seed_w=a%32E3;this.seed_z=a%65535};this.rand=function(){this.seed_z=36969*(this.seed_z&65535)+(this.seed_z>>16);this.seed_w=18E3*(this.seed_w&65535)+(this.seed_w>>16);return Math.abs((this.seed_z<<16)+this.seed_w)};this.random=function(){return 1/(this.rand()%10)};this.randomIn=function(a, b){return 1this.duration)this.finished=!0,this.t=1,this.delta=this.targetLowest+this.targetRangeNumber;else{a=this.t=this.timer*this.duration_inverse;switch(this.functionId){case EASE_QUAD_IN:a*=a;break;case EASE_QUAD_OUT:a=-a*(a-2);break;case EASE_QUAD_INOUT:a=0.5>=a?2*a*a:1-2*--a*a;break;case EASE_CUBE_IN:a*=a*a;break;case EASE_CUBE_OUT:a=1+--a*a*a;break;case EASE_CUBE_INOUT:a=0.5>=a?4*a*a*a:1+4*--a*a*a;break;case EASE_QUART_IN:a*=a*a*a; break;case EASE_QUART_OUT:a=1-(a-=1)*a*a*a;break;case EASE_QUART_INOUT:a=0.5>=a?8*a*a*a*a:(1-(a=2*a-2)*a*a*a)/2+0.5;break;case EASE_QUINT_IN:a*=a*a*a*a;break;case EASE_QUINT_OUT:a=(a-=1)*a*a*a*a+1;break;case EASE_QUINT_INOUT:a=1>(a*=2)?a*a*a*a*a/2:((a-=2)*a*a*a*a+2)/2;break;case EASE_SIN_IN:a=-Math.cos(PI2*a)+1;break;case EASE_SIN_OUT:a=Math.sin(PI2*a);break;case EASE_SIN_INOUT:a=-Math.cos(PI*a)/2+0.5;break;case EASE_BOUNCE_IN:a=1-a;if(aa){a=1-2*a;if(a=a?(Math.sqrt(1-4*a*a)-1)/-2:(Math.sqrt(1-(2*a-2)*(2*a-2))+1)/2;break;case EASE_EXPO_IN:a=Math.pow(2,10*(a-1));break;case EASE_EXPO_OUT:a=-Math.pow(2,-10*a)+1;break;case EASE_EXPO_INOUT:a= 0.5>a?Math.pow(2,10*(2*a-1))/2:(-Math.pow(2,-10*(2*a-1))+2)/2;break;case EASE_BACK_IN:a=a*a*(2.70158*a-1.70158);break;case EASE_BACK_OUT:a=1- --a*a*(-2.70158*a-1.70158);break;case EASE_BACK_INOUT:a*=2;if(1>a){a=a*a*(2.70158*a-1.70158)/2;break}a--;a=(1- --a*a*(-2.70158*a-1.70158))/2+0.5}this.t=a;this.delta=this.targetLowest+this.targetRangeNumber*this.t}}} var SCREEN_WIDTH=0,SCREEN_HEIGHT=0,m_elapsed,m_lastTime=0,m_resourceNumber=100,m_resourceCounter=0,m_initialized=!1,m_isReqAnimationEnabled,_reqAnimation,m_gameCanvas,m_gameContext,m_efCanvas,m_efContext,m_bgCanvas,m_fgCanvas,m_touch_x,m_touch_y,m_touch_pressed,m_time,m_screenRenew,m_paused,m_off_bgCanvas,m_off_bgContext,m_off_fgCanvas,m_off_fgContext,m_loaderRenderEnabled=0,m_effect,m_scoreContextPool,m_heartBeat,m_math,m_blinkPool,m_ignoreTouchMove; function dot_ScoreContext(){this.fontImage=img_number_context;this.charWidth=18;this.charHeight=21;this.needPlusSign=!1;this.score=this.timer=0;this.numberOfChars=1;this.accelx=this.accely=this.speedy=this.speedx=0;this.reset=function(a,b,c,d){this.numberOfChars=1;999this.speedy&&(this.y+=this.speedy,this.speedy+=this.accely),0>this.timer&&(this.visible=this.active=!1))};this.render=function(a,b,c){this.visible&&(b=Math.floor(this.x+b),c=Math.floor(this.y+c),this.needPlusSign&&a.drawImage(this.fontImage,180,0,18,21,b,c,18,21),this.write(a,this.score,b+this.w,c,!1,this.numberOfChars))}} function HeartBeat(){this.delta=this.angle=0;this.update=function(){this.angle+=12;360<=this.angle&&(this.angle-=360);this.delta=m_math.sin(this.angle)}}var EFFECT_FADE_IN=0,EFFECT_FADE_OUT=1; function dot_Effect(){this.finished=!0;this.fadeFunction=EFFECT_FADE_IN;this.alpha=this.timer=this.info=this.duration=0;this.tween=new dot_Tween;this.reset=function(a,b,c){this.fadeFunction=a;this.duration=b;this.info=c;a==EFFECT_FADE_IN?(this.alpha=0,this.tween.reset(0,1,EASE_NONE,b)):(this.alpha=1,this.tween.reset(1,0,EASE_NONE,b));m_efContext.fillStyle="#000000";this.finished=!1};this.update=function(a){this.tween.finished||(this.alpha=this.tween.delta,m_efContext.globalAlpha=this.alpha,m_efContext.clearRect(0, 0,m_efCanvas.width,m_efCanvas.height),m_efContext.fillRect(0,0,m_efCanvas.width,m_efCanvas.height),this.tween.update(a),this.tween.finished&&(this.fadeFunction==EFFECT_FADE_OUT&&m_efContext.clearRect(0,0,m_efCanvas.width,m_efCanvas.height),m_efContext.globalAlpha=1,this.finished=!0))}} function dot_ObjectPool(){this.array=null;this.needUpdateReverse=!1;this.create=function(a,b){this.array=Array(b);for(var c=0;c=this.array.length&&(this.index=0);return a};this.update=function(a){if(this.needUpdateReverse)for(b=this.array.length-1;0<=b;b--)this.array[b].active&&this.array[b].update(a);else for(var b=0;b=this.timer&&(this.timer=0.5,m_blinkPool.next().reset(this.x-10+Math.random()*(this.w+20),this.y-10+Math.random()*(this.h+ 20))))};this.render=function(a,b,c){a.drawImage(img_medals,45*this.medalType,0,45,72,this.x,this.y,45,72);m_blinkPool.render(a,b,c)}} function dot_Time(){this.start_time=Array(10);this.duration=Array(10);this.func=Array(10);this.index=0;this.addTimeOut=function(a,b){this.start_time[this.index]=m_curTime;this.duration[this.index]=1E3*a;this.func[this.index]=b;this.index++;10==this.index&&(this.index=0)};this.update=function(){for(var a=0;10>a;a++)0this.duration[a]&&(this.func[a](),this.duration[a]=0)}} function dot_ScorePanel(){this.image=null;this.visible=this.active=!1;this.y=this.x=0;this.tween=new dot_Tween;this.alpha=0;this.tweenAlpha=new dot_Tween;this.state=0;this.needNew=!1;this.medal=new dot_Medal;this.scoreFont=null;this.curScore=this.best=this.score=0;this.storageName=null;this.w=SCREEN_WIDTH;this.h=0;this.mileStone0=40;this.mileStone1=60;this.mileStone2=80;this.mileStone3=100;this.create=function(a,b,c,d,e,f,g){this.image=a;this.scoreFont=c;this.storageName=b;this.h=a.height;this.mileStone0= d;this.mileStone1=e;this.mileStone2=f;this.mileStone3=g};this.reset=function(a){this.visible=this.active=!0;this.x=SCREEN_WIDTH-this.image.width>>1;this.y=SCREEN_HEIGHT;this.tween.reset(this.y,SCREEN_HEIGHT-this.image.height>>1,EASE_QUAD_INOUT,0.5);this.tweenAlpha.reset(0,1,EASE_QUAD_INOUT,0.5);this.needNew=!1;this.medal.active=!1;this.medal.visible=!1;try{this.best=localStorage&&localStorage.getItem(this.storageName)?localStorage.getItem(this.storageName):0}catch(b){this.best=0}this.score=0;this.curScore= a;this.state=0};this.update=function(a){switch(this.state){case 0:this.tween.update(a);this.tweenAlpha.update(a);this.alpha=this.tweenAlpha.delta;this.y=this.tween.delta;this.tween.finished&&(this.state=1,0this.best){this.best=this.score;this.needNew= !0;try{localStorage&&localStorage.setItem(this.storageName,this.best)}catch(b){}}this.score>=this.mileStone3?this.medal.reset(this.x+48,this.y+57,0):this.score>=this.mileStone2?this.medal.reset(this.x+48,this.y+57,1):this.score>=this.mileStone1?this.medal.reset(this.x+48,this.y+57,2):this.score>=this.mileStone0&&this.medal.reset(this.x+48,this.y+57,3);this.state=2}break;case 2:this.medal.active&&this.medal.update(a)}};this.render=function(a,b,c){a.globalAlpha=this.alpha;var d=Math.floor(this.x),e= Math.floor(this.y);a.drawImage(this.image,d,e);this.scoreFont.write(a,this.score,d+303,e+45,!1,8);this.scoreFont.write(a,this.best,d+303,e+108,!1,8);this.needNew&&a.drawImage(img_new,d+201,e+84);this.medal.visible&&this.medal.render(a,b,c);a.globalAlpha=1}} this.updatePreloader=function(){if(m_resourceCounter<=m_resourceNumber&&2==m_loaderRenderEnabled){m_off_fgContext.clearRect(0,0,m_off_fgCanvas.width,m_off_fgCanvas.height);var a=Math.floor((SCREEN_WIDTH-img_load_bar.width)/2),b=Math.floor(0.8*(SCREEN_HEIGHT-img_load_bar.height));m_off_fgContext.drawImage(img_brand_logo,Math.floor(0.5*(SCREEN_WIDTH-img_brand_logo.width)),Math.floor(0.5*b));m_off_fgContext.drawImage(img_load_bar,a,b);for(var c=Math.floor(5*m_resourceCounter/m_resourceNumber),a=a+this.img_load_element.width, d=0;dwindow.innerHeight){m_paused=!0;var a=document.getElementById("portrait");a.style.display="block";m_gameCanvas.style.display="none";m_bgCanvas.style.display="none";m_efCanvas.style.display="none"}else m_paused=!1,a=document.getElementById("portrait"),a.style.display="none",m_gameCanvas.style.display="block",m_bgCanvas.style.display="block",m_efCanvas.style.display="block",m_efCanvas.width=window.innerWidth,m_efCanvas.height=window.innerHeight, m_gameCanvas.width=window.innerWidth,m_gameCanvas.height=window.innerHeight,m_bgCanvas.width=window.innerWidth,m_screen_height=m_bgCanvas.height=window.innerHeight,m_screen_width=Math.round(SCREEN_WIDTH*m_screen_height/SCREEN_HEIGHT),m_screen_width<=window.innerWidth||(m_screen_width=window.innerWidth,m_screen_height=Math.round(SCREEN_HEIGHT*m_screen_width/SCREEN_WIDTH)),m_screen_offset_x=window.innerWidth-m_screen_width>>1,m_screen_offset_y=window.innerHeight-m_screen_height>>1}; this.update=function(){m_curTime=(new Date).getTime();m_elapsed=m_curTime-m_lastTime;30a?function(){m_resourceCounter++;m_loaderRenderEnabled++;updatePreloader()}:function(){m_resourceCounter++;updatePreloader()};b.src="./images/"+m_imageList[a]+".png";this["img_"+ m_imageList[a]]=b;m_lastTime=(new Date).getTime();a++}}};var m_isMouseDown=!1; this.globalInit=function(){if(navigator.userAgent.match(/MSIE/)){if(!window.console)var a={};a.log||(a.log=function(){})}m_paused=!0;m_gameCanvas=document.getElementById("game");m_gameContext=m_gameCanvas.getContext("2d");m_bgCanvas=document.getElementById("bg");m_bgContext=m_bgCanvas.getContext("2d");m_efCanvas=document.getElementById("ef");m_efContext=m_efCanvas.getContext("2d");SCREEN_WIDTH=320;SCREEN_HEIGHT=460;m_off_bgCanvas=document.createElement("canvas");m_off_bgCanvas.setAttribute("id","off_bg"); m_off_bgCanvas.width=SCREEN_WIDTH;m_off_bgCanvas.height=SCREEN_HEIGHT;m_off_bgCanvas.style.display="none";m_off_bgContext=m_off_bgCanvas.getContext("2d");m_off_fgCanvas=document.createElement("canvas");m_off_fgCanvas.setAttribute("id","off_fg");m_off_fgCanvas.width=SCREEN_WIDTH;m_off_fgCanvas.height=SCREEN_HEIGHT;m_off_fgCanvas.style.display="none";m_off_fgContext=m_off_fgCanvas.getContext("2d");document.body.addEventListener("touchmove",function(a){!m_ignoreTouchMove&&0