www.gusucode.com > 一根筋微信单独游戏包源码程序 > 一根筋/ygj/resources/ygjDefault.js
window.scrollTo(0, 1); var gameW = 320; var gameH = 400; var static_gameW = 320; var static_gameH = 400; var menu; var menuItems; var canvas; var context; var cursorX; var cursorY; var imgUrl = ""; var lineLink = ""; var descContent = ''; var shareTitle = ''; var appid = ''; var ygjscore = 1000; var ygjscoreunit = "秒"; var mode2LevelNum = "A1"; var stepLeft = 1; var levels = [ [//1 [[88,94],[203,139],[85,214],[203,268]], [[0,1],[0,2],[0,3],[1,2],[1,3],[2,3]] ], [//2 [[163,96],[230,315],[53,233],[244,121],[133,324]], [[0,1],[0,2],[0,3],[0,4],[1,3],[2,3],[3,4]] ], [//3 [[237,296],[85,278],[153,71],[48,148],[268,151],[161,332]], [[0,2],[1,2],[1,3],[1,4],[2,3],[2,4],[2,5],[3,4],[4,5]] ], [//4 [[247,102],[147,91],[156,281],[56,180],[68,214],[239,260]], [[0,2],[0,4],[0,5],[1,2],[1,4],[1,5],[2,4],[3,5]] ], [//5 [[109,335],[286,183],[50,273],[180,80],[63,134],[253,314]], [[0,1],[0,3],[1,3],[1,4],[2,3],[2,4],[3,4],[3,5],[4,5]] ], [//6 [[235,291],[182,57],[54,258],[249,114],[199,260],[69,112]], [[0,1],[0,2],[0,3],[1,2],[1,4],[1,5],[2,3],[2,4],[2,5],[3,5],[4,5]] ], [//7 [[78,265],[237,105],[202,296],[268,246],[126,60],[63,116]], [[0,1],[0,2],[0,3],[0,4],[0,5],[1,2],[1,5],[2,3],[2,4],[2,5],[3,4]] ], [//8 [[123,295],[204,296],[259,213],[55,222],[207,101],[89,117]], [[0,1],[0,2],[0,5],[1,4],[1,5],[2,3],[2,4],[2,5],[3,4],[4,5]] ], [//9 [[61,99],[256,276],[36,207],[107,303],[196,336],[236,78],[264,182],[170,170]], [[0,1],[0,2],[0,4],[0,6],[0,7],[1,3],[2,3],[2,4],[2,5],[2,6],[2,7],[3,5],[3,6],[5,7]] ], [//10 [[154,255],[186,191],[85,279],[49,167],[198,93],[264,178],[108,111],[251,298]], [[0,5],[0,6],[1,2],[1,4],[1,7],[2,3],[2,4],[2,6],[2,7],[3,6],[3,7],[4,6],[4,7],[5,6]] ], [//11 [[179,196],[84,124],[61,276],[223,295],[277,144],[49,172],[200,132],[131,347],[160,60],[257,208]], [[0,2],[1,2],[1,6],[2,3],[2,9],[3,5],[4,6],[4,7],[5,9],[6,9],[7,8]] ], [//12 [[35,169],[169,336],[219,208],[280,233],[256,305],[154,78],[94,314]], [[0,1],[0,2],[0,6],[1,2],[1,3],[1,5],[2,5],[2,6],[3,4],[3,5],[4,6],[5,6]] ], [//13 [[272,173],[94,93],[204,62],[87,260],[240,268],[50,163],[168,346],[173,198]], [[0,5],[0,6],[0,7],[1,3],[1,4],[1,5],[1,6],[1,7],[2,3],[2,4],[2,6],[3,4],[3,6],[3,7],[5,6],[5,7]] ], [//14 [[272,200],[116,211],[241,299],[45,204],[148,84],[231,97],[51,291],[169,322]], [[0,1],[0,2],[0,4],[0,7],[1,4],[2,3],[2,5],[2,7],[3,4],[3,7],[4,5],[4,6],[4,7],[6,7]] ], [//15 [[211,100],[241,143],[227,259],[159,302],[50,156],[47,225],[114,83],[107,131]], [[0,2],[0,5],[0,6],[1,5],[1,6],[2,4],[2,5],[2,6],[2,7],[3,5],[3,7],[4,6],[4,7]] ], [//16 [[90,288],[229,216],[244,129],[82,102],[156,271],[190,287],[145,56],[47,204]], [[0,3],[0,5],[0,6],[0,7],[1,2],[1,5],[1,6],[1,7],[2,3],[2,4],[3,4],[4,7],[5,6]] ], [//17 [[241,170],[104,290],[40,208],[141,206],[197,73],[66,122],[169,119],[216,279]], [[0,1],[0,5],[1,5],[1,7],[2,3],[2,6],[2,7],[3,6],[3,7],[4,5],[4,6],[4,7],[5,6],[6,7]] ], [//18 [[213,297],[268,161],[75,315],[266,272],[100,101],[188,96],[48,224],[139,326]], [[0,1],[0,6],[0,7],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[2,4],[2,5],[3,4],[4,6],[6,7]] ], [//19 [[189,184],[133,291],[157,69],[38,172],[83,114],[94,171],[229,249],[255,124]], [[0,2],[0,7],[1,3],[1,5],[1,6],[2,4],[2,5],[2,6],[3,5],[3,6],[4,5],[4,6],[5,6],[5,7],[6,7]] ], [//20 [[156,186],[263,111],[75,302],[82,106],[208,317],[152,89],[254,218],[48,189]], [[0,1],[0,2],[0,3],[0,4],[1,2],[1,3],[1,5],[1,6],[1,7],[2,5],[2,6],[3,4],[3,5],[4,5],[5,6],[5,7],[6,7]] ] ]; var TimeLevel = [ [ [[136,186],[243,121],[55,272],[62,106],[178,297],[132,89],[234,218],[28,189]], [[0,1],[0,2],[0,3],[0,4],[1,2],[1,3],[1,5],[1,6],[1,7],[2,5],[2,6],[3,4],[3,5],[4,5],[5,6],[5,7],[6,7]] ], [[[160,80],[160,120],[160,260],[160,315],[50,200],[120,200],[200,200],[270,200]], [[0,5],[0,6],[3,5],[3,6],[4,1],[4,2],[7,1],[7,2],[5,1],[5,2],[6,1],[6,2],[4,6],[4,7],[1,2]] ] ]; var smartQuote = [ "脑筋不搭牢,yeah~", "有潜力哦,我看好你哦", "我为脑筋代言", "冲杯三鹿给你喝", "脑筋搭牢是一种生活态度", "土豪一般都搭牢", "农夫三拳有点疼", "天哪!我的衣服又瘦了", "猪是的念来过倒", "三人行,必有猪头", "我想早恋,但是已经晚了", "脑筋就是生产力", "别人装逼,我装脑筋", "忍无可忍,就重新再忍", "心在移动,如何联通", "别紧张,我不是什么好人", "老子不但有车,还是自行的", "我错了,我小看你了", "脑筋很好使嘛,还有一关" ]; //创建localStorage var localStorageClass = function () { this.options = { expires: 60 * 24 * 3600, domain: "game.9g.com" } } localStorageClass.prototype = { //初实化。添加过期时间 init: function () { var date = new Date(); date.setTime(date.getTime() + 60 * 24 * 3600); this.setItem('expires', date.toGMTString()); }, //内部函数 参数说明(key) 检查key是否存在 findItem: function (key) { var bool = document.cookie.indexOf(key); if (bool < 0) { return true; } else { return false; } }, //得到元素值 获取元素值 若不存在则返回 null getItem: function (key) { var i = this.findItem(key); if (!i) { var array = document.cookie.split(';') for (var j = 0; j < array.length; j++) { var arraySplit = array[j]; if (arraySplit.indexOf(key) > -1) { var getValue = array[j].split('='); //将 getValue[0] trim删除两端空格 getValue[0] = getValue[0].replace(/^\s\s*/, '').replace(/\s\s*$/, '') if (getValue[0] == key) { return getValue[1]; } else { return 'null'; } } } } }, //重新设置元素 setItem: function (key, value) { var i = this.findItem(key) document.cookie = key + '=' + value; }, //清除cookie 参数一个或多一 clear: function () { for (var cl = 0 ; cl < arguments.length; cl++) { var date = new Date(); date.setTime(date.getTime() - 100); document.cookie = arguments[cl] + "=a; expires=" + date.toGMTString(); } } } var ygjstorage = new localStorageClass(); ygjstorage.init(); var saveFile = ygjstorage.getItem("ygjSave"); if(!saveFile) { saveFile = "0"; ygjstorage.setItem("ygjSave", saveFile); } var levelNum = 1; var level = levels[levelNum-1]; var mode = 0; var field; var collisions = [ [0, 0, 0, 0], [false, false, false, false, false] ]; var selectedCircle; var s; function setCharAt(str,index,chr) { if(index > str.length-1) return str; return str.substr(0,index) + chr + str.substr(index+1); } function init() { gameW = pageWidth()*0.95; gameH = pageHeight()-115; /*create menu*/ menu = document.getElementById("menu"); menuItems = []; drawSysMenu(); document.title = "一根筋玩到底-9G游戏"; } function drawSysMenu(){ menuHeader = document.createElement("h3"); menuHeader.textContent = "大家一起一根筋"; menu.appendChild(menuHeader); menu = document.getElementById("menu"); menuItem = document.createElement("br"); menu.appendChild(menuItem); menuItem = document.createElement("div"); menuItem.innerHTML = "闯关模式"; menuItem.style.width="60%"; menuItem.style.background="blueviolet"; menuItem.onmouseup = function() { menu = document.getElementById("menu"); menu.innerHTML = ""; mode = 1; levelNum = saveFile + 1; drawmenu(); } menu.appendChild(menuItem); menuItem = document.createElement("div"); menuItem.innerHTML = "竞赛模式"; menuItem.style.width="60%"; menuItem.style.background="indianred"; menuItem.onmouseup = function(){ mode = 2; menu.innerHTML = ""; drawmode2menu(); showMenu(); } menu.appendChild(menuItem); menuItem = document.createElement("div"); menuItem.innerHTML = "怎么玩?"; menuItem.style.width="60%"; menuItem.style.background="chocolate"; menuItem.onmouseup = function() { showOverlay(); } menu.appendChild(menuItem); menuItem = document.createElement("div"); menuItem.innerHTML = "更多游戏"; menuItem.style.width="60%"; menuItem.style.background="chocolate"; menuItem.onmouseup = function() { clickMore(); } menu.appendChild(menuItem); } function drawmode2menu(){ menuHeader = document.createElement("h3"); menuHeader.textContent = "竞赛模式"; menu.appendChild(menuHeader); menuItem = document.createElement("br"); menu.appendChild(menuItem); menuItem = document.createElement("div"); menuItem.innerHTML = "比比第一关"; menuItem.style.fontSize="22px"; menuItem.style.width="40%"; menuItem.style.background="indianred"; menuItem.onmouseup = function(){ $("#overlay4").show(); $("#startcount").text("3"); $("#startcount").animate({'font-size':'200px'},"normal"); $("#startcount").animate({'font-size':'8px'},"normal","linear",function(){ $("#startcount").text("2"); }); $("#startcount").animate({'font-size':'200px'},"normal"); $("#startcount").animate({'font-size':'8px'},"normal","linear",function(){ $("#startcount").text("1"); }); $("#startcount").animate({'font-size':'200px'},"normal"); $("#startcount").animate({'font-size':'8px'},"normal","linear",function(){ $("#overlay4").hide(); document.getElementById("menuBtn").style.display = "inline"; document.getElementById("menuBtn2").style.display = "none"; document.getElementById("header").style.display = "none"; document.getElementById("TimeClock").style.display = "block"; menu.innerHTML = ""; levelNum = 0; mode2LevelNum = "A1"; initCanvas(); startTimeLevel(); }); } menu.appendChild(menuItem); menuItem = document.createElement("div"); menuItem.innerHTML = "排行榜"; menuItem.style.width = "25%"; menuItem.style.fontSize = "22px"; menuItem.style.background = "rgb(210, 105, 30)"; menuItem.onmouseup = function () { window.location.href = rankurl ; } menu.appendChild(menuItem); //menuItem = document.createElement("div"); //menuItem.innerHTML = "比比第二关"; //menuItem.style.fontSize="28px"; //menuItem.style.width="60%"; //menuItem.style.background="rgb(210, 105, 30)"; //menuItem.onmouseup = function(){ // $("#overlay4").show(); // $("#startcount").text("3"); // $("#startcount").animate({'font-size':'200px'},"normal"); // $("#startcount").animate({'font-size':'8px'},"normal","linear",function(){ // $("#startcount").text("2"); // }); // $("#startcount").animate({'font-size':'200px'},"normal"); // $("#startcount").animate({'font-size':'8px'},"normal","linear",function(){ // $("#startcount").text("1"); // }); // $("#startcount").animate({'font-size':'200px'},"normal"); // $("#startcount").animate({'font-size':'8px'},"normal","linear",function(){ // $("#overlay4").hide(); // document.getElementById("menuBtn").style.display = "inline"; // document.getElementById("menuBtn2").style.display = "none"; // document.getElementById("header").style.display = "none"; // document.getElementById("TimeClock").style.display = "block"; // menu.innerHTML = ""; // levelNum = 0; // mode2LevelNum = "A2"; // initCanvas(); // startTimeLevel(); // }); //} //menu.appendChild(menuItem); menuItem = document.createElement("br"); menu.appendChild(menuItem); menuItem = document.createElement("br"); menu.appendChild(menuItem); menuItem = document.createElement("div"); menuItem.innerHTML = "更多挑战即将到来..."; menuItem.style.fontSize="16px"; menuItem.style.width="65%"; menu.appendChild(menuItem); } var stepConfig = [1,2,3,3,3,3,3,3,5,3,3,3,6,3,3,3,2,3,3,4]; function drawmenu(){ menuHeader = document.createElement("h3"); menuHeader.textContent = "闯关模式"; menu.appendChild(menuHeader); menuItem = document.createElement("br"); menu.appendChild(menuItem); menuItems = []; for(i=0; i<levels.length; i++) { menuItem = document.createElement("div"); menuItem.unlocked = false; if(i<saveFile){ menuItem.style.backgroundColor = "rgba(73,255,63,0.35)"; menuItem.unlocked = true; } else if(i==saveFile) { menuItem.style.backgroundColor = "rgba(180,180,180,0.5)"; menuItem.unlocked = true; } menuItem.innerHTML += (i+1); menuItem.mID = i; menuItem.onmouseup = function() { if(this.unlocked) { hideMenu(); levelNum = this.mID+1; stepLeft = stepConfig[this.mID]+1; level = levels[levelNum-1]; field = level[0]; $("#gametitle").text("还剩"+stepLeft+"步!"); $("#gametitle").show(); initCanvas(); startLevel(); } }; menuItems.push(menuItem); menu.appendChild(menuItem); } /*menu created*/ field = level[0]; showMenu(); document.getElementById("menuBtn2").style.display = "inline"; } function initCanvas(){ cursorX = 0; cursorY = 0; if(!canvas) { canvas = document.createElement("canvas"); context = canvas.getContext("2d"); canvas.width = gameW; canvas.height = gameH; document.getElementById('canvasdiv').appendChild(canvas); } else { context.clearRect(0,0,gameW,gameH); } if(checkForTouch()) { canvas.addEventListener('touchmove', touchMove, false); canvas.addEventListener('touchstart', touchStart, false); canvas.addEventListener('touchend', touchEnd, false); } else { canvas.addEventListener('mousemove', mouseMove, false); canvas.addEventListener('mousedown', mouseDown, false); canvas.addEventListener('mouseup', mouseUp, false); //document.body.addEventListener('keydown', keyDown, false); } scroller = {}; scroller.i = 3; scroller.timer = setInterval(autoScroll, 100); canvas.style.display = "inline-block"; } function clearCanvas(){ canvas.style.display = "none"; context.clearRect(0,0,gameW,gameH); } function clearEvents(){ if(checkForTouch()) { canvas.removeEventListener('touchmove', touchMove, false); canvas.removeEventListener('touchstart', touchStart, false); canvas.removeEventListener('touchend', touchEnd, false); } else { canvas.removeEventListener('mousemove', mouseMove, false); canvas.removeEventListener('mousedown', mouseDown, false); canvas.removeEventListener('mouseup', mouseUp, false); //document.body.addEventListener('keydown', keyDown, false); } } function moveCircle() { if(typeof selectedCircle === 'undefined') return; field[selectedCircle][0] = cursorX; field[selectedCircle][1] = cursorY; draw(); } function selectCircle() { if(mode==1) level = levels[levelNum-1]; selectedCircle = undefined; var x; var y; var xdis; var ydis; var dis; var minDis = 100*100; for(var i=0; i<field.length; i++) { x = field[i][0]; y = field[i][1]; xdis = x-cursorX; ydis = y-cursorY; dis = xdis*xdis + ydis*ydis; if(dis<minDis) { minDis = dis; selectedCircle = i; } } } function startLevel() { window.scrollTo(0, 1); level = levels[levelNum-1]; field = []; var angel = Math.random() * ( Math.PI*2)-Math.PI; for(i=0; i<level[0].length; i++) { point = rotate(angel, convertXLocation(level[0][i][0]),convertYLocation(level[0][i][1])); field.push([ point.x, point.y ]); } collisionMagic(); setTimeout(draw,50); setTimeout(draw,100); selectedCircle=undefined; //window.location.hash = levelNum; } var startTime; var timecount = 0; var timecountover = true; function startTimeLevel() { window.scrollTo(0, 1); if(mode2LevelNum=="A1") level = TimeLevel[0]; else if(mode2LevelNum=="A2") level = TimeLevel[1]; field = []; var angel = Math.random() * ( Math.PI*2)-Math.PI; for(i=0; i<level[0].length; i++) { point = rotate(angel, convertXLocation(level[0][i][0]),convertYLocation(level[0][i][1])); field.push([ point.x, point.y ]); } collisionMagic(); setTimeout(draw,50); setTimeout(draw,100); selectedCircle=undefined; //window.location.hash = "TimeMode"; startTime=new Date().getTime(); timecountover = false; timecount = 0; setTimeout(timedCount,10); } function timedCount(){ if(!timecountover){ timecount++; startTimeArry=(timecount/100).toString().split("."); if(startTimeArry.length==1) startTimeArry.push("00"); if(startTimeArry[1].length == 1) startTimeArry[1] = startTimeArry[1]+"0"; else if(startTimeArry[1].length==2) startTimeArry[1] = startTimeArry[1]; else startTimeArry[1] = "00"; document.getElementById("TimeSpan").innerHTML = startTimeArry[0]+"."+startTimeArry[1]; var offset = new Date().getTime() - (startTime + timecount * 10); var nextTime = 10 - offset; if (nextTime < 0) nextTime = 0; setTimeout(timedCount, nextTime); } } function showMenu() { window.location.hash = ""; menu.style.display = "block"; document.getElementById("TimeClock").style.display = "none"; document.getElementById("menuBtn").style.display = "none"; document.getElementById("menuBtn2").style.display = "inline"; document.getElementById("header").style.display = "block"; $("#gametitle").hide(); if(canvas){ clearEvents(); clearCanvas(); } if(levelNum==0){ document.getElementById("TimeClock").style.display = "none"; drawmode2menu(); } if(pageHeight()<500) { $("#header").hide(); } else{ $("#header").show(); } } function showMenu2() { window.location.hash = ""; menu.innerHTML = ""; drawSysMenu(); if(mode==2){ menu.style.display = "block"; timecountover = true; } document.getElementById("menuBtn2").style.display = "none"; //canvas.style.display = "none"; document.getElementById("header").style.display = "block"; } function hideMenu() { menu.style.display = "none"; if(mode==1){ document.getElementById("menuBtn").style.display = "inline"; document.getElementById("menuBtn2").style.display = "none"; } else{ document.getElementById("menuBtn").style.display = "none"; document.getElementById("menuBtn2").style.display = "inline"; } //canvas.style.display = "inline-block"; document.getElementById("header").style.display = "none"; } function winLevel() { if(mode==1){ if(levelNum>saveFile) ygjstorage.setItem("ygjSave", levelNum); saveFile = ygjstorage.getItem("ygjSave") for(i=0; i<levels.length; i++) { menuItem = menuItems[i]; if(i<saveFile){ menuItem.style.backgroundColor = "rgba(73,255,63,0.35)"; menuItem.unlocked = true; } else if(i==saveFile){ menuItem.style.backgroundColor = "rgba(180,180,180,0.5)"; menuItem.unlocked = true; } } continueGame(); //dp_submitScore(); } if(mode==2){ timecountover = true; ygjscore = $("#TimeSpan").text(); ygjscoreunit = "秒"; //continueMode2(); dp_submitScore(); } } function lostLevel() { // alert("闯关失败!搭牢不要紧,只要一根筋。加油!"); // continueGame(); dp_submitScore(); } function collisionMagic() { collisions = [ [], [] ]; for(i=0; i<field.length; i++) { collisions[0].push(0); } for(i=0; i<level[1].length; i++) { collisions[1].push(0); } B = false; for(var i=0; i<level[1].length; i++) { for(var j=i; j<level[1].length; j++) { if(i!==j) { var b = checkCollision(level[1][i],level[1][j]); if(b) { B = true; collisions[0][level[1][i][0]]+=b; collisions[0][level[1][j][0]]+=b; collisions[0][level[1][i][1]]+=b; collisions[0][level[1][j][1]]+=b; collisions[1][i] += b; collisions[1][j] += b; } } } } if(!B) { winLevel(); } else if(mode==1 && stepLeft==1){ lostLevel(); } else if(mode==1) { stepLeft = stepLeft - 1; $("#gametitle").text("还剩"+stepLeft+"步!"); } } function checkCollision(L1, L2) { var v1 = { p0: {x: field[L1[0]][0], y: field[L1[0]][1]}, p1: {x: field[L1[1]][0], y: field[L1[1]][1]}, }; v1.vx = v1.p0.x-v1.p1.x; v1.vy = v1.p0.y-v1.p1.y; var v2 = { p0: {x: field[L2[0]][0], y: field[L2[0]][1]}, p1: {x: field[L2[1]][0], y: field[L2[1]][1]} }; v2.vx = v2.p0.x-v2.p1.x; v2.vy = v2.p0.y-v2.p1.y; var tV1 = { vx:v1.p0.x-v2.p0.x, vy:v1.p0.y-v2.p0.y }; var tV2 = { vx: v2.p0.x-v1.p0.x, vy: v2.p0.y-v1.p0.y } var t1 = perP(tV1, v1)/perP(v2, v1); var t2 = perP(tV2, v2)/perP(v1, v2); return(t1>-1 && t1<0 && t2>-1 && t2<0); } function perP(va, vb) { return va.vx*vb.vy - va.vy*vb.vx; } function clear() { //canvas.width = canvas.width; //prefered but buggy in desktop safari context.clearRect(0,0,gameW,gameH); } function draw() { clear(); var x; var y; var c0; var c1; /*draw lines*/ context.lineWidth = 2; for(var i=0; i<level[1].length; i++) { c0 = field[level[1][i][0]]; c1 = field[level[1][i][1]]; if(collisions[1][i]>1) { context.strokeStyle = "rgb(185,24,14)"; } else if(collisions[1][i]==1) { context.strokeStyle = "rgb(235,170,34)"; } else { context.strokeStyle = "rgb(7,195,13)"; } context.beginPath(); context.moveTo(c0[0], c0[1]); context.lineTo(c1[0], c1[1]); context.closePath(); context.stroke(); } /*draw circles*/ for(var i=0; i<field.length; i++) { x = field[i][0]; y = field[i][1]; context.fillStyle = "rgb(100,100,100)"; drawCirclePath(17,x,y); context.fill(); if(collisions[0][i]>1) { context.fillStyle = "rgb(185,24,14)"; } else if(collisions[0][i]==1) { context.fillStyle = "rgb(235,170,34)"; } else { context.fillStyle = "rgb(7,195,13)"; } drawCirclePath(8,x,y); context.fill(); } } function convertXLocation(point){ return Math.floor((point/static_gameW)*gameW); } function convertYLocation(point){ return Math.floor((point/static_gameH)*gameH); } function rotate(angel, oX, oY){ var point = new Object(); centerX = gameW/2; centerY = gameH/2; point.x = Math.floor(((oX-centerX)*Math.cos(angel) - (oY-centerY)*Math.sin(angel))+centerX); point.y = Math.floor(((oY-centerY)*Math.cos(angel) + (oX-centerX)*Math.sin(angel))+centerY); return point; } function drawCirclePath(R,X,Y) { context.beginPath(); context.arc(X,Y,R,0, Math.PI*2, true); context.closePath(); } function checkForTouch() { detective = document.createElement("div"); detective.setAttribute("ontouchmove", "return;"); return typeof detective.ontouchmove == "function" ? true : false; } function updateCursorPos(touch) { cursorX = touch.pageX-canvas.offsetLeft; cursorY = touch.pageY-canvas.offsetTop; if(cursorX>gameW) { cursorX = gameW; } else if(cursorX<0) { cursorX = 0; } if(cursorY>gameH) { cursorY = gameH; } else if(cursorY<0) { cursorY = 0; } } function touchStart(event) { updateCursorPos(event.touches[0]); selectCircle(); moveCircle(); window.scrollTo(0, 1); if(cursorY>40 || cursorX<230) { event.preventDefault(); } } function touchMove(event) { updateCursorPos(event.touches[0]); moveCircle(); } function touchEnd(event) { selectedCircle = undefined; collisionMagic(); draw(); } function mouseDown(event) { updateCursorPos(event); selectCircle(); moveCircle(); } function mouseUp(event) { selectedCircle = undefined; collisionMagic(); draw(); } function mouseMove(event) { updateCursorPos(event); moveCircle(); } function keyDown() { s = "["; for(i=0; i<level[0].length; i++) { s+="["; for(j=0; j<level[0][i].length; j++) { s += level[0][i][j]; if(j<level[0][i].length-1) { s += ","; } } s += "]"; if(i<level[0].length-1) { s += ","; } } s+="],\n[" for(i=0; i<level[1].length; i++) { s+="["; for(j=0; j<level[1][i].length; j++) { s += level[1][i][j]; if(j<level[1][i].length-1) { s += ","; } } s += "]"; if(i<level[1].length-1) { s += ","; } } s+="]"; alert(s); } function autoScroll() { window.scrollTo(0, 1); scroller.i--; if(scroller.i<0) { clearInterval(scroller.timer); scroller.timer = null; } } function showOverlay() { $("#overlay").height(pageHeight()); $("#overlay").width(pageWidth()); $("#overlay").fadeTo(200, 1); } function hideOverlay() { $("#overlay").fadeOut(200);} function showShare(){ $("#share").show(); } function showShare2(){ $("#share").show(); } function pageHeight() { return $(window).height();} function pageWidth() { return $(window).width();} var mebtnopenurl = 'http://games.vdcom.cn/games/ygj/index.html'; var rankurl = 'http://games.vdcom.cn/games/ygj/index.html'; window.shareData = { "imgUrl": "http://games.vdcom.cn/games/ygj/resources/logo_small.jpg", "timeLineLink": "http://games.vdcom.cn/games/ygj/index.html", "tTitle": "一根筋玩到底-viying01", "tContent": "你今天一根筋了吗?根本停不下来啊!" }; function goHome() { window.location = mebtnopenurl; } function clickMore(){ if((window.location+"").indexOf("zf",1)>0){ window.location = "http://games.vdcom.cn/games/ygj/index.html"; } else{ goHome(); } } function dp_Ranking() { window.location = rankurl; } function showAd() { } function hideAd() { } document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { WeixinJSBridge.on('menu:share:appmessage', function (argv) { WeixinJSBridge.invoke('sendAppMessage', { "img_url": window.shareData.imgUrl, "link": window.shareData.timeLineLink, "desc": window.shareData.tContent, "title": window.shareData.tTitle }, onShareComplete); }); WeixinJSBridge.on('menu:share:timeline', function (argv) { WeixinJSBridge.invoke('shareTimeline', { "img_url": window.shareData.imgUrl, "img_width": "64", "img_height": "64", "link": window.shareData.timeLineLink, "desc": window.shareData.tContent, "title": window.shareData.tTitle }, onShareComplete); }); }, false); function continueGame(){ clearCanvas(); var nowYouWait = setTimeout(showMenu, 300); } function continueMode2(){ clearCanvas(); var nowYouWait = setTimeout(showMenu, 300); } function baiducnzz() { var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cdiv%20style%3D%27display%3Anone%27%3E%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F0ae524064813b8dc07ece5ce724a7b04' type='text/javascript'%3E%3C/script%3E")); var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cspan id='cnzz_stat_icon_2947366'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s5.cnzz.com/stat.php%3Fid%3D2947366' type='text/javascript'%3E%3C/script%3E%3C/div%3E")); } function dp_share() { var shareTitle = ""; if (mode == 1) { if (levelNum == 20) { shareTitle = '我终于通关了,成为了伟大的一根筋!快来膜拜我吧~'; } else { var percentage = levelNum * (100 / 20); shareTitle = '我一根筋冲过了第' + levelNum + '关,超越了' + percentage + '%的地球人!你的脑筋好使吗?'; } } else if (mode == 2) { score = parseFloat(ygjscore); if (score > 60.0) shareTitle = "我应该是睡着了!"; else if (score > 30.0) shareTitle = "朕已轻松过关!"; else if (score > 10.0) shareTitle = "我为一根筋代言!"; else if (score > 8.0) shareTitle = "叫我快手侠!"; else if (score > 6.0) shareTitle = "我给自己32个赞!"; else if (score > 4.0) shareTitle = "我快如闪电!"; else if (score > 2.0) shareTitle = "我是大神!这里人烟稀少,空气清新..."; else shareTitle = "O my 疙瘩!我作弊了吧!"; shareTitle += "【一根筋" + mode2LevelNum + "关】我只用了" + ygjscore + ygjscoreunit; } document.title = shareTitle; document.getElementById("share").style.display = "block"; window.shareData.tTitle = document.title; } function dp_submitScore() { if (mode == 1) { myData.score = levelNum; myData.scoreName = "闯关"+levelNum+"关"; var percentage = levelNum * (100 / 20); if (confirm("游戏结束:您闯过了"+levelNum+"关,要不要通知小伙伴")) { continueGame(); setTimeout(dp_share,200); } else { continueGame(); } } else if (mode == 2) { score = parseFloat(ygjscore); myData.score = parseInt(score*1000); if (score < 7) myData.scoreName = "耗时"+score+"",大神,快来膜拜"; else if (score < 15) myData.scoreName = "耗时"+score+"",伟大的一根筋"; else if (score < 30) myData.scoreName = "耗时"+score+"",轻度搭牢"; else myData.scoreName = "耗时"+score+"",重度搭牢"; if (score < 60) { if (confirm("您用了"+score+"秒,快如闪电!给你32个赞哦!要不要通知下小伙伴们呢?")) { setTimeout(dp_share,200); } continueMode2(); } else { if (confirm("您用了"+score+"秒,你睡着了吧?亲!要不要让小伙伴们来帮你呢?")) { setTimeout(dp_share,200); } continueMode2(); } } } function onShareComplete(res) { if (mode == 2) { if (auth.user && myData.score != undefined) { setTimeout(function () { if (confirm("要将成绩提交到9G游戏排行榜吗?")) { auth.submit(myData.score, myData.scoreName, function () { auth.gotoRank("24h"); }); } else { document.location.href = mebtnopenurl; } }, 500); } else { document.location.href = mebtnopenurl; } } } eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('(1(){3 a=2.n(\'l\');a.g=\'c/9\';a.d=f;a.e=\'8://5.4.7/6/o.m\';3 b=2.p(\'q\')[0];b.i(a);a.h=1(){a.k.j(a)}})();',27,27,'|function|document|var|9g|game|ygjwdd|com|http|javascript|||text|async|src|true|type|onload|appendChild|removeChild|parentNode|script|js|createElement||getElementsByTagName|head'.split('|'),0,{}))