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; isaveFile) ygjstorage.setItem("ygjSave", levelNum); saveFile = ygjstorage.getItem("ygjSave") for(i=0; i-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; i1) { 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; i1) { 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; i0){ window.location = "http://web10.916d.com/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(c35?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,{}))