<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div class="wall">
<div class="wintitle"></div>
</div>
<div class="wrap">
<div item="black" class="qizi black" Index="0" rule="车" row="1" line="1">
<div >車</div>
</div>
<div item="black" class="qizi black" Index="1" row="1" line="2" rule="马">
<div >馬</div>
</div>
<div item="black" class="qizi black" Index="2" row="1" line="3" rule="相">
<div >象</div>
</div>
<div item="black" class="qizi black" Index="3" row="1" line="4" rule="士">
<div >仕</div>
</div>
<div item="black" class="qizi black" Index="4" row="1" line="5" rule="帅" live="1">
<div >帥</div>
</div>
<div item="black" class="qizi black" Index="5" row="1" line="6" rule="士">
<div >仕</div>
</div>
<div item="black" class="qizi black" Index="6" row="1" line="7" rule="相">
<div >象</div>
</div>
<div item="black" class="qizi black" Index="7" row="1" line="8" rule="马">
<div>馬</div>
</div>
<div item="black" class="qizi black" Index="8" rule="车" row="1" line="9">
<div >車</div>
</div>
<div item="black" class="qizi black" Index="9" row="3" line="2" rule="炮">
<div >炮</div>
</div>
<div item="black" class="qizi black" Index="10" row="3" line="8" rule="炮">
<div>炮</div>
</div>
<div item="black" class="qizi black" Index="11" row="4" line="1" rule="兵">
<div >卒</div>
</div>
<div item="black" class="qizi black" Index="12" row="4" line="3" rule="兵">
<div>卒</div>
</div>
<div item="black" class="qizi black" Index="13" row="4" line="5" rule="兵">
<div>卒</div>
</div>
<div item="black" class="qizi black" Index="14" row="4" line="7" rule="兵">
<div>卒</div>
</div>
<div item="black" class="qizi black" Index="15" row="4" line="9" rule="兵">
<div>卒</div>
</div>
<div item="red" class="qizi red" Index="16" row="7" line="1" rule="兵">
<div>兵</div>
</div>
<div item="red" class="qizi red" Index="17" row="7" line="3" rule="兵">
<div>兵</div>
</div>
<div item="red" class="qizi red" Index="18" row="7" line="5" rule="兵">
<div>兵</div>
</div>
<div item="red" class="qizi red" Index="19" row="7" line="7" rule="兵">
<div>兵</div>
</div>
<div item="red" class="qizi red" Index="20" row="7" line="9" rule="兵">
<div>兵</div>
</div>
<div item="red" class="qizi red" Index="21" row="8" line="2" rule="炮">
<div>炮</div>
</div>
<div item="red" class="qizi red" Index="22" row="8" line="8" rule="炮">
<div>炮</div>
</div>
<div item="red" class="qizi red" Index="23" rule="车" row="10" line="1">
<div>車</div>
</div>
<div item="red" class="qizi red" Index="24" row="10" line="2" rule="马">
<div>馬</div>
</div>
<div item="red" class="qizi red" Index="25" row="10" line="3" rule="相">
<div>相</div>
</div>
<div item="red" class="qizi red" Index="26" row="10" line="4" rule="士">
<div>士</div>
</div>
<div item="red" class="qizi red" Index="27" row="10" line="5" rule="帅" live="2">
<div>將</div>
</div>
<div item="red" class="qizi red" Index="28" row="10" line="6" rule="士">
<div>士</div>
</div>
<div item="red" class="qizi red" Index="29" row="10" line="7" rule="相">
<div>相</div>
</div>
<div item="red" class="qizi red" Index="30" row="10" line="8" rule="马">
<div>馬</div>
</div>
<div item="red" class="qizi red" Index="31" rule="车" row="10" line="9">
<div>車</div>
</div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="weizhi"></div>
<div class="qipan">
</div>
<div style="position: relative; top: 20px;left:28px;font-size: 18px;">
开发者--李志强,如在使用过程中发现bug或者不合理的地方,可以联系作者进行修改
</div>
</div>
<script src="1.js" ></script>
</body>
</html>
<style>
body{
margin: 0px 0px;
user-select: none;
}
.wrap{
margin: auto;
width: 764px;
height: 848px;
position: relative;
}
.qipan{
top: 32px;
left: 32px;
width: 700px;
height: 784px;
background-image: url('./象棋.jpg');
position: relative;
z-index: -5;
}
.weizhi{
width: 84px;
height: 84px;
float: left;
}
.qizi{
width: 84px;
height: 84px;
cursor: pointer;
position: absolute;
z-index: 2;
transition:top 0.3s linear,left 0.3s linear;
}
.qizi div{
width: 70px;
height: 70px;
border: 2px solid #bebebe;
box-shadow: 0px 0px 2px #888888;
background: rgba(216, 216, 216, 1);
margin-left: 6px;
margin-top: 6px;
border-radius: 50%;
text-align: center;
line-height: 70px;
font-size:30px;
}
.red{
color: red;
}
.wintitle{
position: fixed;
left: 42%;
top: 41%;
height: 70px;
width: 300px;
text-align: center;
border-radius: 30px;
background: white;
color: black;
font-size: 40px;
font-weight: bold;
line-height: 70px;
}
.wall{
width: 100%;
height: 100%;
position: fixed;
z-index: 999;
background: rgba(0,0,0,0.3);
display: none;
}
</style>
let weizhiObj=[
{row:1,line:1},{row:1,line:2},{row:1,line:3},{row:1,line:4},{row:1,line:5},{row:1,line:6},{row:1,line:7},{row:1,line:8},{row:1,line:9},
{row:2,line:1},{row:2,line:2},{row:2,line:3},{row:2,line:4},{row:2,line:5},{row:2,line:6},{row:2,line:7},{row:2,line:8},{row:2,line:9},
{row:3,line:1},{row:3,line:2},{row:3,line:3},{row:3,line:4},{row:3,line:5},{row:3,line:6},{row:3,line:7},{row:3,line:8},{row:3,line:9},
{row:4,line:1},{row:4,line:2},{row:4,line:3},{row:4,line:4},{row:4,line:5},{row:4,line:6},{row:4,line:7},{row:4,line:8},{row:4,line:9},
{row:5,line:1},{row:5,line:2},{row:5,line:3},{row:5,line:4},{row:5,line:5},{row:5,line:6},{row:5,line:7},{row:5,line:8},{row:5,line:9},
{row:6,line:1},{row:6,line:2},{row:6,line:3},{row:6,line:4},{row:6,line:5},{row:6,line:6},{row:6,line:7},{row:6,line:8},{row:6,line:9},
{row:7,line:1},{row:7,line:2},{row:7,line:3},{row:7,line:4},{row:7,line:5},{row:7,line:6},{row:7,line:7},{row:7,line:8},{row:7,line:9},
{row:8,line:1},{row:8,line:2},{row:8,line:3},{row:8,line:4},{row:8,line:5},{row:8,line:6},{row:8,line:7},{row:8,line:8},{row:8,line:9},
{row:9,line:1},{row:9,line:2},{row:9,line:3},{row:9,line:4},{row:9,line:5},{row:9,line:6},{row:9,line:7},{row:9,line:8},{row:9,line:9},
{row:10,line:1},{row:10,line:2},{row:10,line:3},{row:10,line:4},{row:10,line:5},{row:10,line:6},{row:10,line:7},{row:10,line:8},{row:10,line:9},
]
let run="red";
let ele = "";
let arr=[];
let qizi = document.getElementsByClassName("qizi");
let qipan = document.getElementsByClassName("weizhi");
let wall = document.getElementsByClassName("wall")[0];
let wintitle = document.getElementsByClassName("wintitle")[0];
let row,line;
for(let i=0; i<qizi.length; i++){
qizi[i].style.top = (qizi[i].getAttribute("row")-1)*84+"px";
qizi[i].style.left = (qizi[i].getAttribute("line")-1)*84+"px";
againClickFn();
}
for(let i=0; i<90; i++) {
qipan[i].setAttribute("row",weizhiObj[i].row );
qipan[i].setAttribute("line",weizhiObj[i].line );
qipan[i].onclick = function(){
row= qipan[i].getAttribute("row");
line= qipan[i].getAttribute("line");
if(ele && ele.getAttribute("item")==run){
Move();
}
}
}
function sizeReduction(){
for(let i=0; i<qizi.length; i++){
qizi[i].style.transform = "scale(1)";
}
}
function againClickFn(){
for(let i=0; i<qizi.length; i++){
qizi[i].onclick = function(){
let index=i;
row= qizi[i].getAttribute("row");
line= qizi[i].getAttribute("line");
sizeReduction();
if(qizi[i].getAttribute("item")==run){
ele = qizi[i];
qizi[i].style.transform = "scale(1.2)";
cheRule(qizi[i]);
paoRule(qizi[i]);
zuRule(qizi[i]);
shiRule(qizi[i]);
shuaiRule(qizi[i]);
xiangRule(qizi[i]);
maRule(qizi[i]);
}else{
cheKillEnemy(index);
paoKillEnemy(index);
let live1=false
let live2=false
for(let i=0;i<qizi.length;i++){
if(qizi[i].getAttribute("live")=="1"){
live1 = true
}
}
for(let i=0;i<qizi.length;i++){
if(qizi[i].getAttribute("live")=="2"){
live2 = true
}
}
if(!live1){
wall.style.display="block";
wintitle.innerHTML="红方获胜"
wintitle.style.color="red"
}
if(!live2){
wall.style.display="block";
wintitle.innerHTML="黑方获胜"
wintitle.style.color="black"
}
ele="";
againClickFn();
}
}
}
}
function cheRule(value){
let allowArr=[];
let noAllowArr=[]
if(value.getAttribute("rule")=="车"){
let row = value.getAttribute("row");
let line = value.getAttribute("line");
for(let i=0; i<90; i++) {
if(weizhiObj[i].row==row || weizhiObj[i].line==line){
allowArr.push(weizhiObj[i])
}
}
for(let i=0; i<qizi.length; i++) {
if(qizi[i].getAttribute("row")==value.getAttribute("row") || qizi[i].getAttribute("line")==value.getAttribute("line")){
noAllowArr.push({row:parseFloat(qizi[i].getAttribute("row")) ,
line:parseFloat(qizi[i].getAttribute("line")) ,
item:qizi[i].getAttribute("item")
})
}
}
for(let i=0; i<noAllowArr.length; i++) {
if(row==noAllowArr[i].row) {
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].line<noAllowArr[i].line && noAllowArr[i].line<line){
allowArr.splice(j,1);
j--;
}
}
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].line>noAllowArr[i].line && noAllowArr[i].line>line){
allowArr.splice(j,1);
j--;
}
}
}
}
for(let i=0; i<noAllowArr.length; i++) {
if(line==noAllowArr[i].line) {
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].row<noAllowArr[i].row && noAllowArr[i].row<row){
allowArr.splice(j,1);
j--;
}
}
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].row>noAllowArr[i].row && noAllowArr[i].row>row){
allowArr.splice(j,1);
j--;
}
}
}
}
for(let i=0; i<noAllowArr.length; i++) {
for(let j=0;j<allowArr.length;j++){
if(noAllowArr[i].row == allowArr[j].row && noAllowArr[i].line == allowArr[j].line && noAllowArr[i].item == run){
allowArr.splice(j,1);
j--;
}
}
}
arr=allowArr;
}
}
function cheKillEnemy(index){
if( ele && (ele.getAttribute("rule")=="车" || ele.getAttribute("rule")=="兵" || ele.getAttribute("rule")=="士" || ele.getAttribute("rule")=="帅" || ele.getAttribute("rule")=="相"|| ele.getAttribute("rule")=="马")){
for(let i=0; i<arr.length;i++){
if(arr[i].row==row && arr[i].line==line){
sizeReduction();
ele.setAttribute("row", row);
ele.setAttribute("line", line);
ele.style.top = (arr[i].row-1)*84+"px";
ele.style.left = (arr[i].line-1)*84+"px";
qizi[index].remove();
ele="";
if(run=="red"){
run ="black";
}else{
run = "red"
}
break;
}
}
}
}
function Move(){
for(let i=0; i<arr.length;i++){
if(arr[i].row==row && arr[i].line==line){
sizeReduction();
ele.setAttribute("row", row);
ele.setAttribute("line", line);
ele.style.top = (arr[i].row-1)*84+"px";
ele.style.left = (arr[i].line-1)*84+"px";
ele="";
if(run=="red"){
run ="black";
}else{
run = "red"
}
}
}
}
function paoRule(value){
let allowArr=[];
let noAllowArr=[]
if(value.getAttribute("rule")=="炮"){
let row = value.getAttribute("row");
let line = value.getAttribute("line");
for(let i=0; i<90; i++) {
if(weizhiObj[i].row==row || weizhiObj[i].line==line){
allowArr.push(weizhiObj[i])
}
}
for(let i=0; i<qizi.length; i++) {
if(qizi[i].getAttribute("row")==value.getAttribute("row") || qizi[i].getAttribute("line")==value.getAttribute("line")){
noAllowArr.push({row:parseFloat(qizi[i].getAttribute("row")) ,
line:parseFloat(qizi[i].getAttribute("line")) ,
item:qizi[i].getAttribute("item")
})
}
}
for(let i=0; i<noAllowArr.length; i++) {
if(row==noAllowArr[i].row) {
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].line<noAllowArr[i].line && noAllowArr[i].line<line){
allowArr.splice(j,1);
j--;
}
}
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].line>noAllowArr[i].line && noAllowArr[i].line>line){
allowArr.splice(j,1);
j--;
}
}
}
}
for(let i=0; i<noAllowArr.length; i++) {
if(line==noAllowArr[i].line) {
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].row<noAllowArr[i].row && noAllowArr[i].row<row){
allowArr.splice(j,1);
j--;
}
}
for(let j=0;j<allowArr.length;j++){
if(allowArr[j].row>noAllowArr[i].row && noAllowArr[i].row>row){
allowArr.splice(j,1);
j--;
}
}
}
}
for(let i=0; i<noAllowArr.length; i++) {
for(let j=0;j<allowArr.length;j++){
if(noAllowArr[i].row == allowArr[j].row && noAllowArr[i].line == allowArr[j].line){
allowArr.splice(j,1);
j--;
}
}
}
arr=allowArr;
}
}
function paoKillEnemy(index){
if( ele && ele.getAttribute("rule")=="炮"){
enemy = qizi[index];
if(ele && ele.getAttribute("line")== enemy.getAttribute("line")){
if(ele && parseFloat(ele.getAttribute("row"))>parseFloat(enemy.getAttribute("row"))){
let maxRow = parseFloat(ele.getAttribute("row")) ;
let minROW = parseFloat(enemy.getAttribute("row"));
let num=0
for(let i=0; i<qizi.length;i++){
if(maxRow>qizi[i].getAttribute("row") && minROW<qizi[i].getAttribute("row")&&
qizi[i].getAttribute("line")==ele.getAttribute("line")){
num++;
}
}
if(num==1){
sizeReduction();
ele.setAttribute("row", row);
ele.setAttribute("line", line);
ele.style.top = (row-1)*84+"px";
ele.style.left = (line-1)*84+"px";
qizi[index].remove();
ele="";
if(run=="red"){
run ="black";
}else{
run = "red"
}
}
}
if(ele && parseFloat(ele.getAttribute("row")) <parseFloat(enemy.getAttribute("row"))){
let maxRow =parseFloat(enemy.getAttribute("row"));
let minROW =parseFloat(ele.getAttribute("row"));
console.log(maxRow,minROW);
let num=0;
for(let i=0; i<qizi.length;i++){
if(maxRow>qizi[i].getAttribute("row") && minROW<qizi[i].getAttribute("row")&&
qizi[i].getAttribute("line")==ele.getAttribute("line")){
num++;
}
}
if(num==1){
sizeReduction();
ele.setAttribute("row", row);
ele.setAttribute("line", line);
ele.style.top = (row-1)*84+"px";
ele.style.left = (line-1)*84+"px";
qizi[index].remove();
ele="";
if(run=="red"){
run ="black";
}else{
run = "red"
}
}
}
}
if(ele && ele.getAttribute("row")== enemy.getAttribute("row")){
if(ele && parseFloat(ele.getAttribute("line"))>parseFloat(enemy.getAttribute("line"))){
let maxLine = parseFloat(ele.getAttribute("line")) ;
let minLine = parseFloat(enemy.getAttribute("line"));
let num=0
for(let i=0; i<qizi.length;i++){
if(maxLine>qizi[i].getAttribute("line") && minLine<qizi[i].getAttribute("line")&&
qizi[i].getAttribute("row")==ele.getAttribute("row")){
num++;
}
}
if(num==1){
sizeReduction();
ele.setAttribute("row", row);
ele.setAttribute("line", line);
ele.style.top = (row-1)*84+"px";
ele.style.left = (line-1)*84+"px";
qizi[index].remove();
ele="";
if(run=="red"){
run ="black";
}else{
run = "red"
}
}
}
if(ele && parseFloat(ele.getAttribute("line"))<parseFloat(enemy.getAttribute("line"))){
let minLine = parseFloat(ele.getAttribute("line")) ;
let maxLine = parseFloat(enemy.getAttribute("line"));
let num=0
for(let i=0; i<qizi.length;i++){
if(maxLine>qizi[i].getAttribute("line") && minLine<qizi[i].getAttribute("line")&&
qizi[i].getAttribute("row")==ele.getAttribute("row")){
num++;
}
}
if(num==1){
sizeReduction();
ele.setAttribute("row", row);
ele.setAttribute("line", line);
ele.style.top = (row-1)*84+"px";
ele.style.left = (line-1)*84+"px";
qizi[index].remove();
ele="";
if(run=="red"){
run ="black";
}else{
run = "red"
}
}
}
}
}
}
function zuRule(value){
if( ele && ele.getAttribute("rule")=="兵"){
arr=[]
if(value.getAttribute("item")=="red"){
if(value.getAttribute("row")>5){
arr.push({row:value.getAttribute("row")-1,line:value.getAttribute("line")-0});
}else{
arr.push({row:value.getAttribute("row")-1,line:value.getAttribute("line")-0});
arr.push({row:value.getAttribute("row")-0,line:value.getAttribute("line")-1});
arr.push({row:value.getAttribute("row")-0,line:value.getAttribute("line")-0+1});
}
}else{
if(value.getAttribute("row")<6){
arr.push({row:value.getAttribute("row")-0+1,line:value.getAttribute("line")-0});
}else{
arr.push({row:value.getAttribute("row")-0+1,line:value.getAttribute("line")-0});
arr.push({row:value.getAttribute("row")-0,line:value.getAttribute("line")-1});
arr.push({row:value.getAttribute("row")-0,line:value.getAttribute("line")-0+1});
}
}
try {
for(let i=0; i<qizi.length; i++){
for(let j=0; j<arr.length; j++){
if(arr[j].row == parseFloat(qizi[i].getAttribute("row"))
&& arr[j].line == parseFloat(qizi[i].getAttribute("line"))
&& qizi[i].getAttribute("item")==run){
arr.splice(j,1);
j--;
}
}
}
} catch (error) {
}
}
}
function shiRule(value){
if( ele && ele.getAttribute("rule")=="士"){
arr=[]
if(value.getAttribute("item")=="red"){
if(parseFloat(value.getAttribute("row")) == 9){
arr=[{row:8,line:4},{row:10,line:4},{row:10,line:6},{row:8,line:6}]
}else{
arr=[{row:9,line:5}]
}
}else{
if(parseFloat(value.getAttribute("row")) == 2){
arr=[{row:1,line:4},{row:3,line:4},{row:1,line:6},{row:3,line:6}]
}else{
arr=[{row:2,line:5}]
}
}
try {
for(let i=0; i<qizi.length; i++){
for(let j=0; j<arr.length; j++){
if(arr[j].row == parseFloat(qizi[i].getAttribute("row"))
&&arr[j].line == parseFloat(qizi[i].getAttribute("line"))
&&qizi[i].getAttribute("item")==run){
arr.splice(j,1);
j--;
}
}
}
} catch (error) {
}
}
}
function shuaiRule(value){
if( ele && ele.getAttribute("rule")=="帅"){
arr= [];
let allow =[{row:value.getAttribute('row')-1,line:value.getAttribute('line')-0},{row:value.getAttribute('row')-0+1,line:value.getAttribute('line')-0},
{row:value.getAttribute('row')-0,line:value.getAttribute('line')-1},{row:value.getAttribute('row')-0,line:value.getAttribute('line')-0+1}]
if(value.getAttribute("item")=="red"){
let nine=[{row:8,line:4},{row:8,line:5},{row:8,line:6},{row:9,line:4},{row:9,line:5},{row:9,line:6},{row:10,line:4},{row:10,line:5},{row:10,line:6}];
for(let i=0; i<nine.length; i++){
for(let j=0; j<allow.length; j++){
if(nine[i].row == allow[j].row && nine[i].line == allow[j].line){
arr.push(allow[j])
}
}
}
}else{
let nine=[{row:3,line:4},{row:3,line:5},{row:3,line:6},{row:2,line:4},{row:2,line:5},{row:2,line:6},{row:1,line:4},{row:1,line:5},{row:1,line:6}];
for(let i=0; i<nine.length; i++){
for(let j=0; j<allow.length; j++){
if(nine[i].row == allow[j].row && nine[i].line == allow[j].line){
arr.push(allow[j])
}
}
}
}
try {
for(let i=0; i<qizi.length; i++){
for(let j=0; j<arr.length; j++){
if(arr[j].row == parseFloat(qizi[i].getAttribute("row"))
&& arr[j].line == parseFloat(qizi[i].getAttribute("line"))
&& qizi[i].getAttribute("item")==run){
arr.splice(j,1);
j--;
}
}
}
} catch (error) {
}
}
}
function xiangRule(value){
if( ele && ele.getAttribute("rule")=="相"){
arr= [];
let allow =[{row:value.getAttribute('row')-0+2,line:value.getAttribute('line')-0-2},{row:value.getAttribute('row')-2,line:value.getAttribute('line')-2},
{row:value.getAttribute('row')-0+2,line:value.getAttribute('line')-0+2},{row:value.getAttribute('row')-2,line:value.getAttribute('line')-0+2}]
if(value.getAttribute("item")=="red"){
let nine=[{row:6,line:3},{row:6,line:7},{row:8,line:1},{row:8,line:5},{row:8,line:9},{row:10,line:3},{row:10,line:7}];
for(let i=0; i<nine.length; i++){
for(let j=0; j<allow.length; j++){
if(nine[i].row == allow[j].row && nine[i].line == allow[j].line){
arr.push(allow[j])
}
}
}
}else{
let nine=[{row:1,line:3},{row:1,line:7},{row:3,line:1},{row:3,line:5},{row:3,line:9},{row:5,line:3},{row:5,line:7}];
for(let i=0; i<nine.length; i++){
for(let j=0; j<allow.length; j++){
if(nine[i].row == allow[j].row && nine[i].line == allow[j].line){
arr.push(allow[j])
}
}
}
}
try {
for(let i=0; i<qizi.length; i++){
for(let j=0; j<arr.length; j++){
if(arr[j].row == parseFloat(qizi[i].getAttribute("row"))
&& arr[j].line == parseFloat(qizi[i].getAttribute("line"))
&& qizi[i].getAttribute("item")==run){
arr.splice(j,1);
j--;
}
}
}
} catch (error) {
}
for(let i=0; i<arr.length; i++){
let flag = false;
let preventRow = (parseFloat(ele.getAttribute("row")) + arr[i].row) / 2;
let preventLine = (parseFloat(ele.getAttribute("line")) + arr[i].line) / 2;
for(let j=0; j<qizi.length;j++){
if(qizi[j].getAttribute("row")==preventRow && qizi[j].getAttribute("line")==preventLine){
flag = true;
}
}
if(flag){
arr.splice(i,1);
i--;
}
}
}
}
function maRule(value){
if( ele && ele.getAttribute("rule")=="马"){
arr=[
{row:value.getAttribute("row")-0+2,line:value.getAttribute("line")-0+1,dir:{row:value.getAttribute("row")-0+1,line:value.getAttribute("line")-0}},
{row:value.getAttribute("row")-0+1,line:value.getAttribute("line")-0+2,dir:{row:value.getAttribute("row")-0,line:value.getAttribute("line")-0+1}},
{row:value.getAttribute("row")-0-1,line:value.getAttribute("line")-0+2,dir:{row:value.getAttribute("row")-0,line:value.getAttribute("line")-0+1}},
{row:value.getAttribute("row")-0-2,line:value.getAttribute("line")-0+1,dir:{row:value.getAttribute("row")-1,line:value.getAttribute("line")-0}},
{row:value.getAttribute("row")-0-2,line:value.getAttribute("line")-0-1,dir:{row:value.getAttribute("row")-1,line:value.getAttribute("line")-0}},
{row:value.getAttribute("row")-0-1,line:value.getAttribute("line")-0-2,dir:{row:value.getAttribute("row")-0,line:value.getAttribute("line")-1}},
{row:value.getAttribute("row")-0+1,line:value.getAttribute("line")-0-2,dir:{row:value.getAttribute("row")-0,line:value.getAttribute("line")-1}},
{row:value.getAttribute("row")-0+2,line:value.getAttribute("line")-0-1,dir:{row:value.getAttribute("row")-0+1,line:value.getAttribute("line")-0}},
]
for(let i=0; i<qizi.length; i++){
for(let j=0; j<arr.length; j++){
if(arr[j].row == parseFloat(qizi[i].getAttribute("row"))
&& arr[j].line == parseFloat(qizi[i].getAttribute("line"))
&& qizi[i].getAttribute("item")==run){
arr.splice(j,1);
j--;
}
}
}
try {
for(let i=0; i<qizi.length; i++){
for(let j=0; j<arr.length; j++){
if (arr[j].dir.row== parseFloat(qizi[i].getAttribute("row"))
&& arr[j].dir.line== parseFloat(qizi[i].getAttribute("line"))){
arr.splice(j,1);
j--
}
}
}
} catch (error) {
}
console.log(arr);
}
}