-
version 1.0.0
+
version 1.0.1
Follow
Star
diff --git a/client/dist/webpack.bundle.js b/client/dist/webpack.bundle.js
index 328279b..0c2afaf 100644
--- a/client/dist/webpack.bundle.js
+++ b/client/dist/webpack.bundle.js
@@ -1 +1 @@
-(()=>{"use strict";var t={365:(t,e,n)=>{n.d(e,{Z:()=>s});var o=n(81),r=n.n(o),i=n(645),a=n.n(i)()(r());a.push([t.id,"*{margin:0;padding:0;box-sizing:border-box}.overflow-hidden{overflow-x:hidden;overflow-y:hidden}.float-left{float:left}.float-right{float:right}.select-none{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.position-bottom{position:absolute;left:0;bottom:0}.coincide{position:absolute;top:0;left:0}body{width:100vw;height:100vh}body .text-center{text-align:center}body .landscape{width:100vw;height:100vh}body .controller{width:100vmax;height:40vmin}body .rocker-wrapper{width:100px;height:100px;margin-left:2rem;border-radius:100%;background:rgba(153,153,153,.4)}body .rocker-wrapper .rocker{position:relative;top:25px;left:25px;width:50px;height:50px;border-radius:100%;background:#999}body .speed-up-wrap{width:100px;height:100px;margin-right:2rem}body .speed-up-wrap .speed-up{position:relative;top:25px;left:25px;width:70px;height:70px;border-radius:100%;background:rgba(240,107,107,.7)}body .welcome{color:#666}body .welcome h1{padding:2rem}body .welcome button.start-game{position:relative;top:0;left:50%;margin-left:-50px;margin-top:3rem;width:100px;height:40px;border:1px dashed #888;color:#555}body .welcome .version-text{font-size:.8rem;padding:.3rem}@media screen and (orientation: portrait){body .landscape{width:100vmax;height:100vmin;transform-origin:top left;transform:rotate(90deg) translate(0, -100vmin)}body .turn{transform-origin:top left;transform:rotate(90deg) translate(0, -100vmin)}}",""]);const s=a},645:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",o=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),o&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),o&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,o,r,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(h[5]):""," {").concat(h[1],"}")),h[5]=i),n&&(h[2]?(h[1]="@media ".concat(h[2]," {").concat(h[1],"}"),h[2]=n):h[2]=n),r&&(h[4]?(h[1]="@supports (".concat(h[4],") {").concat(h[1],"}"),h[4]=r):h[4]="".concat(r)),e.push(h))}},e}},81:t=>{t.exports=function(t){return t[1]}},379:t=>{var e=[];function n(t){for(var n=-1,o=0;o{var e={};t.exports=function(t,n){var o=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},216:t=>{t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},565:(t,e,n)=>{t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},795:t=>{t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,r&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(o,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},589:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nc=void 0,(()=>{var t=n(379),e=n.n(t),o=n(795),r=n.n(o),i=n(569),a=n.n(i),s=n(565),c=n.n(s),p=n(216),h=n.n(p),l=n(589),u=n.n(l),f=n(365),d={};d.styleTagTransform=u(),d.setAttributes=c(),d.insert=a().bind(null,"head"),d.domAPI=r(),d.insertStyleElement=h(),e()(f.Z,d),f.Z&&f.Z.locals&&f.Z.locals;const v=function(){function t(t,e){for(var n in void 0===t&&(t={}),void 0===e&&(e={}),this.entries=t,this.definitions={},this.entries.container=this,e)this.define(n,e[n])}return t.prototype.get=function(t){var e=this.entries[t];if(e)return e;var n=this.definitions[t];if(n)return this.entries[t]=n.apply(this),this.entries[t];throw new Error("There is no entry named ".concat(t))},t.prototype.set=function(t,e){this.entries[t]=e},t.prototype.has=function(t){return Boolean(void 0===this.entries[t]&&void 0===this.definitions[t])},t.prototype.make=function(t){for(var e=[],n=1;nB?[16*B/9,B]:[R,I]),W=new g;const H=new v({elementApp:_,action:new x(W),subject:W,interfaceSize:z},{Graphical:function(t){return new S(t)},Material:function(){return new E}});var j=function(){return j=Object.assign||function(t){for(var e,n=1,o=arguments.length;n0?c:-c:s>180&&(r+=a>0?-c:c),r>360&&(r-=360),r<0&&(r+=360),s=p||c>=p)&&H.get("action").stop(),this.setStates({x:s,y:c})}},e.prototype.render=function(){var t=this.getStates(),e=t.x,n=t.y,o=this.getHistory(),r=o.x,i=o.y,a=this.mapX,s=this.mapY;this.snakeBody.clear(),this.snakeHead.clearRect(r-a,i-s),this.snakeBody.render(a,s),this.snakeHead.render(e-a,n-s)},e.prototype.onCtrlAngleChange=function(t){this.toAngle=t},e.prototype.speedUp=function(){this.framerate=16},e.prototype.speedDown=function(){this.framerate=32},e.prototype.handleAngleWorkerMessage=function(t){this.angle=t.data},e.prototype.handleScoreAdded=function(){var t=this.scores,e=t;t>=10?(e=t-9,this.snakeBody.add()):e+=1,this.scores=e},e.prototype.terminate=function(){H.get("elementApp").removeChild(this.canvas),this.angleWorker.terminate()},e}(D);const Q=K;var V=self,$=180/Math.PI;V.addEventListener("message",(function(t){var e=t.data,n=e[0],o=e[1],r=e[2],i=e[3],a=e[4],s=e[5],c=e[6];V.postMessage(function(t,e,n,o,r,i,a){return t>r&&e>i?Math.floor(Math.atan(o/n)*$)+(a?0:360):ti?Math.floor(Math.atan(-n/o)*$)+90:tr&&ei)}return t.prototype.speedUpStart=function(t){t.preventDefault(),this.snake.speedUp()},t.prototype.speedUpEnd=function(t){t.preventDefault(),this.snake.speedDown()},t.prototype.rockerTouchStart=function(t){t.preventDefault();var e=t.targetTouches[0],n=e.clientX,o=e.clientY;this.startX=n,this.startY=o},t.prototype.rockerTouchMove=function(t){t.preventDefault();var e=t.targetTouches[0],n=e.clientX,o=e.clientY,r=this.getRockerOffset(n,o),i=r[0],a=r[1],s=this.left+i,c=this.top+a;this.elementRocker.style.left="".concat(s,"px"),this.elementRocker.style.top="".concat(c,"px"),this.ctrlAngleWorker.postMessage([n,o,i,a,this.startX,this.startY,this.isHorizon])},t.prototype.rockerTouchEnd=function(t){t.preventDefault(),this.elementRocker.style.top=this.top+"px",this.elementRocker.style.left=this.left+"px"},t.prototype.handleCtrlAngleWorkerMessage=function(t){this.snake.onCtrlAngleChange(t.data)},t.prototype.getRockerOffset=function(t,e){var n,o=document.body,r=o.clientWidth,i=o.clientHeight,a=t-this.startX,s=e-this.startY;r25){var p=25/c;a*=p,s*=p}return[a,s]},t.prototype.terminate=function(){this.ctrlAngleWorker.terminate()},t}();const et=tt;var nt=self;nt.addEventListener("message",(function(t){var e,n,o,r,i,a,s=t.data,c=s[0],p=s[1],h=s[2],l=s[3],u=s[4],f=s[5],d=s[6],v=h/2;e=c+v,n=p+v,o=v,r=l,i=u,a=Math.sqrt(Math.pow(e-r,2)+Math.pow(n-i,2)),Boolean(o+4+40>=a)&&nt.postMessage([f,d])}));var ot=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),rt=["#F08080","#F5DEB3","#98FB98","#ADD8E6","#40E0D0","#FFC0CB","#DDA0DD"],it=100,at=function(t){function e(){var e=t.call(this)||this;e.foodNumber=U.mapSize/10,e.foods=[],e.animates=[],e.foodMoveWorker=new null,e.canvas=m(),e.context=e.canvas.getContext("2d");var n=H.get("Material");return e.mapCanvas=n.getMap(U.mapSize,!1),e.graphical=H.make("Graphical",e.mapCanvas),e.interfaceSize=H.get("interfaceSize"),e.foodMoveWorker.onmessage=e.handleFoodMoveWorkerMessage.bind(e),e.setStates({x:0,y:0,snx:0,sny:0}),e.buildTree(),e.randomFood(),e}return ot(e,t),e.prototype.update=function(t){var e=this.getStates(),n=e.snx,o=e.sny;for(var r in this.animates){var i=this.animates[r],a=i[0],s=i[1],c=i[2];this.graphical.clearRect(a-10,s-10,16,16);var p=o+16-s,h=n+16-a,l=Math.abs(h/p)*(h<0?-1:1)+a,u=(p<0?-1:1)+s;this.animates[r]=[l,u,c],Math.sqrt(Math.pow(h,2)+Math.pow(p,2))<=10&&(delete this.animates[r],this.makeFood())}},e.prototype.render=function(){var t=this.interfaceSize,e=t[0],n=t[1],o=this.getStates(),r=o.x,i=o.y;for(var a in this.context.clearRect(0,0,e,n),this.animates){var s=this.animates[a],c=s[0],p=s[1],h=s[2];this.graphical.food(c,p,h)}this.context.drawImage(this.mapCanvas,r,i,e,n,0,0,e,n)},e.prototype.onPositionChange=function(t,e){var n=U.mapSize/it-1,o=Math.floor(t/it)*it,r=[o];t-o<10&&o>0&&r.push(o-1),oo+1&&r.push(o+1);for(var i=0,a=r;i{"use strict";var t={325:(t,e,n)=>{n.d(e,{Z:()=>s});var o=n(81),r=n.n(o),i=n(645),a=n.n(i)()(r());a.push([t.id,"*{margin:0;padding:0;box-sizing:border-box}.overflow-hidden{overflow-x:hidden;overflow-y:hidden}.float-left{float:left}.float-right{float:right}.select-none{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.position-bottom{position:absolute;left:0;bottom:0}.coincide{position:absolute;top:0;left:0}body{width:100vw;height:100vh}body .text-center{text-align:center}body .landscape{width:100vw;height:100vh}body .controller{width:100vmax;height:40vmin}body .rocker-wrapper{width:100px;height:100px;margin-left:2rem;border-radius:100%;background:rgba(153,153,153,.4)}body .rocker-wrapper .rocker{position:relative;top:25px;left:25px;width:50px;height:50px;border-radius:100%;background:#999}body .speed-up-wrap{width:100px;height:100px;margin-right:2rem}body .speed-up-wrap .speed-up{position:relative;top:25px;left:25px;width:70px;height:70px;border-radius:100%;background:rgba(240,107,107,.7)}body .welcome{color:#666}body .welcome h1{padding:2rem}body .welcome button.start-game{position:relative;top:0;left:50%;margin-left:-50px;margin-top:3rem;width:100px;height:40px;border:1px dashed #888;color:#555}body .welcome .version-text{font-size:.8rem;padding:.3rem}@media screen and (orientation: portrait){body .landscape{width:100vmax;height:100vmin;transform-origin:top left;transform:rotate(90deg) translate(0, -100vmin)}body .turn{transform-origin:top left;transform:rotate(90deg) translate(0, -100vmin)}}",""]);const s=a},645:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",o=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),o&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),o&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,o,r,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(h[5]):""," {").concat(h[1],"}")),h[5]=i),n&&(h[2]?(h[1]="@media ".concat(h[2]," {").concat(h[1],"}"),h[2]=n):h[2]=n),r&&(h[4]?(h[1]="@supports (".concat(h[4],") {").concat(h[1],"}"),h[4]=r):h[4]="".concat(r)),e.push(h))}},e}},81:t=>{t.exports=function(t){return t[1]}},379:t=>{var e=[];function n(t){for(var n=-1,o=0;o{var e={};t.exports=function(t,n){var o=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},216:t=>{t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},565:(t,e,n)=>{t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},795:t=>{t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,r&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(o,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},589:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},477:t=>{t.exports=function(t,e,n,o){var r=self||window;try{try{var i;try{i=new r.Blob([t])}catch(e){(i=new(r.BlobBuilder||r.WebKitBlobBuilder||r.MozBlobBuilder||r.MSBlobBuilder)).append(t),i=i.getBlob()}var a=r.URL||r.webkitURL,s=a.createObjectURL(i),c=new r[e](s,n);return a.revokeObjectURL(s),c}catch(o){return new r[e]("data:application/javascript,".concat(encodeURIComponent(t)),n)}}catch(t){if(!o)throw Error("Inline worker is not supported");return new r[e](o,n)}}}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nc=void 0,(()=>{var t=n(379),e=n.n(t),o=n(795),r=n.n(o),i=n(569),a=n.n(i),s=n(565),c=n.n(s),p=n(216),h=n.n(p),l=n(589),u=n.n(l),d=n(325),f={};f.styleTagTransform=u(),f.setAttributes=c(),f.insert=a().bind(null,"head"),f.domAPI=r(),f.insertStyleElement=h(),e()(d.Z,f),d.Z&&d.Z.locals&&d.Z.locals;const v=function(){function t(t,e){for(var n in void 0===t&&(t={}),void 0===e&&(e={}),this.entries=t,this.definitions={},this.entries.container=this,e)this.define(n,e[n])}return t.prototype.get=function(t){var e=this.entries[t];if(e)return e;var n=this.definitions[t];if(n)return this.entries[t]=n.apply(this),this.entries[t];throw new Error("There is no entry named ".concat(t))},t.prototype.set=function(t,e){this.entries[t]=e},t.prototype.has=function(t){return Boolean(void 0===this.entries[t]&&void 0===this.definitions[t])},t.prototype.make=function(t){for(var e=[],n=1;n{"use strict";var a=self;a.addEventListener("message",(function(s){var t=s.data,e=t[0],n=t[1],r=e,i=2.8*t[2],o=n-e,M=Math.abs(o),d=Math.min(M,i);M<=180?r+=o>0?d:-d:M>180&&(r+=o>0?-d:d),r>360&&(r-=360),r<0&&(r+=360),M=p||c>=p)&&_.get("action").stop(),this.setStates({x:s,y:c})}},e.prototype.render=function(){var t=this.getStates(),e=t.x,n=t.y,o=this.getHistory(),r=o.x,i=o.y,a=this.mapX,s=this.mapY;this.snakeBody.clear(),this.snakeHead.clearRect(r-a,i-s),this.snakeBody.render(a,s),this.snakeHead.render(e-a,n-s)},e.prototype.onCtrlAngleChange=function(t){this.toAngle=t},e.prototype.speedUp=function(){this.framerate=16},e.prototype.speedDown=function(){this.framerate=32},e.prototype.handleAngleWorkerMessage=function(t){this.angle=t.data},e.prototype.handleScoreAdded=function(){var t=this.scores,e=t;t>=10?(e=t-9,this.snakeBody.add()):e+=1,this.scores=e},e.prototype.terminate=function(){_.get("elementApp").removeChild(this.canvas),this.angleWorker.terminate()},e}(F);const K=J;function Q(){return L()('(()=>{"use strict";var a=self,t=180/Math.PI;a.addEventListener("message",(function(n){var o=n.data,e=o[0],r=o[1],M=o[2],h=o[3],s=o[4],f=o[5],l=o[6];a.postMessage(function(a,n,o,e,r,M,h){return a>r&&n>M?Math.floor(Math.atan(e/o)*t)+(h?0:360):aM?Math.floor(Math.atan(-o/e)*t)+90:ar&&ni)}return t.prototype.speedUpStart=function(t){t.preventDefault(),this.snake.speedUp()},t.prototype.speedUpEnd=function(t){t.preventDefault(),this.snake.speedDown()},t.prototype.rockerTouchStart=function(t){t.preventDefault();var e=t.targetTouches[0],n=e.clientX,o=e.clientY;this.startX=n,this.startY=o},t.prototype.rockerTouchMove=function(t){t.preventDefault();var e=t.targetTouches[0],n=e.clientX,o=e.clientY,r=this.getRockerOffset(n,o),i=r[0],a=r[1],s=this.left+i,c=this.top+a;this.elementRocker.style.left="".concat(s,"px"),this.elementRocker.style.top="".concat(c,"px"),this.ctrlAngleWorker.postMessage([n,o,i,a,this.startX,this.startY,this.isHorizon])},t.prototype.rockerTouchEnd=function(t){t.preventDefault(),this.elementRocker.style.top=this.top+"px",this.elementRocker.style.left=this.left+"px"},t.prototype.handleCtrlAngleWorkerMessage=function(t){this.snake.onCtrlAngleChange(t.data)},t.prototype.getRockerOffset=function(t,e){var n,o=document.body,r=o.clientWidth,i=o.clientHeight,a=t-this.startX,s=e-this.startY;r25){var p=25/c;a*=p,s*=p}return[a,s]},t.prototype.terminate=function(){this.ctrlAngleWorker.terminate()},t}();const $=V;function tt(){return L()('(()=>{"use strict";var a=self;a.addEventListener("message",(function(t){var e,s,o,n,r,M,d=t.data,h=d[0],i=d[1],p=d[2],v=d[3],c=d[4],f=d[5],g=d[6],l=p/2;e=h+l,s=i+l,o=l,n=v,r=c,M=Math.sqrt(Math.pow(e-n,2)+Math.pow(s-r,2)),Boolean(o+4+40>=M)&&a.postMessage([f,g])}))})();',"Worker",void 0,void 0)}var et=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),nt=["#F08080","#F5DEB3","#98FB98","#ADD8E6","#40E0D0","#FFC0CB","#DDA0DD"],ot=100,rt=function(t){function e(){var e=t.call(this)||this;e.foodNumber=Y.mapSize/10,e.foods=[],e.animates=[],e.foodMoveWorker=new tt,e.canvas=m(),e.context=e.canvas.getContext("2d");var n=_.get("Material");return e.mapCanvas=n.getMap(Y.mapSize,!1),e.graphical=_.make("Graphical",e.mapCanvas),e.interfaceSize=_.get("interfaceSize"),e.foodMoveWorker.onmessage=e.handleFoodMoveWorkerMessage.bind(e),e.setStates({x:0,y:0,snx:0,sny:0}),e.buildTree(),e.randomFood(),e}return et(e,t),e.prototype.update=function(t){var e=this.getStates(),n=e.snx,o=e.sny;for(var r in this.animates){var i=this.animates[r],a=i[0],s=i[1],c=i[2];this.graphical.clearRect(a-10,s-10,16,16);var p=o+16-s,h=n+16-a,l=Math.abs(h/p)*(h<0?-1:1)+a,u=(p<0?-1:1)+s;this.animates[r]=[l,u,c],Math.sqrt(Math.pow(h,2)+Math.pow(p,2))<=10&&(delete this.animates[r],this.makeFood())}},e.prototype.render=function(){var t=this.interfaceSize,e=t[0],n=t[1],o=this.getStates(),r=o.x,i=o.y;for(var a in this.context.clearRect(0,0,e,n),this.animates){var s=this.animates[a],c=s[0],p=s[1],h=s[2];this.graphical.food(c,p,h)}this.context.drawImage(this.mapCanvas,r,i,e,n,0,0,e,n)},e.prototype.onPositionChange=function(t,e){var n=Y.mapSize/ot-1,o=Math.floor(t/ot)*ot,r=[o];t-o<10&&o>0&&r.push(o-1),oo+1&&r.push(o+1);for(var i=0,a=r;i