哪个网站的理财频道做的比较好,新人怎么做电商,漂亮的网站是什么建设出来的,广告公司岗位中国象棋
【中国象棋】是一款历史悠久、深受人们喜爱的策略类游戏。在Web前端技术中#xff0c;我们可以使用HTML、CSS和JavaScript等语言来制作一款中国象棋游戏。玩家使用棋子#xff08;帅/相/士/炮/马/车/炮/卒#xff09;在棋盘上相互对弈#xff0c;将对手的“帅”棋…中国象棋
【中国象棋】是一款历史悠久、深受人们喜爱的策略类游戏。在Web前端技术中我们可以使用HTML、CSS和JavaScript等语言来制作一款中国象棋游戏。玩家使用棋子帅/相/士/炮/马/车/炮/卒在棋盘上相互对弈将对手的“帅”棋子吃掉即为胜利。 运行效果 HTML源码
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtml
head
meta http-equivContent-Type contenttext/html; charsetgb2312 /
title中国象棋/title
link hrefcss/zzsc.css typetext/css relstylesheet /
/head
body
div classbox idboxdiv classchess_leftcanvas idchess对不起您的浏览器不支持HTML5请升级浏览器至IE9、firefox或者谷歌浏览器/canvasaudio srcaudio/click.wav idclickAudio preloadauto/audioaudio srcaudio/select.wav idselectAudio preloadauto/audiodivdiv classbn_box idbnBoxinput typebutton nameoffensivePlay idtyroPlay value新手水平 /input typebutton nameoffensivePlay idsuperPlay value中级水平 /input typebutton namebutton id value大师水平 disabled /input typebutton nameregret idregretBn value悔棋 /input typebutton namebillBn idbillBn value棋谱 classbn_box /input typebutton namestypeBn idstypeBn value换肤 //div/div/divdiv classchess_right idchessRightselect namebillList idbillList/selectol idbillBox classbill_box/ol/divdiv idmoveInfo classmove_info /div
/div
script srcjs/common.js/script
script srcjs/play.js/script
script srcjs/AI.js/script
script srcjs/bill.js/script
script srcjs/gambit.js/script
div styletext-align:center;clear:both
p适用浏览器360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。/p
/div
/body
/htmlCSS源码
charset gb2312;
body {font-size: 12px;line-height: 150%;
}
.box {margin:0 auto;width:460px;position: relative;
}
.chess_left {float:left;text-align:center
}
.chess_right {float:left;display:none
}
.move_info {float:left;margin-top:20px
}
.bill_box {height: 320px;width: 80px;overflow:auto;
}
.bill_box li {cursor:pointer;text-align:left
}
.bill_box li:hover {cursor:pointer;background: #C6A577;
}
.bill_box li:active {cursor:pointer;background: #fff;
}
#billList {margin-top:20px
}
.bn_box {display:none
}JS文件
1AI.js var AI AI||{};AI.historyTable {};AI.init function(pace){var bill AI.historyBill || com.gambit;if (bill.length){var lenpace.length;var arr[];for (var i0;i bill.length;i){if (bill[i].slice(0,len)pace) {arr.push(bill[i]);}}if (arr.length){var inxMath.floor( Math.random() * arr.length );AI.historyBill arr ;return arr[inx].slice(len,len4).split();}else{AI.historyBill [] ;}}var initTime new Date().getTime();AI.treeDepthplay.depth;AI.number0;AI.setHistoryTable.lenght 0var valAI.getAlphaBeta(-99999 ,99999, AI.treeDepth, com.arr2Clone(play.map),play.my);if (!val||val.value-8888) {AI.treeDepth2;valAI.getAlphaBeta(-99999 ,99999, AI.treeDepth, com.arr2Clone(play.map),play.my);}if (valval.value!-8888) {var man play.mans[val.key];var nowTime new Date().getTime();return [man.x,man.y,val.x,val.y]}else {return false; }
}
AI.iterativeSearch function (map, my){var timeOut100;var initDepth 1;var maxDepth 8;AI.treeDepth0;var initTime new Date().getTime();var val {};for (var iinitDepth; imaxDepth; i){var nowTime new Date().getTime();AI.treeDepthi;AI.aotuDepthi;var val AI.getAlphaBeta(-99999, 99999, AI.treeDepth , map ,my)if (nowTime-initTime timeOut){return val;}}return false;
}
AI.getMapAllMan function (map, my){var mans[];for (var i0; imap.length; i){for (var n0; nmap[i].length; n){var key map[i][n];if (key play.mans[key].my my){play.mans[key].x n;play.mans[key].y i;mans.push(play.mans[key])}}}return mans;
}AI.getMoves function (map, my){var manArr AI.getMapAllMan (map, my);var moves [];var foulplay.isFoul;for (var i0; imanArr.length; i){var man manArr[i];var valman.bl(map);for (var n0; nval.length; n){var xman.x;var yman.y;var newXval[n][0];var newYval[n][1];if (foul[0]!x || foul[1]!y || foul[2]!newX || foul[3]!newY ){moves.push([x,y,newX,newY,man.key])}}}return moves;
}
AI.getAlphaBeta function (A, B, depth, map ,my) {if (depth 0) {return {value:AI.evaluate(map , my)};}var moves AI.getMoves(map , my );for (var i0; i moves.length; i) {var move moves[i];var key move[4];var oldX move[0];var oldY move[1];var newX move[2];var newY move[3];var clearKey map[ newY ][ newX ]||;map[ newY ][ newX ] key;delete map[ oldY ][ oldX ];play.mans[key].x newX;play.mans[key].y newY;if (clearKeyj0||clearKeyJ0) {play.mans[key] .x oldX;play.mans[key] .y oldY;map[ oldY ][ oldX ] key;delete map[ newY ][ newX ];if (clearKey){map[ newY ][ newX ] clearKey;}return {key:key,x:newX,y:newY,value:8888};}else {var val -AI.getAlphaBeta(-B, -A, depth - 1, map , -my).value;play.mans[key] .x oldX;play.mans[key] .y oldY;map[ oldY ][ oldX ] key;delete map[ newY ][ newX ];if (clearKey){map[ newY ][ newX ] clearKey;}if (val B) {return {key:key,x:newX,y:newY,value:B}; } if (val A) { A val;if (AI.treeDepth depth) var rootKey{key:key,x:newX,y:newY,value:A};} } }if (AI.treeDepth depth) {if (!rootKey){return false;}else{return rootKey;}}return {key:key,x:newX,y:newY,value:A};
}
AI.setHistoryTable function (txtMap,depth,value,my){AI.setHistoryTable.lenght ;AI.historyTable[txtMap] {depth:depth,value:value}
}
AI.evaluate function (map,my){var val0;for (var i0; imap.length; i){for (var n0; nmap[i].length; n){var key map[i][n];if (key){val play.mans[key].value[i][n] * play.mans[key].my;}}}AI.number;return val*my;
}
AI.evaluate1 function (map,my){var val0;for (var i in play.mans){var manplay.mans[i];if (man.isShow){val man.value[man.y][man.x] * man.my;}}AI.number;return val*my;
}2bill.js var bill bill || {};bill.init function (){if (com.store){clearInterval(bill.timer);bill.setBillList(com.arr2Clone(com.initMap));play.isPlayfalse; com.show();}else {bill.timer setInterval(bill.init(),300); }
}bill.setBillList function (map){var listcom.get(billList)for (var i0; i com.store.length ; i){var option document.createElement(option);option.text(i1);option.valuei;list.add(option , null);}list.addEventListener(change, function(e) {bill.setBox (com.store[this.value], map)})bill.setBox (com.store[0], map)
}bill.setMove function (bl,inx,map){var map com.arr2Clone(map);for (var i0; imap.length; i){for (var n0; nmap[i].length; n){var key map[i][n];if (key){com.mans[key].xn;com.mans[key].yi;com.mans[key].isShow true;}}}for (var i0; i inx ; i){var n i*4var y bl[n1]var newX bl[n2]var x bl[n0]var newY bl[n3]if (com.mans[map[newY][newX]]) {com.mans[map[newY][newX]].isShow false;}com.mans[map[y][x]].x newX;com.mans[map[y][x]].y newY;if (i inx) {com.showPane(x ,y,newX,newY);}map[newY][newX] map[y][x];delete map[y][x];}return map;
}
bill.setBox function (bl,initMap){var map com.arr2Clone(initMap);var bl bl.split();var h;for (var i0; i bl.length ; i4){h li idmove_(i/4);var x bl[i0];var y bl[i1];var newX bl[i2];var newY bl[i3];h com.createMove(map,x,y,newX,newY);h /li\n\r;}com.get(billBox).innerHTML h;var domscom.get(billBox).getElementsByTagName(li);for (var i0; idoms.length; i){doms[i].addEventListener(click, function(e) {var inx this.getAttribute(id).split(_)[1];bill.setMove (bl , inx , initMap)com.show();})}}3common.js
var com com||{};com.init function (stype){com.nowStype stype || com.getCookie(stype) ||stype1;var stype com.stype[com.nowStype];com.width stype.width;com.height stype.height;com.spaceX stype.spaceX;com.spaceY stype.spaceY;com.pointStartX stype.pointStartX;com.pointStartY stype.pointStartY;com.page stype.page;com.get(box).style.width com.width130px;com.canvas document.getElementById(chess); com.ct com.canvas.getContext(2d) ; com.canvas.width com.width;com.canvas.height com.height;com.childList com.childList||[];com.loadImages(com.page);
}
com.stype {stype1:{width:325,height:402,spaceX:35,spaceY:36,pointStartX:5,pointStartY:19,page:stype_1},stype2:{width:530,height:567,spaceX:57,spaceY:57,pointStartX:-2,pointStartY:0,page:stype_2}
}
com.get function (id){return document.getElementById(id)
}window.onload function(){ com.bgnew com.class.Bg();com.dot new com.class.Dot();com.panenew com.class.Pane();com.pane.isShowfalse;com.childList[com.bg,com.dot,com.pane]; com.mans {};com.createMans(com.initMap)com.bg.show();com.get(bnBox).style.display block;//play.init();com.get(billBn).addEventListener(click, function(e) {if (confirm(ǷԾ֣ʼо)){com.init();com.get(chessRight).style.display block;com.get(moveInfo).style.display none;bill.init();}})com.get(superPlay).addEventListener(click, function(e) {if (confirm(ȷϿʼʦģ)){play.isPlaytrue ; com.get(chessRight).style.display none;com.get(moveInfo).style.display block;com.get(moveInfo).innerHTML;play.depth 4;play.init();}})com.get(tyroPlay).addEventListener(click, function(e) {if (confirm(ȷϿʼּģ)){play.isPlaytrue ; com.get(chessRight).style.display none;com.get(moveInfo).style.display block;com.get(moveInfo).innerHTML;play.depth 3;play.init();}})com.get(stypeBn).addEventListener(click, function(e) {var stype com.nowStype;if (stypestype1) stypestype2;else if (stypestype2) stypestype1;com.init(stype);com.show();play.depth 4;play.init();document.cookiestype stype;clearInterval(timer);var i0;var timer setInterval(function (){com.show();if (i5) clearInterval(timer);},2000);})com.getData(js/gambit.all.js,function(data){com.gambitdata.split( );AI.historyBill com.gambit;})com.getData(js/store.js,function(data){com.storedata.split( );})
}com.loadImages function(stype){com.bgImg new Image();com.bgImg.src img/stype/bg.png;com.dotImg new Image();com.dotImg.src img/stype/dot.png;for (var i in com.args){com[i] {};com[i].img new Image();com[i].img.src img/stype/ com.args[i].img .png;}com.paneImg new Image();com.paneImg.src img/stype/r_box.png;document.getElementsByTagName(body)[0].style.background url(img/stype/bg.jpg);}
com.show function (){com.ct.clearRect(0, 0, com.width, com.height); for (var i0; icom.childList.length ; i){com.childList[i].show();}
}com.showPane function (x,y,newX,newY){com.pane.isShowtrue;com.pane.x x ;com.pane.y y ;com.pane.newX newX ;com.pane.newY newY ;
}com.createMans function(map){for (var i0; imap.length; i){for (var n0; nmap[i].length; n){var key map[i][n];if (key){com.mans[key]new com.class.Man(key);com.mans[key].xn;com.mans[key].yi;com.childList.push(com.mans[key])}}}
}com.alert function (obj,f,n){if (typeof obj ! object) {try{console.log(obj)} catch (e){}}var arr [];for (var i in obj) arr.push(i obj[i]);try{console.log(arr.join(n||\n))} catch (e){}
}var z com.alert;com.getDomXY function (dom){var left dom.offsetLeft;var top dom.offsetTop;var current dom.offsetParent;while (current ! null){left current.offsetLeft;top current.offsetTop;current current.offsetParent;}return {x:left,y:top};
}com.getCookie function(name){if (document.cookie.length0){startdocument.cookie.indexOf(name )if (start!-1){ startstart name.length1 enddocument.cookie.indexOf(;,start)if (end-1) enddocument.cookie.lengthreturn unescape(document.cookie.substring(start,end))} }return false;
}
com.arr2Clone function (arr){var newArr[];for (var i0; iarr.length ; i){ newArr[i] arr[i].slice();}return newArr;
}com.getData function (url,fun){var XMLHttpRequestObjectfalse;if(window.XMLHttpRequest){XMLHttpRequestObjectnew XMLHttpRequest();}else if(window.ActiveXObject){XMLHttpRequestObjectnew ActiveXObject(Microsoft.XMLHTTP);}if(XMLHttpRequestObject){XMLHttpRequestObject.open(GET,url);XMLHttpRequestObject.setRequestHeader(Content-Type,application/x-www-form-urlencoded);XMLHttpRequestObject.onreadystatechangefunction (){if(XMLHttpRequestObject.readyState4 XMLHttpRequestObject.status200){fun (XMLHttpRequestObject.responseText)}}XMLHttpRequestObject.send(null);}
}
com.createMove function (map,x,y,newX,newY){var h;var man com.mans[map[y][x]];h man.text;map[newY][newX] map[y][x];delete map[y][x];if (man.my1){var mumTo[һ,,,,,,,,,ʮ]; newX8-newX;h mumTo[8-x];if (newY y) {h ;if (man.pater m || man.pater s || man.pater x){h mumTo[newX];}else {h mumTo[newY - y -1];}}else if (newY y) {h ;if (man.pater m || man.pater s || man.pater x){h mumTo[newX];}else {h mumTo[y - newY -1];}}else {h ƽ;h mumTo[newX];}}else{var mumTo[,,,,,,,,,10];h mumTo[x];if (newY y) {h ;if (man.pater M || man.pater S || man.pater X){h mumTo[newX];}else {h mumTo[newY - y-1];}}else if (newY y) {h ;if (man.pater M || man.pater S || man.pater X){h mumTo[newX];}else {h mumTo[y - newY-1];}}else {h ƽ;h mumTo[newX];}}return h;
}com.initMap [[C0,M0,X0,S0,J0,S1,X1,M1,C1],[ , , , , , , , , ],[ ,P0, , , , , ,P1, ],[Z0, ,Z1, ,Z2, ,Z3, ,Z4],[ , , , , , , , , ],[ , , , , , , , , ],[z0, ,z1, ,z2, ,z3, ,z4],[ ,p0, , , , , ,p1, ],[ , , , , , , , , ],[c0,m0,x0,s0,j0,s1,x1,m1,c1]
];com.initMap1 [[ , , ,, J0 , , , , ],[ , , , , , , , , ],[ , , , , ,c0, , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , ,s0, , ,C0, ],[ , , ,s1, ,j0, , , ]
];com.initMap1 [[ , , ,, J0 , , , , ],[ , , , , , , , , ],[ , , , , ,z0, , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , , , , , , ],[ , , , j0 ,, , , ]
];com.keys {c0:c,c1:c,m0:m,m1:m,x0:x,x1:x,s0:s,s1:s,j0:j,p0:p,p1:p,z0:z,z1:z,z2:z,z3:z,z4:z,z5:z,C0:c,C1:C,M0:M,M1:M,X0:X,X1:X,S0:S,S1:S,J0:J,P0:P,P1:P,Z0:Z,Z1:Z,Z2:Z,Z3:Z,Z4:Z,Z5:Z,
}com.bylaw {}
com.bylaw.c function (x,y,map,my){var d[];//for (var ix-1; i 0; i--){if (map[y][i]) {if (com.mans[map[y][i]].my!my) d.push([i,y]);break}else{d.push([i,y]) }}for (var ix1; i 8; i){if (map[y][i]) {if (com.mans[map[y][i]].my!my) d.push([i,y]);break}else{d.push([i,y]) }}for (var i y-1 ; i 0; i--){if (map[i][x]) {if (com.mans[map[i][x]].my!my) d.push([x,i]);break}else{d.push([x,i]) }}for (var i y1 ; i 9; i){if (map[i][x]) {if (com.mans[map[i][x]].my!my) d.push([x,i]);break}else{d.push([x,i]) }}return d;
}com.bylaw.m function (x,y,map,my){var d[];if ( y-2 0 x1 8 !play.map[y-1][x] (!com.mans[map[y-2][x1]] || com.mans[map[y-2][x1]].my!my)) d.push([x1,y-2]);if ( y-1 0 x2 8 !play.map[y][x1] (!com.mans[map[y-1][x2]] || com.mans[map[y-1][x2]].my!my)) d.push([x2,y-1]);if ( y1 9 x2 8 !play.map[y][x1] (!com.mans[map[y1][x2]] || com.mans[map[y1][x2]].my!my)) d.push([x2,y1]);if ( y2 9 x1 8 !play.map[y1][x] (!com.mans[map[y2][x1]] || com.mans[map[y2][x1]].my!my)) d.push([x1,y2]);if ( y2 9 x-1 0 !play.map[y1][x] (!com.mans[map[y2][x-1]] || com.mans[map[y2][x-1]].my!my)) d.push([x-1,y2]);if ( y1 9 x-2 0 !play.map[y][x-1] (!com.mans[map[y1][x-2]] || com.mans[map[y1][x-2]].my!my)) d.push([x-2,y1]);if ( y-1 0 x-2 0 !play.map[y][x-1] (!com.mans[map[y-1][x-2]] || com.mans[map[y-1][x-2]].my!my)) d.push([x-2,y-1]);if ( y-2 0 x-1 0 !play.map[y-1][x] (!com.mans[map[y-2][x-1]] || com.mans[map[y-2][x-1]].my!my)) d.push([x-1,y-2]);return d;
}com.bylaw.x function (x,y,map,my){var d[];if (my1){if ( y2 9 x2 8 !play.map[y1][x1] (!com.mans[map[y2][x2]] || com.mans[map[y2][x2]].my!my)) d.push([x2,y2]);if ( y2 9 x-2 0 !play.map[y1][x-1] (!com.mans[map[y2][x-2]] || com.mans[map[y2][x-2]].my!my)) d.push([x-2,y2]);if ( y-2 5 x2 8 !play.map[y-1][x1] (!com.mans[map[y-2][x2]] || com.mans[map[y-2][x2]].my!my)) d.push([x2,y-2]);if ( y-2 5 x-2 0 !play.map[y-1][x-1] (!com.mans[map[y-2][x-2]] || com.mans[map[y-2][x-2]].my!my)) d.push([x-2,y-2]);}else{if ( y2 4 x2 8 !play.map[y1][x1] (!com.mans[map[y2][x2]] || com.mans[map[y2][x2]].my!my)) d.push([x2,y2]);if ( y2 4 x-2 0 !play.map[y1][x-1] (!com.mans[map[y2][x-2]] || com.mans[map[y2][x-2]].my!my)) d.push([x-2,y2]);if ( y-2 0 x2 8 !play.map[y-1][x1] (!com.mans[map[y-2][x2]] || com.mans[map[y-2][x2]].my!my)) d.push([x2,y-2]);if ( y-2 0 x-2 0 !play.map[y-1][x-1] (!com.mans[map[y-2][x-2]] || com.mans[map[y-2][x-2]].my!my)) d.push([x-2,y-2]);}return d;
}
com.bylaw.s function (x,y,map,my){var d[];if (my1){if ( y1 9 x1 5 (!com.mans[map[y1][x1]] || com.mans[map[y1][x1]].my!my)) d.push([x1,y1]);if ( y1 9 x-1 3 (!com.mans[map[y1][x-1]] || com.mans[map[y1][x-1]].my!my)) d.push([x-1,y1]);if ( y-1 7 x1 5 (!com.mans[map[y-1][x1]] || com.mans[map[y-1][x1]].my!my)) d.push([x1,y-1]);if ( y-1 7 x-1 3 (!com.mans[map[y-1][x-1]] || com.mans[map[y-1][x-1]].my!my)) d.push([x-1,y-1]);}else{if ( y1 2 x1 5 (!com.mans[map[y1][x1]] || com.mans[map[y1][x1]].my!my)) d.push([x1,y1]);if ( y1 2 x-1 3 (!com.mans[map[y1][x-1]] || com.mans[map[y1][x-1]].my!my)) d.push([x-1,y1]);if ( y-1 0 x1 5 (!com.mans[map[y-1][x1]] || com.mans[map[y-1][x1]].my!my)) d.push([x1,y-1]);if ( y-1 0 x-1 3 (!com.mans[map[y-1][x-1]] || com.mans[map[y-1][x-1]].my!my)) d.push([x-1,y-1]);}return d;}
com.bylaw.j function (x,y,map,my){var d[];var isNull(function (y1,y2){var y1com.mans[j0].y;var x1com.mans[J0].x;var y2com.mans[J0].y;for (var iy1-1; iy2; i--){if (map[i][x1]) return false;}return true;})();if (my1){if ( y1 9 (!com.mans[map[y1][x]] || com.mans[map[y1][x]].my!my)) d.push([x,y1]);if ( y-1 7 (!com.mans[map[y-1][x]] || com.mans[map[y-1][x]].my!my)) d.push([x,y-1]);if ( com.mans[j0].x com.mans[J0].x isNull) d.push([com.mans[J0].x,com.mans[J0].y]);}else{if ( y1 2 (!com.mans[map[y1][x]] || com.mans[map[y1][x]].my!my)) d.push([x,y1]);if ( y-1 0 (!com.mans[map[y-1][x]] || com.mans[map[y-1][x]].my!my)) d.push([x,y-1]);if ( com.mans[j0].x com.mans[J0].x isNull) d.push([com.mans[j0].x,com.mans[j0].y]);}if ( x1 5 (!com.mans[map[y][x1]] || com.mans[map[y][x1]].my!my)) d.push([x1,y]);if ( x-1 3 (!com.mans[map[y][x-1]] || com.mans[map[y][x-1]].my!my))d.push([x-1,y]);return d;
}
com.bylaw.p function (x,y,map,my){var d[];var n0;for (var ix-1; i 0; i--){if (map[y][i]) {if (n0){n;continue;}else{if (com.mans[map[y][i]].my!my) d.push([i,y]);break }}else{if(n0) d.push([i,y]) }}var n0;for (var ix1; i 8; i){if (map[y][i]) {if (n0){n;continue;}else{if (com.mans[map[y][i]].my!my) d.push([i,y]);break }}else{if(n0) d.push([i,y]) }}var n0;for (var i y-1 ; i 0; i--){if (map[i][x]) {if (n0){n;continue;}else{if (com.mans[map[i][x]].my!my) d.push([x,i]);break }}else{if(n0) d.push([x,i]) }}var n0;for (var i y1 ; i 9; i){if (map[i][x]) {if (n0){n;continue;}else{if (com.mans[map[i][x]].my!my) d.push([x,i]);break }}else{if(n0) d.push([x,i]) }}return d;
}
com.bylaw.z function (x,y,map,my){var d[];if (my1){if ( y-1 0 (!com.mans[map[y-1][x]] || com.mans[map[y-1][x]].my!my)) d.push([x,y-1]);if ( x1 8 y4 (!com.mans[map[y][x1]] || com.mans[map[y][x1]].my!my)) d.push([x1,y]);if ( x-1 0 y4 (!com.mans[map[y][x-1]] || com.mans[map[y][x-1]].my!my))d.push([x-1,y]);}else{if ( y1 9 (!com.mans[map[y1][x]] || com.mans[map[y1][x]].my!my)) d.push([x,y1]);if ( x1 8 y6 (!com.mans[map[y][x1]] || com.mans[map[y][x1]].my!my)) d.push([x1,y]);if ( x-1 0 y6 (!com.mans[map[y][x-1]] || com.mans[map[y][x-1]].my!my))d.push([x-1,y]);}return d;
}com.value {c:[[206, 208, 207, 213, 214, 213, 207, 208, 206],[206, 212, 209, 216, 233, 216, 209, 212, 206],[206, 208, 207, 214, 216, 214, 207, 208, 206],[206, 213, 213, 216, 216, 216, 213, 213, 206],[208, 211, 211, 214, 215, 214, 211, 211, 208],[208, 212, 212, 214, 215, 214, 212, 212, 208],[204, 209, 204, 212, 214, 212, 204, 209, 204],[198, 208, 204, 212, 212, 212, 204, 208, 198],[200, 208, 206, 212, 200, 212, 206, 208, 200],[194, 206, 204, 212, 200, 212, 204, 206, 194]],m:[[90, 90, 90, 96, 90, 96, 90, 90, 90],[90, 96,103, 97, 94, 97,103, 96, 90],[92, 98, 99,103, 99,103, 99, 98, 92],[93,108,100,107,100,107,100,108, 93],[90,100, 99,103,104,103, 99,100, 90],[90, 98,101,102,103,102,101, 98, 90],[92, 94, 98, 95, 98, 95, 98, 94, 92],[93, 92, 94, 95, 92, 95, 94, 92, 93],[85, 90, 92, 93, 78, 93, 92, 90, 85],[88, 85, 90, 88, 90, 88, 90, 85, 88]],x:[[0, 0,20, 0, 0, 0,20, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0,23, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0,20, 0, 0, 0,20, 0, 0],[0, 0,20, 0, 0, 0,20, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[18,0, 0, 0,23, 0, 0, 0,18],[0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0,20, 0, 0, 0,20, 0, 0]],s:[[0, 0, 0,20, 0,20, 0, 0, 0],[0, 0, 0, 0,23, 0, 0, 0, 0],[0, 0, 0,20, 0,20, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0,20, 0,20, 0, 0, 0],[0, 0, 0, 0,23, 0, 0, 0, 0], [0, 0, 0,20, 0,20, 0, 0, 0]],j:[[0, 0, 0, 8888, 8888, 8888, 0, 0, 0],[0, 0, 0, 8888, 8888, 8888, 0, 0, 0], [0, 0, 0, 8888, 8888, 8888, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 0, 8888, 8888, 8888, 0, 0, 0],[0, 0, 0, 8888, 8888, 8888, 0, 0, 0], [0, 0, 0, 8888, 8888, 8888, 0, 0, 0]],p:[[100, 100, 96, 91, 90, 91, 96, 100, 100],[ 98, 98, 96, 92, 89, 92, 96, 98, 98],[ 97, 97, 96, 91, 92, 91, 96, 97, 97],[ 96, 99, 99, 98, 100, 98, 99, 99, 96],[ 96, 96, 96, 96, 100, 96, 96, 96, 96], [ 95, 96, 99, 96, 100, 96, 99, 96, 95],[ 96, 96, 96, 96, 96, 96, 96, 96, 96],[ 97, 96, 100, 99, 101, 99, 100, 96, 97],[ 96, 97, 98, 98, 98, 98, 98, 97, 96],[ 96, 96, 97, 99, 99, 99, 97, 96, 96]],z:[[ 9, 9, 9, 11, 13, 11, 9, 9, 9],[19, 24, 34, 42, 44, 42, 34, 24, 19],[19, 24, 32, 37, 37, 37, 32, 24, 19],[19, 23, 27, 29, 30, 29, 27, 23, 19],[14, 18, 20, 27, 29, 27, 20, 18, 14],[ 7, 0, 13, 0, 16, 0, 13, 0, 7],[ 7, 0, 7, 0, 15, 0, 7, 0, 7], [ 0, 0, 0, 0, 0, 0, 0, 0, 0],[ 0, 0, 0, 0, 0, 0, 0, 0, 0],[ 0, 0, 0, 0, 0, 0, 0, 0, 0]]
}com.value.C com.arr2Clone(com.value.c).reverse();
com.value.M com.arr2Clone(com.value.m).reverse();
com.value.X com.value.x;
com.value.S com.value.s;
com.value.J com.value.j;
com.value.P com.arr2Clone(com.value.p).reverse();
com.value.Z com.arr2Clone(com.value.z).reverse();com.args{c:{text:, img:r_c, my:1 ,bl:c, value:com.value.c},m:{text:, img:r_m, my:1 ,bl:m, value:com.value.m},x:{text:, img:r_x, my:1 ,bl:x, value:com.value.x},s:{text:, img:r_s, my:1 ,bl:s, value:com.value.s},j:{text:, img:r_j, my:1 ,bl:j, value:com.value.j},p:{text:, img:r_p, my:1 ,bl:p, value:com.value.p},z:{text:, img:r_z, my:1 ,bl:z, value:com.value.z},C:{text:܇, img:b_c, my:-1 ,bl:c, value:com.value.C},M:{text:R, img:b_m, my:-1 ,bl:m, value:com.value.M},X:{text:, img:b_x, my:-1 ,bl:x, value:com.value.X},S:{text:ʿ, img:b_s, my:-1 ,bl:s, value:com.value.S},J:{text:˧, img:b_j, my:-1 ,bl:j, value:com.value.J},P:{text:, img:b_p, my:-1 ,bl:p, value:com.value.P},Z:{text:, img:b_z, my:-1 ,bl:z, value:com.value.Z}
};com.class com.class || {}
com.class.Man function (key, x, y){this.pater key.slice(0,1);var ocom.args[this.pater]this.x x||0; this.y y||0;this.key key ;this.my o.my;this.text o.text;this.value o.value;this.isShow true;this.alpha 1;this.ps [];this.show function (){if (this.isShow) {com.ct.save();com.ct.globalAlpha this.alpha;com.ct.drawImage(com[this.pater].img,com.spaceX * this.x com.pointStartX , com.spaceY * this.y com.pointStartY);com.ct.restore(); }}this.bl function (map){var map map || play.mapreturn com.bylaw[o.bl](this.x,this.y,map,this.my)}
}com.class.Bg function (img, x, y){this.x x||0; this.y y||0;this.isShow true;this.show function (){if (this.isShow) com.ct.drawImage(com.bgImg, com.spaceX * this.x,com.spaceY * this.y);}
}
com.class.Pane function (img, x, y){this.x x||0; this.y y||0;this.newX x||0; this.newY y||0;this.isShow true;this.show function (){if (this.isShow) {com.ct.drawImage(com.paneImg, com.spaceX * this.x com.pointStartX , com.spaceY * this.y com.pointStartY)com.ct.drawImage(com.paneImg, com.spaceX * this.newX com.pointStartX , com.spaceY * this.newY com.pointStartY)}}
}com.class.Dot function (img, x, y){this.x x||0; this.y y||0;this.isShow true;this.dots[]this.show function (){for (var i0; ithis.dots.length;i){if (this.isShow) com.ct.drawImage(com.dotImg, com.spaceX * this.dots[i][0]10 com.pointStartX ,com.spaceY * this.dots[i][1]10 com.pointStartY)}}
}com.init();4play.js
var play play||{};play.init function (){play.my 1;play.map com.arr2Clone (com.initMap);play.nowManKey false;play.pace [];play.isPlay true ;play.mans com.mans;play.bylaw com.bylaw;play.show com.show;play.showPane com.showPane;play.isOffensive true;play.depth play.depth || 3;play.isFoul false;com.pane.isShow false;for (var i0; iplay.map.length; i){for (var n0; nplay.map[i].length; n){var key play.map[i][n];if (key){com.mans[key].xn;com.mans[key].yi;com.mans[key].isShow true;}}}play.show();com.canvas.addEventListener(click,play.clickCanvas)com.get(regretBn).addEventListener(click, function(e) {play.regret();})}play.regret function (){var map com.arr2Clone(com.initMap);for (var i0; imap.length; i){for (var n0; nmap[i].length; n){var key map[i][n];if (key){com.mans[key].xn;com.mans[key].yi;com.mans[key].isShow true;}}}var pace play.pace;pace.pop();pace.pop();for (var i0; ipace.length; i){var p pace[i].split()var x parseInt(p[0], 10);var y parseInt(p[1], 10);var newX parseInt(p[2], 10);var newY parseInt(p[3], 10);var keymap[y][x];//try{var cManmap[newY][newX];if (cMan) com.mans[map[newY][newX]].isShow false;com.mans[key].x newX;com.mans[key].y newY;map[newY][newX] key;delete map[y][x];if (ipace.length-1){com.showPane(newX ,newY,x,y) }}play.map map;play.my1;play.isPlaytrue;com.show();
}play.clickCanvas function (e){if (!play.isPlay) return false;var key play.getClickMan(e);var point play.getClickPoint(e);var x point.x;var y point.y;if (key){play.clickMan(key,x,y); }else {play.clickPoint(x,y); }play.isFoul play.checkFoul();
}play.clickMan function (key,x,y){var man com.mans[key];if (play.nowManKeyplay.nowManKey ! key man.my ! com.mans[play.nowManKey ].my){if (play.indexOfPs(com.mans[play.nowManKey].ps,[x,y])){man.isShow false;var pacecom.mans[play.nowManKey].xcom.mans[play.nowManKey].ydelete play.map[com.mans[play.nowManKey].y][com.mans[play.nowManKey].x];play.map[y][x] play.nowManKey;com.showPane(com.mans[play.nowManKey].x ,com.mans[play.nowManKey].y,x,y)com.mans[play.nowManKey].x x;com.mans[play.nowManKey].y y;com.mans[play.nowManKey].alpha 1play.pace.push(pacexy);play.nowManKey false;com.pane.isShow false;com.dot.dots [];com.show()com.get(clickAudio).play();setTimeout(play.AIPlay(),500);if (key j0) play.showWin (-1);if (key J0) play.showWin (1);}}else{if (man.my1){if (com.mans[play.nowManKey]) com.mans[play.nowManKey].alpha 1 ;man.alpha 0.6;com.pane.isShow false;play.nowManKey key;com.mans[key].ps com.mans[key].bl();com.dot.dots com.mans[key].pscom.show();com.get(selectAudio).play();}}
}play.clickPoint function (x,y){var keyplay.nowManKey;var mancom.mans[key];if (play.nowManKey){if (play.indexOfPs(com.mans[key].ps,[x,y])){var paceman.xman.ydelete play.map[man.y][man.x];play.map[y][x] key;com.showPane(man.x ,man.y,x,y)man.x x;man.y y;man.alpha 1;play.pace.push(pacexy);play.nowManKey false;com.dot.dots [];com.show();com.get(clickAudio).play();setTimeout(play.AIPlay(),500);}else{}}}
play.AIPlay function (){play.my -1 ;var paceAI.init(play.pace.join())if (!pace) {play.showWin (1);return ;}play.pace.push(pace.join());var keyplay.map[pace[1]][pace[0]]play.nowManKey key;var keyplay.map[pace[3]][pace[2]];if (key){play.AIclickMan(key,pace[2],pace[3]); }else {play.AIclickPoint(pace[2],pace[3]); }com.get(clickAudio).play();}play.checkFoul function(){var pplay.pace;var lenparseInt(p.length,10);if (len11p[len-1] p[len-5] p[len-5] p[len-9]){return p[len-4].split();}return false;
}play.AIclickMan function (key,x,y){var man com.mans[key];man.isShow false;delete play.map[com.mans[play.nowManKey].y][com.mans[play.nowManKey].x];play.map[y][x] play.nowManKey;play.showPane(com.mans[play.nowManKey].x ,com.mans[play.nowManKey].y,x,y)com.mans[play.nowManKey].x x;com.mans[play.nowManKey].y y;play.nowManKey false;com.show()if (key j0) play.showWin (-1);if (key J0) play.showWin (1);
}play.AIclickPoint function (x,y){var keyplay.nowManKey;var mancom.mans[key];if (play.nowManKey){delete play.map[com.mans[play.nowManKey].y][com.mans[play.nowManKey].x];play.map[y][x] key;com.showPane(man.x,man.y,x,y)man.x x;man.y y;play.nowManKey false;}com.show();
}play.indexOfPs function (ps,xy){for (var i0; ips.length; i){if (ps[i][0]xy[0]ps[i][1]xy[1]) return true;}return false;}play.getClickPoint function (e){var domXY com.getDomXY(com.canvas);var xMath.round((e.pageX-domXY.x-com.pointStartX-20)/com.spaceX)var yMath.round((e.pageY-domXY.y-com.pointStartY-20)/com.spaceY)return {x:x,y:y}
}play.getClickMan function (e){var clickXYplay.getClickPoint(e);var xclickXY.x;var yclickXY.y;if (x 0 || x8 || y 0 || y 9) return false;return (play.map[y][x] play.map[y][x]!0) ? play.map[y][x] : false;
}play.showWin function (my){play.isPlay false;if (my1){alert(ϲ㣬Ӯˣ);}else{alert(źˣ);}
}注意
由于博客字数限制本篇文章只展示了部分代码。本项目的完整代码及素材包关注私信我获取