(function(a){String.prototype.trim===a&&(String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}),Array.prototype.reduce===a&&(Array.prototype.reduce=function(b){if(this===void 0||this===null){throw new TypeError}var c=Object(this),d=c.length>>>0,e=0,f;if(typeof b!="function"){throw new TypeError}if(d==0&&arguments.length==1){throw new TypeError}if(arguments.length>=2){f=arguments[1]}else{do{if(e in c){f=c[e++];break}if(++e>=d){throw new TypeError}}while(!0)}while(e0?[].concat.apply([],a):a}function H(a){return a.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 I(a){return a in i?i[a]:i[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function J(a,b){return typeof b=="number"&&!k[H(a)]?b+"px":b}function K(a){var b,c;return h[a]||(b=g.createElement(a),g.body.appendChild(b),c=j(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),c=="none"&&(c="block"),h[a]=c),h[a]}function L(b,d){return d===a?c(b):c(b).filter(d)}function M(a,b,c,d){return A(b)?b.call(a,c,d):b}function N(a,b,d){var e=a%2?b:b.parentNode;e?e.insertBefore(d,a?a==1?e.firstChild:a==2?b:null:b.nextSibling):c(d).remove()}function O(a,b){b(a);for(var c in a.childNodes){O(a.childNodes[c],b)}}var a,b,c,d,e=[],f=e.slice,g=window.document,h={},i={},j=g.defaultView.getComputedStyle,k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,m=[1,3,8,9,11],n=["after","prepend","before","append"],o=g.createElement("table"),p=g.createElement("tr"),q={tr:g.createElement("tbody"),tbody:o,thead:o,tfoot:o,td:p,th:p,"*":g.createElement("div")},r=/complete|loaded|interactive/,s=/^\.([\w-]+)$/,t=/^#([\w-]+)$/,u=/^[\w-]+$/,v={}.toString,w={},x,y,z=g.createElement("div"); return w.matches=function(a,b){if(!a||a.nodeType!==1){return !1}var c=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c){return c.call(a,b)}var d,e=a.parentNode,f=!e;return f&&(e=z).appendChild(a),d=~w.qsa(e,b).indexOf(a),f&&z.removeChild(a),d},x=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},y=function(a){return a.filter(function(b,c){return a.indexOf(b)==c})},w.fragment=function(b,d){d===a&&(d=l.test(b)&&RegExp.$1),d in q||(d="*");var e=q[d];return e.innerHTML=""+b,c.each(f.call(e.childNodes),function(){e.removeChild(this)})},w.Z=function(a,b){return a=a||[],a.__proto__=arguments.callee.prototype,a.selector=b||"",a},w.isZ=function(a){return a instanceof w.Z},w.init=function(b,d){if(!b){return w.Z()}if(A(b)){return c(g).ready(b)}if(w.isZ(b)){return b}var e;if(D(b)){e=F(b)}else{if(C(b)){e=[c.extend({},b)],b=null}else{if(m.indexOf(b.nodeType)>=0||b===window){e=[b],b=null}else{if(l.test(b)){e=w.fragment(b.trim(),RegExp.$1),b=null}else{if(d!==a){return c(d).find(b)}e=w.qsa(g,b)}}}}return w.Z(e,b)},c=function(a,b){return w.init(a,b)},c.extend=function(c){return f.call(arguments,1).forEach(function(d){for(b in d){d[b]!==a&&(c[b]=d[b])}}),c},w.qsa=function(a,b){var c;return a===g&&t.test(b)?(c=a.getElementById(RegExp.$1))?[c]:e:a.nodeType!==1&&a.nodeType!==9?e:f.call(s.test(b)?a.getElementsByClassName(RegExp.$1):u.test(b)?a.getElementsByTagName(b):a.querySelectorAll(b))},c.isFunction=A,c.isObject=B,c.isArray=D,c.isPlainObject=C,c.inArray=function(a,b,c){return e.indexOf.call(b,a,c)},c.trim=function(a){return a.trim()},c.uuid=0,c.map=function(a,b){var c,d=[],e,f;if(E(a)){for(e=0;e0&&w.matches(this[0],a)},not:function(b){var d=[];if(A(b)&&b.call!==a){this.each(function(a){b.call(this,a)||d.push(this)})}else{var e=typeof b=="string"?this.filter(b):E(b)&&A(b.item)?f.call(b):c(b);this.forEach(function(a){e.indexOf(a)<0&&d.push(a)})}return c(d)},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!B(a)?a:c(a)},last:function(){var a=this[this.length-1];return a&&!B(a)?a:c(a)},find:function(a){var b;return this.length==1?b=w.qsa(this[0],a):b=this.map(function(){return w.qsa(this,a)}),c(b)},closest:function(a,b){var d=this[0];while(d&&!w.matches(d,a)){d=d!==b&&d!==g&&d.parentNode}return c(d)},parents:function(a){var b=[],d=this;while(d.length>0){d=c.map(d,function(a){if((a=a.parentNode)&&a!==g&&b.indexOf(a)<0){return b.push(a),a}})}return L(b,a)},parent:function(a){return L(y(this.pluck("parentNode")),a)},children:function(a){return L(this.map(function(){return f.call(this.children)}),a)},siblings:function(a){return L(this.map(function(a,b){return f.call(b.parentNode.children).filter(function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return this.map(function(){return this[a]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display=null),j(this,"").getPropertyValue("display")=="none"&&(this.style.display=K(this.nodeName)) })},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){return this.each(function(){c(this).wrapAll(c(a)[0].cloneNode(!1))})},wrapAll:function(a){return this[0]&&(c(this[0]).before(a=c(a)),a.append(this)),this},unwrap:function(){return this.parent().each(function(){c(this).replaceWith(c(this).children())}),this},clone:function(){return c(this.map(function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(b){return(b===a?this.css("display")=="none":b)?this.show():this.hide()},prev:function(){return c(this.pluck("previousElementSibling"))},next:function(){return c(this.pluck("nextElementSibling"))},html:function(b){return b===a?this.length>0?this[0].innerHTML:null:this.each(function(a){var d=this.innerHTML;c(this).empty().append(M(this,b,a,d))})},text:function(b){return b===a?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=b})},attr:function(c,d){var e;return typeof c=="string"&&d===a?this.length==0||this[0].nodeType!==1?a:c=="value"&&this[0].nodeName=="INPUT"?this.val():!(e=this[0].getAttribute(c))&&c in this[0]?this[0][c]:e:this.each(function(a){if(this.nodeType!==1){return}if(B(c)){for(b in c){this.setAttribute(b,c[b])}}else{this.setAttribute(c,M(this,d,a,this.getAttribute(c)))}})},removeAttr:function(a){return this.each(function(){this.nodeType===1&&this.removeAttribute(a)})},prop:function(b,c){return c===a?this[0]?this[0][b]:a:this.each(function(a){this[b]=M(this,c,a,this[b])})},data:function(b,c){var d=this.attr("data-"+H(b),c);return d!==null?d:a},val:function(b){return b===a?this.length>0?this[0].value:a:this.each(function(a){this.value=M(this,b,a,this.value)})},offset:function(){if(this.length==0){return null}var a=this[0].getBoundingClientRect();return{left:a.left+window.pageXOffset,top:a.top+window.pageYOffset,width:a.width,height:a.height}},css:function(c,d){if(d===a&&typeof c=="string"){return this.length==0?a:this[0].style[x(c)]||j(this[0],"").getPropertyValue(c) }var e="";for(b in c){typeof c[b]=="string"&&c[b]==""?this.each(function(){this.style.removeProperty(H(b))}):e+=H(b)+":"+J(b,c[b])+";"}return typeof c=="string"&&(d==""?this.each(function(){this.style.removeProperty(H(c))}):e=H(c)+":"+J(c,d)),this.each(function(){this.style.cssText+=";"+e})},index:function(a){return a?this.indexOf(c(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return this.length<1?!1:I(a).test(this[0].className)},addClass:function(a){return this.each(function(b){d=[];var e=this.className,f=M(this,a,b,e);f.split(/\s+/g).forEach(function(a){c(this).hasClass(a)||d.push(a)},this),d.length&&(this.className+=(e?" ":"")+d.join(" "))})},removeClass:function(b){return this.each(function(c){if(b===a){return this.className=""}d=this.className,M(this,b,c,d).split(/\s+/g).forEach(function(a){d=d.replace(I(a)," ")}),this.className=d.trim()})},toggleClass:function(b,d){return this.each(function(e){var f=M(this,b,e,this.className);(d===a?!c(this).hasClass(f):d)?c(this).addClass(f):c(this).removeClass(f)})}},["width","height"].forEach(function(b){c.fn[b]=function(d){var e,f=b.replace(/./,function(a){return a[0].toUpperCase()});return d===a?this[0]==window?window["inner"+f]:this[0]==g?g.documentElement["offset"+f]:(e=this.offset())&&e[b]:this.each(function(a){var e=c(this);e.css(b,M(this,d,a,e[b]()))})}}),n.forEach(function(a,b){c.fn[a]=function(){var a=c.map(arguments,function(a){return B(a)?a:w.fragment(a)});if(a.length<1){return this}var d=this.length,e=d>1,f=b<2;return this.each(function(c,g){for(var h=0;h0&&this.bind(o,n),setTimeout(function(){m.css(i),e<=0&&setTimeout(function(){m.each(function(){n.call(this)})},0)},0),this},i=null}(Zepto),function($){function triggerAndReturn(a,b,c){var d=$.Event(b); return $(a).trigger(d,c),!d.defaultPrevented}function triggerGlobal(a,b,c,d){if(a.global){return triggerAndReturn(b||document,c,d)}}function ajaxStart(a){a.global&&$.active++===0&&triggerGlobal(a,null,"ajaxStart")}function ajaxStop(a){a.global&&!--$.active&&triggerGlobal(a,null,"ajaxStop")}function ajaxBeforeSend(a,b){var c=b.context;if(b.beforeSend.call(c,a,b)===!1||triggerGlobal(b,c,"ajaxBeforeSend",[a,b])===!1){return !1}triggerGlobal(b,c,"ajaxSend",[a,b])}function ajaxSuccess(a,b,c){var d=c.context,e="success";c.success.call(d,a,e,b),triggerGlobal(c,d,"ajaxSuccess",[b,c,a]),ajaxComplete(e,b,c)}function ajaxError(a,b,c,d){var e=d.context;d.error.call(e,c,b,a),triggerGlobal(d,e,"ajaxError",[c,d,a]),ajaxComplete(b,c,d)}function ajaxComplete(a,b,c){var d=c.context;c.complete.call(d,b,a),triggerGlobal(c,d,"ajaxComplete",[b,c]),ajaxStop(c)}function empty(){}function mimeToDataType(a){return a&&(a==htmlType?"html":a==jsonType?"json":scriptTypeRE.test(a)?"script":xmlTypeRE.test(a)&&"xml")||"text"}function appendQuery(a,b){return(a+"&"+b).replace(/[&?]{1,2}/,"?")}function serializeData(a){isObject(a.data)&&(a.data=$.param(a.data)),a.data&&(!a.type||a.type.toUpperCase()=="GET")&&(a.url=appendQuery(a.url,a.data))}function serialize(a,b,c,d){var e=$.isArray(b);$.each(b,function(b,f){d&&(b=c?d:d+"["+(e?"":b)+"]"),!d&&e?a.add(f.name,f.value):(c?$.isArray(f):isObject(f))?serialize(a,f,c,b):a.add(b,f)})}var jsonpID=0,isObject=$.isObject,document=window.document,key,name,rscript=/)<[^<]*)*<\/script>/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/;$.active=0,$.ajaxJSONP=function(a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){$(c).remove(),b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(d){clearTimeout(f),$(c).remove(),delete window[b],ajaxSuccess(d,e,a) },serializeData(a),c.src=a.url.replace(/=\?/,"="+b),$("head").append(c),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e},$.ajaxSettings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},$.ajax=function(options){var settings=$.extend({},options||{});for(key in $.ajaxSettings){settings[key]===undefined&&(settings[key]=$.ajaxSettings[key])}ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder){return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),$.ajaxJSONP(settings)}settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=$.ajaxSettings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET"){baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded"}settings.headers=$.extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type")),result=xhr.responseText;try{dataType=="script"?(1,eval)(result):dataType=="xml"?result=xhr.responseXML:dataType=="json"&&(result=blankRE.test(result)?null:JSON.parse(result)) }catch(e){error=e}error?ajaxError(error,"parsererror",xhr,settings):ajaxSuccess(result,xhr,settings)}else{ajaxError(null,"error",xhr,settings)}}};var async="async" in settings?settings.async:!0;xhr.open(settings.type,settings.url,async);for(name in settings.headers){xhr.setRequestHeader(name,settings.headers[name])}return ajaxBeforeSend(xhr,settings)===!1?(xhr.abort(),!1):(settings.timeout>0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)},$.get=function(a,b){return $.ajax({url:a,success:b})},$.post=function(a,b,c,d){return $.isFunction(b)&&(d=d||c,c=b,b=null),$.ajax({type:"POST",url:a,data:b,success:c,dataType:d})},$.getJSON=function(a,b){return $.ajax({url:a,success:b,dataType:"json"})},$.fn.load=function(a,b){if(!this.length){return this}var c=this,d=a.split(/\s/),e;return d.length>1&&(a=d[0],e=d[1]),$.get(a,function(a){c.html(e?$(document.createElement("div")).html(a.replace(rscript,"")).find(e).html():a),b&&b.call(c)}),this};var escape=encodeURIComponent;$.param=function(a,b){var c=[];return c.add=function(a,b){this.push(escape(a)+"="+escape(b))},serialize(c,a,b),c.join("&").replace("%20","+")}}(Zepto),function(a){a.fn.serializeArray=function(){var b=[],c;return a(Array.prototype.slice.call(this.get(0).elements)).each(function(){c=a(this);var d=c.attr("type");this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&d!="submit"&&d!="reset"&&d!="button"&&(d!="radio"&&d!="checkbox"||this.checked)&&b.push({name:c.attr("name"),value:c.val()})}),b},a.fn.serialize=function(){var a=[];return this.serializeArray().forEach(function(b){a.push(encodeURIComponent(b.name)+"="+encodeURIComponent(b.value))}),a.join("&")},a.fn.submit=function(b){if(b){this.bind("submit",b)}else{if(this.length){var c=a.Event("submit");this.eq(0).trigger(c),c.defaultPrevented||this.get(0).submit()}}return this}}(Zepto),function(a){function d(a){return"tagName" in a?a:a.parentNode }function e(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"Left":"Right":c-d>0?"Up":"Down"}function h(){g=null,b.last&&(b.el.trigger("longTap"),b={})}function i(){g&&clearTimeout(g),g=null}var b={},c,f=750,g;a(document).ready(function(){var j,k;a(document.body).bind("touchstart",function(e){j=Date.now(),k=j-(b.last||j),b.el=a(d(e.touches[0].target)),c&&clearTimeout(c),b.x1=e.touches[0].pageX,b.y1=e.touches[0].pageY,k>0&&k<=250&&(b.isDoubleTap=!0),b.last=j,g=setTimeout(h,f)}).bind("touchmove",function(a){i(),b.x2=a.touches[0].pageX,b.y2=a.touches[0].pageY}).bind("touchend",function(a){i(),b.isDoubleTap?(b.el.trigger("doubleTap"),b={}):b.x2&&Math.abs(b.x1-b.x2)>30||b.y2&&Math.abs(b.y1-b.y2)>30?(b.el.trigger("swipe")&&b.el.trigger("swipe"+e(b.x1,b.x2,b.y1,b.y2)),b={}):"last" in b&&(b.el.trigger("tap"),c=setTimeout(function(){c=null,b.el.trigger("singleTap"),b={}},250))}).bind("touchcancel",function(){c&&clearTimeout(c),g&&clearTimeout(g),g=c=null,b={}})}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(b){a.fn[b]=function(a){return this.bind(b,a)}})}(Zepto); (function(){$("#view").hide();var percent=$("#percent");for(var n=0;n<100;n++){for(var n=0;n<=100;n++){(function(i){setTimeout(function(){percent.html(i+"%");if(i===100){$("#load").remove();$("#view").show()}},i*20)}(n))}}}());~(function(){var board=new Array();var score=0;var has_conflicted=new Array();var startx=0;var starty=0;var endx=0;var endy=0;var grid_container=580;var grid_cell_width=120;var grid_cell_height=140;var cell_space=20;var can_move=false;var document_width=window.screen.availWidth;var grid_container_width=0.92*document_width;var voice=true;if(localStorage["boss_highest"]){var boss_highest=JSON.parse(localStorage["boss_highest"])}else{var boss_highest=0}var touchEvents={touchstart:"touchstart",touchmove:"touchmove",touchend:"touchend",click:IsPC()?"click":"tap",};$(document).ready(function(){if(voice){audio_event("start")}if(boss_highest===0){$("#page_help").show()}$("#highest,.index_highest").html(boss_highest);$("#start_btn,#new_game_button,#continue_btn").on(touchEvents.click,function(event){event.preventDefault();new_game()});$("#voice_btn").on(touchEvents.click,function(event){event.preventDefault();if(voice){voice=false;$(this).addClass("off");$("#voice_audio").attr("src","")}else{voice=true;$(this).removeClass("off");audio_event("start")}console.log("voice",voice)});$("#help_btn").on(touchEvents.click,function(event){event.preventDefault();$("#page_help").show()});$("#close_help_btn").on(touchEvents.click,function(event){event.preventDefault();$("#page_help").hide()});$("#share_btn").on(touchEvents.click,function(event){event.preventDefault();$("#page_share").show()});$("#page_share").on(touchEvents.click,function(event){event.preventDefault();$(this).hide()});event_swipe();share()});function new_game(){$("#page_game").show().siblings("div").hide();$("#voice_audio").attr("src","");init()}function init(){$("#grid_container").html("");for(var i=0;i<4;i++){for(var j=0;j<4;j++){$("#grid_container").append('
'); var grid_cell=$("#grid_cell_"+i+"_"+j);grid_cell.css({"top":get_pos_top(i,j),"left":get_pos_left(i,j),"width":grid_cell_width,"height":grid_cell_height})}}for(var i=0;i<4;i++){board[i]=new Array();has_conflicted[i]=new Array();for(var j=0;j<4;j++){board[i][j]={type:0,num:0};has_conflicted[i][j]=false}}update_board_view();score=0;can_move=true;update_score(score);generate_init()}function event_swipe(){$(document).keydown(function(event){if(!can_move){return}var voice_key=event.keyCode==37||event.keyCode==38||event.keyCode==39||event.keyCode==40;if(voice&&voice_key){audio_event("slide")}switch(event.keyCode){case 37:event.preventDefault();if(move_left()){setTimeout(function(){is_gameover()},200)}break;case 38:event.preventDefault();if(move_up()){setTimeout(function(){is_gameover()},200)}break;case 39:event.preventDefault();if(move_right()){setTimeout(function(){is_gameover()},200)}break;case 40:event.preventDefault();if(move_down()){setTimeout(function(){is_gameover()},200)}break;default:break}});document.addEventListener("touchstart",function(event){event.preventDefault();startx=event.touches[0].pageX;starty=event.touches[0].pageY});document.addEventListener("touchmove",function(event){event.preventDefault()});document.addEventListener("touchend",function(event){event.preventDefault();if(!can_move){return}endx=event.changedTouches[0].pageX;endy=event.changedTouches[0].pageY;var deltax=endx-startx;var deltay=endy-starty;if(Math.abs(deltax)<0.1*document_width&&Math.abs(deltay)<0.1*document_width){return}if(voice){audio_event("slide")}if(Math.abs(deltax)>=Math.abs(deltay)){if(deltax>0){if(move_right()){setTimeout(function(){is_gameover()},200)}}else{if(move_left()){setTimeout(function(){is_gameover()},200)}}}else{if(deltay>0){if(move_down()){setTimeout(function(){is_gameover()},200)}}else{if(move_up()){setTimeout(function(){is_gameover()},200)}}}})}function update_board_view(){$(".number_cell").remove();for(var i=0;i<4;i++){for(var j=0;j<4;j++){$("#grid_container").append('
'); var number_cell=$("#number_cell_"+i+"_"+j);if(board[i][j].type==0){number_cell.css({"width":"0px","height":"0px","top":get_pos_top(i,j)+grid_cell_height/2,"left":get_pos_left(i,j)+grid_cell_width/2})}else{number_cell.css({"width":grid_cell_width,"height":grid_cell_height,"top":get_pos_top(i,j),"left":get_pos_left(i,j),"background-position":get_number_background_type(board[i][j].type)[0],});number_cell.children("span").css("background-color",get_number_background_type(board[i][j].type)[1]).text(board[i][j].num)}has_conflicted[i][j]=false}}}function generate_init(){var init_data=[{type:"boss",num:3},{type:"police",num:1},{type:"killer",num:1},{type:"killer",num:1},{type:"car",num:1}];var role_pos=[];var role_num=0;function pos(){var randx=parseInt(Math.floor(Math.random()*4));var randy=parseInt(Math.floor(Math.random()*4));var p=[randx,randy];if(JSON.stringify(role_pos).indexOf(JSON.stringify(p))==-1){role_pos.push(p);board[randx][randy].type=init_data[role_num].type;board[randx][randy].num=init_data[role_num].num;show_number_with_animation(randx,randy,init_data[role_num].type,init_data[role_num].num);role_num++}if(role_pos.length<5){pos()}}pos();console.log("?????==>",board)}function generate_new_number(){if(nospace(board)){return false}var rands=parseInt(10*Math.random())<9?1:2;console.log("????????????",rands);for(var i=0;i=1&&rand_type_nub<5){var rand_type="police"}else{if(rand_type_nub>9){var rand_type="drug"}else{var rand_type="killer"}}}var rand_number=parseInt(10*Math.random())<5?1:2;board[randx][randy].type=rand_type; board[randx][randy].num=rand_number;show_number_with_animation(randx,randy,rand_type,rand_number)}console.log("??????");return true}function move_left(){for(var i=0;i<4;i++){for(var j=1;j<4;j++){if(board[i][j].type!=0){for(var k=0;kboard[i][k].num){board[i][k].type=board[i][j].type;board[i][k].num=board[i][j].num-board[i][k].num;can_move=false}else{if(board[i][j].numboard[i][k].num){score+=board[i][k].num;board[i][k].type=board[i][j].type;board[i][k].num=board[i][j].num-board[i][k].num}else{if(board[i][j].num=0;j--){if(board[i][j].type!=0){for(var k=3;k>j;k--){if(board[i][k].type==0&&no_block_horizontal(i,j,k,board)){show_move_animation(i,j,i,k);board[i][k].type=board[i][j].type;board[i][k].num=board[i][j].num;board[i][j].type=0;board[i][j].num=0;break}else{if(board[i][k].type==board[i][j].type&&no_block_horizontal(i,j,k,board)){show_move_animation(i,j,i,k);board[i][k].num+=board[i][j].num;board[i][j].type=0;board[i][j].num=0;endAnim_merge(i,k)}else{if(board[i][j].type=="killer"&&board[i][k].type=="boss"&&no_block_horizontal(i,j,k,board)){if(board[i][j].num==board[i][k].num){board[i][k].type=0;board[i][k].num=0;endAnim_testAnim(i,k,"bounceOut");can_move=false}else{if(board[i][j].num>board[i][k].num){board[i][k].type=board[i][j].type;board[i][k].num=board[i][j].num-board[i][k].num;can_move=false}else{if(board[i][j].numboard[i][k].num){score+=board[i][k].num;board[i][k].type=board[i][j].type;board[i][k].num=board[i][j].num-board[i][k].num}else{if(board[i][j].numboard[k][j].num){board[k][j].type=board[i][j].type;board[k][j].num=board[i][j].num-board[k][j].num;can_move=false}else{if(board[i][j].numboard[k][j].num){score+=board[k][j].num;board[k][j].type=board[i][j].type;board[k][j].num=board[i][j].num-board[k][j].num}else{if(board[i][j].num=0;i--){if(board[i][j].type!=0){for(var k=3;k>i;k--){if(board[k][j].type==0&&no_block_vertical(j,i,k,board)){show_move_animation(i,j,k,j);board[k][j].type=board[i][j].type;board[k][j].num=board[i][j].num;board[i][j].type=0;board[i][j].num=0;break}else{if(board[k][j].type==board[i][j].type&&no_block_vertical(j,i,k,board)){show_move_animation(i,j,k,j);board[k][j].num+=board[i][j].num;board[i][j].num=0;board[i][j].type=0;endAnim_merge(k,j)}else{if(board[i][j].type=="killer"&&board[k][j].type=="boss"&&no_block_vertical(j,i,k,board)){if(board[i][j].num==board[k][j].num){board[k][j].type=0;board[k][j].num=0;endAnim_testAnim(k,j,"bounceOut");can_move=false}else{if(board[i][j].num>board[k][j].num){board[k][j].type=board[i][j].type;board[k][j].num=board[i][j].num-board[k][j].num;can_move=false}else{if(board[i][j].numboard[k][j].num){score+=board[k][j].num;board[k][j].type=board[i][j].type;board[k][j].num=board[i][j].num-board[k][j].num}else{if(board[i][j].numboss_highest){localStorage["boss_highest"]=score*100;boss_highest=score*100;$("#highest").html(boss_highest)}setTimeout(function(){gameoverPage()},1000)}else{generate_new_number()}if(nospace(board)&&nomove(board)){can_move=false;setTimeout(function(){gameoverPage()},1000)}}function get_pos_top(i,j){return(i+1)*cell_space+i*grid_cell_height}function get_pos_left(i,j){return(j+1)*cell_space+j*grid_cell_width}function get_number_background_type(type){switch(type){case"boss":return["0 0","#31ABF1"];break;case"police":return["0 -147px","#4A824C"];break;case"drug":return["0 -294px","#E04972"];break;case"car":return["0 -440px","#FFA401"];break;case"killer":return["0 -587px","#728690"];break}return"black"}function nospace(board){for(var i=0;i<4;i++){for(var j=0;j<4;j++){if(board[i][j].type==0){return false}}}return true}function can_move_left(board){for(var i=0;i<4;i++){for(var j=1;j<4;j++){if(board[i][j].type!=0){if(board[i][j-1].type==0||board[i][j].type==board[i][j-1].type){return true}}}}return false}function can_move_right(board){for(var i=0;i<4;i++){for(var j=2;j>=0;j--){if(board[i][j].type!=0){if(board[i][j+1].type==0||board[i][j].type==board[i][j+1].type){return true }}}}return false}function can_move_up(board){for(var j=0;j<4;j++){for(var i=1;i<4;i++){if(board[i][j].type!=0){if(board[i-1][j].type==0||board[i-1][j].type==board[i][j].type){return true}}}}return false}function can_move_down(board){for(var j=0;j<4;j++){for(var i=2;i>=0;i--){if(board[i][j].type!=0){if(board[i+1][j].type==0||board[i+1][j].type==board[i][j].type){return true}}}}return false}function no_block_horizontal(row,col1,col2,board){for(var i=col1+1;i0){flag=false;break}}return flag}function testAnim(id,x){$(id).addClass(x+" animated").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){$(this).removeClass("animated");$(this).removeClass(x)})}function endAnim_add(y,x){var top=y*(grid_cell_height+20);var left=x*(grid_cell_width+20)-10;var html='
';setTimeout(function(){$("#grid_container").append(html)},200);setTimeout(function(){$(".anim_add").remove()},700)}function endAnim_eli(y,x){var top=y*(grid_cell_height+20)-10;var left=x*(grid_cell_width+20)-20;var html='
';setTimeout(function(){$("#grid_container").append(html)},200);setTimeout(function(){$(".anim_eli").remove()},800)}function endAnim_merge(i,j){var number_cell=$("#number_cell_"+i+"_"+j);testAnim(number_cell.children("span"),"flip")}function endAnim_testAnim(i,j,anim){var number_cell=$("#number_cell_"+i+"_"+j);testAnim(number_cell,anim)}function audio_event(type){var voice_audio=document.getElementById("voice_audio");switch(type){case"kill_k":var url="audio/kill_k.mp3";break;case"kill_p":var url="audio/kill_p.mp3";break;case"slide":var url="audio/slide.mp3";break;case"merge":var url="audio/merge.mp3";break;case"eat":var url="audio/eat.mp3";break;case"start":var url="audio/start.mp3";break;default:}$("#voice_audio").attr("src",url);voice_audio.play()}function gameoverPage(){$("#page_gameOver").show();$("#this_score").html(score*100);$("#highest_score").html(boss_highest);testAnim("#gameOver","bounceInDown");if(voice){audio_event("start")}share()}function share(){if(localStorage["boss_highest"]){var boss_highest=JSON.parse(localStorage["boss_highest"])}else{var boss_highest=0}if(boss_highest<1){var shareIndex=0}else{if(boss_highest>=1&&boss_highest<=1500){var shareIndex=1}else{if(boss_highest>1500&&boss_highest<=5000){var shareIndex=2 }else{if(boss_highest>5000&&boss_highest<=8000){var shareIndex=3}else{if(boss_highest>8000&&boss_highest<=10000){var shareIndex=4}else{if(boss_highest>10000&&boss_highest<=15000){var shareIndex=5}else{var shareIndex=6}}}}}}var shareText=["????????????????????","???$"+boss_highest+"???????????????","???$"+boss_highest+"???????????????","???$"+boss_highest+"??????????","???$"+boss_highest+"????????????","???????????$"+boss_highest+"????????","???????????$"+boss_highest+"???????????",];var shareTitle=shareText[shareIndex];window.shareData={"imgUrl":"http://266.com/mini/boss/images/boss_ico.png","timeLineLink":"http://266.com/mini/boss/","tTitle":shareTitle,"tContent":"????!",}}}());