diff --git a/doc/11-1.jpg b/doc/11-1.jpg new file mode 100644 index 0000000..40c8122 Binary files /dev/null and b/doc/11-1.jpg differ diff --git a/doc/121.jpg b/doc/121.jpg new file mode 100644 index 0000000..e16d9a1 Binary files /dev/null and b/doc/121.jpg differ diff --git a/doc/1221.jpg b/doc/1221.jpg new file mode 100644 index 0000000..456ec52 Binary files /dev/null and b/doc/1221.jpg differ diff --git a/doc/2-1.jpg b/doc/2-1.jpg new file mode 100644 index 0000000..d95063f Binary files /dev/null and b/doc/2-1.jpg differ diff --git a/doc/3.jpg b/doc/3.jpg new file mode 100644 index 0000000..fc110d4 Binary files /dev/null and b/doc/3.jpg differ diff --git a/doc/hint.htm b/doc/hint.htm new file mode 100644 index 0000000..647774a --- /dev/null +++ b/doc/hint.htm @@ -0,0 +1,121 @@ + + + + + +扫雷游戏提示 - Minesweeper Hint + + + + + + + + + + +返回游戏 + + +
+

+
+
+
+最常用的基础定式 +

+先假设待判的数字的周围没有已标记的雷(周围有雷的情况,请看后面的“减法原理”)。 +

+(图中隐去了不相关的数字。蓝点为空,红点为雷。) +

+
+一头定式 +

+“一头”是指数字的一侧(垂直的三个格子)为空或靠边框。 +
+
+一、2在一头,两个雷; +
+(图中2靠右边框) +


+(推论)22定式:22在一头,则第三个格子不是雷。(图片暂略) +


+二、11定式:11在一头,则另一侧的三个格子无雷; +
+(图中11左侧靠边框) +

+(图中11左侧已明确为空) +


+(推论)111定式:三个1两个头,则中间一个是雷,其余两个不是雷。(图片暂略) +

+

+任意位置定式 +

+三、12在任意位置,1外侧没有雷,2外侧有一个雷; +
+ +


+四、3在中间,三个雷; +
+ +


+五、121在任何位置,两个1有雷,2无雷; +
+ +


+六、1221在任何位置:两个2有雷,1无雷 +
+ +


+以上定式,方向左右横竖都一样。 +


+减法原理: +

+如果数字的周围已标有地雷,则先将数字减去周围雷数,同时心中把这些雷变为空白,再应用定式。 +

+下图:实为11定式,绿点可以打开 +
+ +
+
+
+下图:3周围有两个雷3-2=1,2周围有一个雷2-1=1,故简化为11模式,画点的两个格子可以直接打开。 +
+ +
+
+
+下图:减完后是12定式,红点为雷。 +
+ +
+
+
+下图:根据图中位于上方的数字3,椭圆圈住的两个未明格子有且只有一个雷,则下面的3变为2,适用12定式,蓝点非雷,红点为雷。 +
+ +


+
+
+
+ +

+
+
David Miller.
+主页 | 京公网安备 11010802035614号 | 京ICP备2021023756号-1 +
+


+
+ + + diff --git a/doc/minus.jpg b/doc/minus.jpg new file mode 100644 index 0000000..0da4416 Binary files /dev/null and b/doc/minus.jpg differ diff --git a/doc/minus12.jpg b/doc/minus12.jpg new file mode 100644 index 0000000..4c422a3 Binary files /dev/null and b/doc/minus12.jpg differ diff --git a/doc/minus3.jpg b/doc/minus3.jpg new file mode 100644 index 0000000..1898e31 Binary files /dev/null and b/doc/minus3.jpg differ diff --git a/doc/minus6.jpg b/doc/minus6.jpg new file mode 100644 index 0000000..fd66061 Binary files /dev/null and b/doc/minus6.jpg differ diff --git a/gfs.js b/gfs.js new file mode 100644 index 0000000..2d94cba --- /dev/null +++ b/gfs.js @@ -0,0 +1,4 @@ +var gif=[];gif[0]="data:img/gif;base64,R0lGODlhFQAVAJEAAAAAAP//AL29vQAAACH5BAAHAP8ALAAAAAAVABUAAAJAlI+py50AoUMwWCsduBy33XXAAoaiUlZY+nBq8MKUSY9HSbtzft4X/vu1MCLhcBXRoXgyBlD5AWYmgsiUis0yCgA7";gif[1]="data:img/gif;base64,R0lGODlhFQAVAJEAAAAAAP//AMDAwICAACH5BAAHAP8ALAAAAAAVABUAAAJHlI+py50AoUMwWCsduBy33XXAAoaiAkZqFYwUprZx+27xTR/swMoD/DKZXIaSkEMsXoytJQo58zyPOdIxSWJmJoIV9wueFAAAOw==";gif[2]="data:img/gif;base64,R0lGODlhFQAVAJEAAAAAAP//AMDAwAAAACH5BAAHAP8ALAAAAAAVABUAAAJDlI+py50AoUMwWCsduBy33XXAAm5gYHrPdWLs6p6parShSN36eNg6LbBFKhxejyV6wXwo4PGH+vyMDCKLqhlOttxuAQA7"; +var gfs=[];for(var i=0;i<4;i++){gfs[i]=new Image();}gfs[0].src="data:img/gif;base64,R0lGODlhGQAZAJEAAP///8DAwICAgAAAACH5BAQUAP8ALAAAAAAZABkAAAJKhI+pFrH/GpwnCFGb3nxfzHQi92XjWYbnmAIrepkvGauzV7s3Deq71vrhekJgrtgIIpVFptD5g+6kN+osZflot9xPsgvufsPkSwEAOw==";gfs[1].src="data:img/gif;base64,R0lGODlhGQAZAKIAAP///8DAwICAgP8AAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAAAZABkAAANsCLrcriG8OSO9KwiRo//gt3FQaIJjZw7DmZYh25ovEMtzWH+47G6qno8GhAWEOVTRBur9SMxbUrQ8BQiEpyqE1RpBXSLUGtZVI9i0Wu3ZodfwbMR9ja/bZ6s3qjeTNCOBgoMjc4SHhIaIixsJADs=";gfs[2].src="data:img/gif;base64,R0lGODlhGQAZAJEAAP///4CAgP8AAAAAACH5BAQUAP8ALAAAAAAZABkAAAJgjI+py70Co5wUmhrHwPFyzVlBCIYeBGqqik6nkK4s7I6TjFOvCvR42bGhND3AbyPZEX2/GuwILV2iUZGEOgtesUhthuu8VcNbqE74fOZoSTQFiHm9u3G3OCSQ4yv6/aQAADs=";gfs[3].src="data:img/gif;base64,R0lGODlhGQAZAJEAAP///76+voKCggAAACH5BAAHAP8ALAAAAAAZABkAAAJglI+py70Bo5wUmhrHwPFyzVlCCIYeBGqqik5nkK4s7I6TjFOvCvR42bGhND3AbyPZEX2/GuwILV2iUZGEOgtesUhthuu8VcNbqE74fOZoSTQFiHm9u3G3OBSQ4yv6/aQAADs="; +var gfd=[];for(var i=0;i<10;i++){gfd[i]=new Image();}gfd[0].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI5lI8Jy3wgmoMRymoc0vqt/G1hB1JkZVKKaQSC60YI/NZPW8dpApZrqvKhfkIPkIi5jFANWUkS5CUKADs=";gfd[1].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI3lI8psc33mDQAmilAdUnv1mkXeHhWuGGlOCpsxGXIpII0dYbjs358v0PlgDGiDfQKPj6cmkJRAAA7";gfd[2].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI8lI8Jy3whmgMvNmsgRC4nSwmaslRkOHKl962QVIYgfFAwta3JBu6i0UHwgp6cztQT/jCSZWTmGN5kn08BADs=";gfd[3].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI5lI8Jy3whmgMvNmsgRC4nSwmaslRkOHKl962QVIYgXMGUvJFebnRi6/qpcECU8OB7XYK2CNIm+3wKADs=";gfd[4].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI8lI8psc0HDJsmCmDptdhCXIFIF3rlOYpkyplftXWgJ9cHU8+3skkNu0usNB/PA+gQin4a0YPyMEF/PF4BADs=";gfd[5].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI5lI8Jy3wgmgtmxSZotYhql2gX1GUbWZ6heSWGCEkWLHNmHR0iwnmKvVOZgiAWr2cU3jBIHKpmc7kKADs=";gfd[6].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI5lI8Jy3wgmgtmxSZotYhql2gX1GUbWZ6heSWGCEkWLHPRiJE2woFPvxupeEDU0HeM5XQ4B6oWdCEKADs=";gfd[7].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI5lI8Jy3whmgMvNmsgRC4nSwmaslRkOHKl963buIUejLziHZnkfOpHl/qtcCoU0dDBpVy8WO0W/EgLADs=";gfd[8].src="data:img/gif;base64,R0lGODlhDQAXAIAAAP8AAAAAACH5BAQUAP8ALAAAAAANABcAAAI0jI8Jy3wQmoMRymoc0vqt/G1hB1JkZVKKiTaRJ4VvbIGJja6pWvbirvPBbJdRawKL3ZaGAgA7";gfd[9].src="data:img/gif;base64,R0lGODlhDQAXAJEAAP8AAIAAAAAAAAAAACH5BAQUAP8ALAAAAAANABcAAAI6lI8Jy3wgmoMRymoc0vqt/G1hB1JkZVKKiTaRJ4VC0E4HnWDzLqp4b6D9SrecRrjy1XS0mAUWy0kNBQA7"; +var gfb=[];for(var i=0;i<9;i++){gfb[i]=new Image();}gfb[0].src="data:img/gif;base64,R0lGODlhGQAZAKIAAM7OzsbGxr6+vra2trKysqampoKCggAAACH5BAAHAP8ALAAAAAAZABkAAANHaLrc3mWQSau9xAwQuv9gGBhEIJxoqq4CabLw6sY0Otf0jcP6Lpc+HjD4exFTvWNrqDwlj09iNDj1VXdXXLa2zTGb3VgYlgAAOw==";gfb[1].src="data:img/gif;base64,R0lGODlhGQAZAJEAAMDAwICAgAAA/wAAACH5BAQUAP8ALAAAAAAZABkAAAJMjI+py70Ao5wUmorxzTxuLIRC9lFiSAbZOWqqybZVCcWoC8fpeu5gj/uJfBUWMXebvYpAJdJGoQFsTc8yQh1OpJ3otesEH8XbLzlSAAA7";gfb[2].src="data:img/gif;base64,R0lGODlhGQAZALMAAMDAwKu5q6i4qKW3pZy0nJaylpCwkIquioCAgACAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAAAZABkAAAReEMlJq704X8C7/yAnhSQ5lmh3cknrvi64wvT7zXV9I50N+ipeihXzrFACoEhYMtB2pSSsIGN6CrRBIHQEEGjb0pEmGOJch+Gyl3samW13kB0vztViKx665+r7a4AfEQA7";gfb[3].src="data:img/gif;base64,R0lGODlhGQAZAJEAAMDAwICAgP8AAAAAACH5BAQUAP8ALAAAAAAZABkAAAJOjI+py70Ao5wUmorxzTxuIITiOFIfiZbSmabT16le0EWyRdeg+OZTGzL5JECBsFI86m4AGIfpzEB9RVLPVuWtqFnjVZeJgmdjzbBMRk8KADs=";gfb[4].src="data:img/gif;base64,R0lGODlhGQAZAJEAAMDAwICAgAAAmQAAgCH5BAAHAP8ALAAAAAAZABkAAAJdjI+py70Ao5wUmorxzTzuOgjAQJLUN5FiaU5oVK7sGVAxxA50Gor47KrBVJLc7hfilY6jnHMp+TynwYjgisXmfB4hx1jtgKPezLjbaULJ6bOlnK684mG6HG5H5ykFADs=";gfb[5].src="data:img/gif;base64,R0lGODlhGQAZAJEAAMDAwICAgIAAAAAAACH5BAQUAP8ALAAAAAAZABkAAAJOjI+py70Ao5wUmorxzTxuIITiSE4fiY5mEKXu2oodDKmzx9bybeWgW6L9gDZcjLgz3oo9HhPw6TxPyGRTVxUIs1ohjxL9SsLia3nsO0MKADs=";gfb[6].src="data:img/gif;base64,R0lGODlhGQAZAJEAAMDAwICAgACAgAAAACH5BAQUAP8ALAAAAAAZABkAAAJTjI+py70Ao5wUmorxzTxuKITiKFIfiZbTmaJmEI3dCoPqbNWAjOdxS3r9gDyPjhiUsEKVos/GpDgBS0Hz9twhsdTjNmqUfIU9ja5MQ1c+6nBbUgAAOw==";gfb[7].src="data:img/gif;base64,R0lGODlhGQAZAJEAAL6+voKCggAAAAAAACH5BAAHAP8ALAAAAAAZABkAAAJMjI+py70Ao5wUmorxzTxuIITiSE4fiY5mEKXu2rUiHIOz9HElznY771NRcpQfrWI8TpJK2S1DtD2hPWeoRhTGojVgV1P9NsWWMBlSAAA7";gfb[8].src="data:img/gif;base64,R0lGODlhGQAZAIAAAMDAwICAgCH5BAQUAP8ALAAAAAAZABkAAAJKjI+py70Ao5wUmorxzTxu63xeMIYi8JnHlK4UwpLgOctjaUuwnqtvb/rxQsJaZXcz/k4tGsqVfPp4OCK1yih2OM7t1avJgWNjTAEAOw=="; diff --git a/index.html b/index.html new file mode 100644 index 0000000..6028b36 --- /dev/null +++ b/index.html @@ -0,0 +1,161 @@ + + + + + + +扫雷 - Minesweeper + + + + + + + + + +
+
+ +
+扫雷 Minesweeper +
+ +
+基础 +  +中级 +  +专家 +  +满屏 +  +自定义 +
+ + +
+ + + + +
+
+ +
+
+
+提示 +
+
+自动标雷 + +深色模式 +

+第一次点击不会是雷。格子里的数字表示它周围有几个雷。游戏目标是找出所有雷。“触雷”则输。点击笑脸图标重新开始。 +二选一留到最后,可任选,需先清完其他方块。 +

+电脑:鼠标右键点击原始方块,以小旗标记为雷,再点去除标记。标记的雷数和数字匹配时,点击数字(左右键均可)翻开周围的安全区域。鼠标左键点击无标记方块则直接打开。 +设置 + +

+手机或平板:在触屏上点击方块即标记为雷,再点去除标记。标记的雷数和数字匹配时,点击数字翻开周围的安全区域。长按方块直接打开。(可设置为点击直接打开;或点击三次打开) +设置 + +
+
+
+ + + \ No newline at end of file diff --git a/ns6.06.js b/ns6.06.js new file mode 100644 index 0000000..9980ae8 --- /dev/null +++ b/ns6.06.js @@ -0,0 +1,2 @@ + +VER= "6.06";function $(a){return document.getElementById(a)}function gets(bd,bb,bc){var be= new XMLHttpRequest();be.open(bb!= null?"POST":"GET",bd,true);be.onreadystatechange= function(){if(be.readyState== 4&& (be.status== 200|| be.status== 304)){bc(be.responseText)}};be.send(bb)}var d31=[];var X,Y,M;var CX=[-1,-1,-1,0,0,1,1,1,0];var CY=[-1,0,1,-1,1,-1,0,1,0];var _gs;function S98(h,j){ctx.drawImage(gfb[0],h* 25,j* 25);setTimeout(function(){if(d31[j][h][0]== 0){ctx.drawImage(gfs[0],h* 25,j* 25)}},120)}function c67(h,j){var K=0,L=0;var q,s;var E;var u,A;for(E= 0;E< 8;E++){s= j+ CY[E];q= h+ CX[E];if(s>= 0&& s< Y&& q>= 0&& q< X){u= d31[s][q];A= u[0];if(A== 2){K++}else {if(A== 0){if(u[1]== 1){L= 1}}}}};var t=d31[j][h];var N=K>= t[2];for(E= 0;E< 8;E++){s= j+ CY[E];q= h+ CX[E];if(s>= 0&& s< Y&& q>= 0&& q< X){var u=d31[s][q];if(u[0]== 0){if(N){if(L){if(u[1]== 1){ctx.drawImage(gfs[2],q* 25,s* 25);u[0]= 1}}else {o0o(q,s)}}else {S98(q,s)}}}};if(N&& L){f17()}}function f17(){_edn();$("face").src= gif[2];_gs= 3;var h,j;var t;for(j= 0;j< Y;j++){for(h= 0;h< X;h++){t= d31[j][h];if(t[0]== 0){if(t[1]== 1){ctx.drawImage(gfs[3],h* 25,j* 25)}}else {if(t[0]== 2){if(t[1]== 0){h_f[f_n++]= setInterval(function(h,j){var ba=0;return function(){ctx.drawImage(ba== 0?gfb[d31[j][h][2]]:gfs[1],h* 25,j* 25);ba= !ba}}(h,j),800)}}}}}}var _ln;function see(){_ln= [];var h,j,t;var bm=0,bn=0;for(j= 0;j< Y;j++){for(h= 0;h< X;h++){t= d31[j][h];if(t[0]== 2&& t[1]!= 1){return 1};if(t[0]== 0&& t[3]== 0){if(t[1]== 1){bm++}else {bn++};_ln.push([h,j])}}};if(bm!= bn){return 2};return 0}function gtm(h,j){var w=0;var q,s;for(var E=0;E< 8;E++){s= j+ CY[E];q= h+ CX[E];if(s>= 0&& s< Y&& q>= 0&& q< X){if(d31[s][q][1]== 1){w++}}};return w}function rv(){var c,d,u;for(d= 0;d< _ln.length;d++){c= _ln[d];u= d31[c[1]][c[0]];u[1]= (u[1]== 0?1:0)}}function ck(){if(see()!= 0){return 1};rv();var h,j,t;var w;for(j= 0;j< Y;j++){for(h= 0;h< X;h++){t= d31[j][h];w= t[2];if(t[0]== 1&& w!= 0){if(gtm(h,j)!= w){rv();return 2}}}};for(j= 0;j< Y;j++){for(h= 0;h< X;h++){t= d31[j][h];if(t[0]!= 1){t[2]= gtm(h,j)}}};return 0}function ab(C,D){var t,u;var s,q;var A;var B,w;var h,j;var E,c;for(c= 0;c< 9;c++){j= D+ CY[c];h= C+ CX[c];if(j>= 0&& j< Y&& h>= 0&& h< X){t= d31[j][h];w= t[2];if(t[0]== 1&& w> 0){B= 0;for(E= 0;E< 8;E++){s= j+ CY[E];q= h+ CX[E];if(s>= 0&& s< Y&& q>= 0&& q< X){u= d31[s][q];A= u[0];if(A== 0){B++}else {if(A== 2){if(u[1]== 1){w--}}}}};if(B> 0&& w== B){for(E= 0;E< 8;E++){s= j+ CY[E];q= h+ CX[E];if(s>= 0&& s< Y&& q>= 0&& q< X){u= d31[s][q];A= u[0];if(A!= 1){u[3]= 1};if(A== 0){if(_af== 1){M5k(q,s)}}}}}}}}}function o0o(h,j){var t=d31[j][h];if(t[1]== 1){if(_gs== 1){ck()};if(t[1]== 1){ctx.drawImage(gfs[2],h* 25,j* 25);t[0]= 1;f17();return 1}};t[0]= 1;ctx.drawImage(gfb[t[2]],h* 25,j* 25);RB--;if(RB== 0){scs()}else {if(t[2]== 0){var E,s,q;for(E= 0;E< 8;E++){s= j+ CY[E];q= h+ CX[E];if(s>= 0&& s< Y&& q>= 0&& q< X){if(d31[s][q][0]== 0){o0o(q,s)}}}}};ab(h,j);return 0}function scs(){_gs= 2;_edn();var h,j,t;for(j= 0;j< Y;j++){for(h= 0;h< X;h++){t= d31[j][h];if(t[0]== 0){if(t[1]!= 1){bug(1,h,j)}else {M5k(h,j)}}}};if(RM!= 0){bug(2,h,j)};crm(M);$("face").src= gif[1];up()}var _v;function up(){if(_v> 3&& _t0< 10){return};var bi=lid();if(bi== null){guid();return};var I=_v+ '\x1E'+ bi+ '\x1F'+ _t0+ '.'+ _af;if(_v> 3){I+= '\x1F'+ X+ '\x1F'+ Y+ '\x1F'+ M};gets("up4.php",I,function(J){})}function bug(H,h,j){var I=VER+ ':'+ H;gets("bug.php",I,function(J){})}function DS(O){var P=$(O);var R=P.getContext("2d");var Q=3;return function(T){if(T< 10){T= "00"+ T}else {if(T< 100){T= "0"+ T}else {T= T.toString()}};var S=T.length;if(S!= Q){P.width= S* 13;Q= S};for(var d=0;d< S;d++){R.drawImage(gfd[parseInt(T.charAt(d))],d* 13,0)}}}function kai(bg,bh){var E;var j,h;var bf=RB;for(E= 8;E>= 0&& bf> 0;E--){j= bh+ CY[E];h= bg+ CX[E];if(j>= 0&& j< Y&& h>= 0&& h< X){var Z=p32[j* X+ h];if(d31[j][h][1]== 1){var W=Math.floor(Math.random()* bf);mplus(Z,-1);mplus(W,1);bf--;ex(W,bf)}else {bf--;ex(Z,bf)}}};_es()}var d32=[];var p32=[];function _gnt(){var h,j;var o;var p;for(j= 0;j< Y;j++){d31[j]= [];for(h= 0;h< X;h++){d31[j][h]= [0,0,0,0]}};for(p= 0;p< XY;p++){d32[p]= p;p32[p]= p};RB= XY;for(o= 0;o< M;o++){p= Math.floor(Math.random()* RB);RB--;ex(p,RB)};for(p= RB;p< XY;p++){mplus(p,1)};RM= M;RB= XY- M}function ex(W,Z){var U=d32[W];var V=d32[Z];d32[W]= V;d32[Z]= U;p32[U]= Z;p32[V]= W}function mplus(p,bj){var bl,bk;var rv=d32[p];bl= Math.floor(rv/ X);bk= rv% X;d31[bl][bk][1]+= bj;for(z= 0;z< 8;z++){cy= bl+ CY[z];cx= bk+ CX[z];if(cy>= 0&& cy< Y&& cx>= 0&& cx< X){d31[cy][cx][2]+= bj}}}var h_f=[];var f_n=0;function _45(){if(he> 0){clearInterval(he);he= 0};for(var d=0;d< f_n;d++){clearInterval(h_f[d])};f_n= 0;_gnt();_d46();_x0= -1;_y0= -1;_gs= 0}var _mp1,_mp2;var _x0;var _y0;function _65(e){if(_tch|| _gs> 1){return};var f=paf.getBoundingClientRect();var h=Math.floor((e.clientX- f.left)/ 25);var j=Math.floor((e.clientY- f.top)/ 25);if(h< 0|| h== X|| j< 0|| j== Y){return};_x0= h;_y0= j;var g=d31[j][h][0];if(e.button== 2){if(_mp2!= 1){if(g== 1){c67(h,j)}else {M5k(h,j)}}}else {if(_mp1!= 1){if(g== 0){if(_gs== 0){kai(h,j)};o0o(h,j)}else {if(g== 1){c67(h,j)}else {M5k(h,j)}}}}}function _67(e){if(_tch|| _gs> 1){return};var f=paf.getBoundingClientRect();var h=Math.floor((e.clientX- f.left)/ 25);var j=Math.floor((e.clientY- f.top)/ 25);if(h< 0|| h== X|| j< 0|| j== Y){return};var g=d31[j][h][0];if(e.button== 2){if(_mp2!= null){if(g== 1){c67(h,j)}else {M5k(h,j)}}}else {if(_mp1!= null){if(g== 0){if(_gs== 0){kai(h,j)};o0o(h,j)}else {if(g== 1){c67(h,j)}else {M5k(h,j)}}}}}function _77(e){if(_gs> 1){return};_tch= 1;var f=paf.getBoundingClientRect();var h=Math.floor((e.touches[0].clientX- f.left)/ 25);var j=Math.floor((e.touches[0].clientY- f.top)/ 25);if(h< 0|| h== X|| j< 0|| j== Y){return};if(d31[j][h][0]== 1){c67(h,j)}else {_hl= setTimeout(function(){return lgt(h,j)},320)}}var _hl;function lgt(h,j){if(_opn== 1&& _tpn== null){return};if(_gs== 0){kai(h,j);o0o(h,j);return};_tch= 3;if(_tpn== null){if(d31[j][h][0]== 2){M5k(h,j)};if(d31[j][h][0]== 0){o0o(h,j)}}else {M5k(h,j)}}var tc0=0;function _75(e){if(_tch== 1){var f=paf.getBoundingClientRect();var h=Math.floor((e.changedTouches[0].clientX- f.left)/ 25);var j=Math.floor((e.changedTouches[0].clientY- f.top)/ 25);if(h< 0|| h== X|| j< 0|| j== Y){return};var g=d31[j][h][0];if(_gs== 0){kai(h,j);o0o(h,j);return};if(_tpn== null){if(g!= 1){var k=Date.now();var l;if(h== _x0&& j== _y0){l= k- tc0}else {_x0= h;_y0= j;tc0= Date.now();l= 1000};if(_opn== 1&& l< 400&& g== 0){o0o(h,j)}else {M5k(h,j)}}}else {if(g== 0){o0o(h,j)}else {if(g== 2){M5k(h,j)}}};_tch= 4;clearTimeout(_hl);tc0= k};if(e.preventDefault){e.preventDefault()}else {window.event.returnValue= false}}function saf(){_af= $("af").checked?1:0;localStorage.setItem("af",_af);_45()}var _af;function _d46(){_edn();he= 0;_tch= 0;_mp1= localStorage.getItem("mp1");_mp2= localStorage.getItem("mp2");_tpn= localStorage.getItem("tpn");_opn= localStorage.getItem("opn");_af= localStorage.getItem("af");if(_af== null){_af= 0};var n=X* 25;$("p42").style.width= n+ 4+ "px";paf.width= n;paf.height= Y* 25;$("face").src= gif[0];for(var d=0;d< X;d++){for(var m=0;m< Y;m++){ctx.drawImage(gfs[0],d* 25,m* 25)}};paf.onmousedown= function(e){_65(e)};paf.onmouseup= function(e){_67(e)};;;paf.ontouchstart= function(e){_77(e)};paf.ontouchmove= function(){_tch= 2;clearTimeout(_hl)};paf.ontouchend= function(e){_75(e)};crm(RM);ces(0);$("af").checked= parseInt(_af)}function sopen(){var bq=0;var br=-1,bs=-1;for(var d=0;d< X;d++){var bt=0;for(var m=0;m< Y;m++){if(d31[m][d][2]== 0&& d31[m][d][1]== 0){bt++}else {if(bt> bq){bq= bt;br= d;bs= m- 1};bt= 0}};if(bt> bq){bq= bt;br= d;bs= m- 1}};if(br>= 0&& bs>= 0){o0o(br,bs)}}function _edn(){if(he> 0){clearInterval(he);he= 0;_t0= Date.now()- _t0;ces(parseInt(_t0/ 1000));_t0= Math.ceil(_t0/ 100)}else {_t0= 0}}var he=0;var _t0;var e33;function _es(){_t0= Date.now();e33= 0;_gs= 1;he= setInterval(function(){ces(++e33)},1000)}var _tpn;var _opn;var _tch;var RM;var RB;function M5k(h,j){var t=d31[j][h];if(t[0]== 0){if(RM> 0){if(t[1]== 0){ck()};ctx.drawImage(gfs[1],h* 25,j* 25);t[0]= 2;crm(--RM)}}else {if(t[0]== 2){ctx.drawImage(gfs[0],h* 25,j* 25);t[0]= 0;crm(++RM)}}}var paf;var ctx;var crm;var ces;function start(){score= $("ss").href+ "#";var bv=localStorage.getItem("df5");if(bv== null){$("hm").value= 15;$("vm").value= 15;$("mm").value= 20}else {var bu=bv.split(";");$("hm").value= bu[0];$("vm").value= bu[1];$("mm").value= bu[2]};document.oncontextmenu= function(){return false};document.onselectstart= function(){return false};paf= $("paf");ctx= paf.getContext("2d");crm= DS("rm");ces= DS("es");_123(localStorage.getItem("ch7"));$("uid").innerHTML= lid();$("ver").innerHTML= VER}var _id=null;function lid(){if(_id!= null){return _id};var bi=localStorage.getItem("uid");if(bi!= null){if(isNaN(bi)){bi= null}};return bi}function guid(){gets("uid2.php",null,function(J){if(J.length> 1){_id= J;up();$("uid").innerHTML= J;localStorage.setItem("uid",J)}else {alert("id fail")}})}var XY;var SW,SH;function _123(c){_gs= 0;SW= document.body.clientWidth;SH= document.body.clientHeight;if(c== null){c= SW< 560?1:2};_v= c;$("custom").style.display= c== 5?"":"none";if(c== 1){X= 9;Y= 9;M= 10;XY= 81}else {if(c== 2){X= 16;Y= 16;M= 40;XY= 256}else {if(c== 3){M= 99;if(SW> SH){X= 30;Y= 16}else {X= 16;Y= 30};XY= 480}else {if(c== 4){X= parseInt((SW- 18)/ 25);Y= parseInt((SH- 54)/ 25);XY= X* Y;if(XY>= 480){M= XY* 0.20625}else {M= XY* XY/ 5760+ XY/ 8};M= parseInt(M)}else {if(c== 5){X= parseInt($("hm").value);Y= parseInt($("vm").value);XY= X* Y;M= parseInt($("mm").value);if(M> XY){M= XY}}else {return}}}}};_45();localStorage.setItem("ch7",c);$("ss").href= score+ _v}var score;function udf(){_123(5);localStorage.setItem("df5",$("hm").value+ ";"+ $("vm").value+ ";"+ $("mm").value)}function sload(bo){var rv=localStorage.getItem(bo);if(rv== null){rv= 0};var bp=document.getElementsByName(bo);for(i= 0;i< bp.length;i++){if(bp[i].value== rv){bp[i].checked= true}};return rv}function ssave(bo,rv){if(rv== 0){localStorage.removeItem(bo);rv= null}else {localStorage.setItem(bo,rv)};eval("_"+ bo+ "="+ rv)}function smore(c){if(c== 0){$("topen").style.display= "block";$("thint").style.display= "none"}else {$("thint").style.display= "block";$("topen").style.display= "none"}}var mouse2=function(){var b=0;return function(){sload("mp1");sload("mp2");if(b== 0){$("_mouse").style.display= "block";$("setm").innerText= "\u6536\u8d77";b= 1}else {$("_mouse").style.display= "none";$("setm").innerText= "\u8bbe\u7f6e";b= 0}}}();var touch2=function(){var b=0;return function(){var rv=sload("tpn");sload("opn");smore(rv);if(b== 0){$("_touch").style.display= "block";$("sett").innerText= "\u6536\u8d77";b= 1}else {$("_touch").style.display= "none";$("sett").innerText= "\u8bbe\u7f6e";b= 0}}}();function bcolor(){var F=document.body.style;var G=document.getElementsByTagName("a");if($("bcolor").checked){localStorage.setItem("night","1");F.backgroundColor= "black";F.color= "silver";for(var d=0;d< G.length;d++){G[d].style.color= 'silver'}}else {localStorage.removeItem("night");F.backgroundColor= "#f7f7f0";F.color= "";for(var d=0;d< G.length;d++){G[d].style.color= ''}}}function ifnight(){if(localStorage.getItem("night")!= null){$("bcolor").checked= true;bcolor()}} \ No newline at end of file