var _lang = { zh1: { title: "大家都来找袜字", help_txt: "找出所有色块里文字不同的一个", score: "得分:", btn_pause: "暂停", btn_start: "开始游戏", btn_reTry: "再来一次", btn_more_game: "更多游戏", game_pause: "游戏暂停", btn_resume: "继续游戏", loading: "加载中...", lv_txt: ["文盲", "臭袜子", "脏袜子", "新袜子", "袜子搜寻者", "色魔", "超级色魔", "变态色魔", "寻袜高手"], share_txt1: "我闯过", share_txt2: "关,击败", share_txt3: "%的人,我是【", share_txt4: "】,不服来战!", desc: "找出所有色块中文字不同的一块。分享朋友圈,找到妹子中的袜子" }, zh: { title: "腊八节,一起来喝红豆粥", help_txt: "在众多红枣中找到唯一的红豆", score: "过关:", btn_pause: "暂停", btn_start: "开始游戏", btn_reTry: "再来一次", btn_more_game: "更多游戏", game_pause: "游戏暂停", btn_resume: "继续游戏", loading: "加载中...", lv_txt: ["凤姐的脑残粉", "凤姐的忠实粉", "凤姐的路人粉", "慧眼识Jolin", "火眼金睛", "洞察一切", "两眼冒光", "24k氪金眼", "已被亮瞎!", ], share_txt1: "【寻找蔡依林】我在", share_txt2: "个凤姐中找到", share_txt3: "次蔡依林,我是【", share_txt4: "】,不服来战!", desc: "找出众多'凤姐'中的'蔡依林'。分享朋友圈,找到凤姐中的蔡依林" }, en: { title: "How strong is your eyesight", help_txt: "Find the box with the different colour", score: "Score:", btn_pause: "Pause", btn_start: "Start", btn_reTry: "Again", btn_more_game: "More games", game_pause: "Pause", btn_resume: "Continues", loading: "loading...", lv_txt: ["Blind", "Very weak", "Weak", "Just so so", "Not bad", "Nice one", "Great", "Amazing", "Insane"], share_txt1: "I passed ", share_txt2: "stages and defeated ", share_txt3: "% people. I am ", share_txt4: ", come to challenge me if you dare!", desc: "Find the box with the different colour, share it to your friends!" } }, _config = { lang: "zh", color: { allTime: 60, addTime: 0, lvMap: [2, 3, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9] }, pic: { isOpen: !1, allTime: 5, addTime: 0, lvMap: [2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8] } }, shareData1 = { }; ! function() { var a = _lang[_config.lang], b = $("#tpl").html(), c = _.template(b, a); $("#container").html(c) } (), function() { var a = $("#box"), b = { lv: $("#room .lv em"), time: $("#room .time"), start: $("#dialog .btn-restart"), back: $("#dialog .btn-back"), share: $("#dialog .btn-share"), pause: $("#room .btn-pause"), resume: $("#dialog .btn-resume"), dialog: $("#dialog"), d_content: $("#dialog .content"), d_pause: $("#dialog .pause"), d_gameover: $("#dialog .gameover") }, c = { init: function(a, b, c) { this.type = a, this.api = API[a], this.config = _config[a], this.reset(), this.parent = c, this.el = b, this.renderUI(), this.inited || this.initEvent(), this.inited = !0, this.start() }, renderUI: function() { var b = 90 == window.orientation || -90 == window.orientation, c = b ? window.innerHeight: window.innerWidth; c -= 20, c = Math.min(c, 500), a.width(c).height(c), this.el.show() }, initEvent: function() { var d = "ontouchstart" in document.documentElement ? "touchend": "click", e = this; $(window).resize(function() { c.renderUI() }), a.on(d, "span", function() { var a = $(this).data("type"); "a" == a && e.nextLv.call(e) }), b.pause.on(d, _.bind(this.pause, this)), b.resume.on(d, _.bind(this.resume, this)), b.start.on(d, _.bind(this.start, this)), b.back.on(d, _.bind(this.back, this)), b.share.on(d, _.bind(this.share, this)) }, start: function() { this.time > 5 && b.time.removeClass("danger"), b.dialog.hide(), this._pause = !1, this.lv = "undefined" != typeof this.lv ? this.lv + 1 : 0, this.lvMap = this.config.lvMap[this.lv] || _.last(this.config.lvMap), this.renderMap(), this.renderInfo(), this.timer || (this.timer = setInterval(_.bind(this.tick, this), 1e3)); }, share: function() {}, resume: function() { b.dialog.hide(), this._pause = !1 }, pause: function() { this._pause = !0, b.d_content.hide(), b.d_pause.show(), b.dialog.show() }, tick: function() { return this._pause ? void 0 : (this.time--, this.time < 6 && b.time.addClass("danger"), this.time < 0 ? void this.gameOver() : void b.time.text(parseInt(this.time))) }, renderMap: function() { if (!this._pause) { var b = this.lvMap * this.lvMap, c = "", d = "lv" + this.lvMap; _(b).times(function() { c += "" }), a.attr("class", d).html(c), this.api.render(this.lvMap, this.lv) } }, renderInfo: function() { b.lv.text(this.lv + 1) }, gameOver: function() { var Rankstr = ""; var d = this.api.getGameOverText(this.lv); dp_submitScore(this.lv,d.lv); this.lastLv = this.lv, this.lastGameTxt = d.txt, this.lastGamePercent = d.percent, b.d_content.hide(), b.d_gameover.show().find("h3").text(this.lastGameTxt), a.find("span").fadeOut(1500, function() { b.dialog.show() }), this._pause = !0, _hmt.push(["_trackEvent", "score", "score_" + (this.lv + 1)]), this.reset() }, reset: function() { this.time = this.config.allTime, this.lv = -1 }, nextLv: function() { this.time += this.config.addTime, b.time.text(parseInt(this.time)), this._pause || this.start() }, back: function() { this._pause = !0, this.el.hide(), b.dialog.hide(), this.parent.render() } }; window.Game = c } (), function(a) { var b = { index: $("#index"), room: $("#room"), loading: $("#loading"), dialog: $("#dialog"), play: $(".play-btn"), btn_boyaa: $(".btn-boyaa"), banner: $(".banner"), boyaa_logo: $(".boyaa-logo") }, c = window.navigator.userAgent.toLowerCase(), d = /android/i.test(c), e = /iphone|ipad|ipod/i.test(c), f = { init: function() { this.initEvent(), this.loading(), /android/i.test(c) ? (b.banner.attr("href", "").data("type", "android").find("img").attr("src", "assets/img/banner.android.jpg"), b.banner.show()) : /iphone|ipad|ipod/i.test(c) && (b.banner.attr("href", "http://wxtest.zjkso.com/").data("type", "ios").find("img").attr("src", "assets/img/banner.ios.jpg"), b.banner.show()) }, loading: function() { function a() { d++, d == c && f.render() } if (_config.pic.isOpen) for (var b = ["assets/img/1.png", "assets/img/2.png", "assets/img/3.png", "assets/img/4.png", "assets/img/5.png", "assets/img/6.png", "assets/img/7.png", "assets/img/8.png", "assets/img/9.png", "assets/img/10.png", "assets/img/11.png", "assets/img/12.png", "assets/img/13.png", "assets/img/14.png", "assets/img/15.png", "assets/img/16.png", "assets/img/17.png", "assets/img/18.png"], c = b.length, d = 0, e = 0; c > e; e++) { var g = new Image; g.onload = a, g.src = b[e] } else f.render(); var h = _lang[_config.lang]; }, render: function() { setTimeout(function() { b.loading.hide(), b.index.show() }, 1e3) }, initEvent: function() { var a = "ontouchstart" in document.documentElement ? "touchstart": "click", c = this; b.play.on(a, function() { var a = $(this).data("type") || "color"; b.index.hide(), Game.init(a, b.room, c) }), b.btn_boyaa.on(a, function() { _hmt.push(["_trackEvent", "button", "more_game"]) }), b.boyaa_logo.on(a, function() { _hmt.push(["_trackEvent", "button", "boyaa_logo"]) }), b.banner.on(a, function() { var a = $(this).data("t") || "", b = d ? "android": e ? "ios": "other_os"; _hmt.push(["_trackEvent", "banner", b + "_" + a]) }) } }; f.init(), a.API = {} } (window), function() { var a = $("#box"), b = "span", c = $("#help p"), d = $("#help_color"), e = { lvT: _lang[_config.lang].lv_txt, render: function(e, f) { this.lv = f, c.hide(), d.show(); var g = _config.color.lvMap[f] || _.last(_config.color.lvMap); this.d = 15 * Math.max(9 - g, 1), this.d = f > 20 ? 10 : this.d, this.d = f > 40 ? 8 : this.d, this.d = f > 50 ? 5 : this.d; var h = Math.floor(Math.random() * e * e), i = this.getColor(255 - this.d), j = this.getLvColor(i[0]); var size = a.find(b).height() * 0.96; a.find(b).css("background-color", i[1]).data("type", "b").css({"background": "url(img/1.png) "+j[1], "background-size": "cover"}), a.find(b).eq(h).css("background-color", i[1]).data("type", "a").css({"background": "url(img/2.png) "+j[1], "background-size": "cover"}) }, getColor: function(a) { var b = [Math.round(Math.random() * a), Math.round(Math.random() * a), Math.round(Math.random() * a)], c = "rgb(" + b.join(",") + ")"; return [b, c] }, getLvColor: function(a) { var b = this.d, c = _.map(a, function(a) { return a + b + 10 }), d = "rgb(" + c.join(",") + ")"; return [c, d] }, getGameOverText: function(a) { var b = 20 > a ? 0 : Math.ceil((a - 20) / 10), c = this.lvT[b] || _.last(this.lvT), d = "喝了"+(a + 1)+"碗红豆粥", e = a; return e = 20 > e ? 2 * a: 30 > a ? 3 * (a - 20) + 40 : 40 > a ? 1.5 * (a - 30) + 70 : 50 > a ? 1.35 * (a - 40) + 85 : 60 > a ? .05 * (a - 50) + 98.5 : 70 > a ? .02 * (a - 60) + 99 : 80 > a ? .02 * (a - 70) + 99.2 : 90 > a ? .02 * (a - 80) + 99.4 : 100 > a ? .02 * (a - 90) + 99.6 : 110 > a ? .02 * (a - 100) + 99.8 : 100, e = ("" + e).length > 5 ? e.toFixed(2) : e, { txt: d, percent: e, lv:c } } }; API.color = e } ();