www.gusucode.com > 一起寻找蔡依林游戏微信朋友圈小游戏源码程序 > 一起寻找蔡依林游戏微信朋友圈小游戏源码程序/jolin/main.min.js

    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: "在众多<span style='font-size:240%'>凤姐</span>中找到唯一的<span style='font-size:240%'>蔡依林</span>",
		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 += "<span></span>"
				}),
				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
} ();