<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
body {
background-color: darksalmon;
}
.wuziqi {
position: relative;
}
.heizi {
width: 50px;
height: 50px;
background-color: black;
border-radius: 50%;
position: absolute;
left: 200px;
top: 200px;
}
.baizi {
width: 50px;
height: 50px;
background-color: white;
border-radius: 50%;
position: absolute;
left: 200px;
top: 300px;
}
.zhanshi {
width: 450px;
height: 450px;
border: 2px solid blueviolet;
position: absolute;
left: 500px;
top: 100px;
}
.zhanshigezi {
width: 50px;
height: 50px;
border: 1px solid blue;
box-sizing: border-box;
float: left;
}
.max {
width: 500px;
height: 500px;
border: 2px solid black;
position: absolute;
left: 475px;
top: 75px;
}
.maxgezi {
width: 50px;
height: 50px;
box-sizing: border-box;
float: left;
}
.xiaohei {
width: 50px;
height: 50px;
background-color: black;
border-radius: 50%;
}
.xiaobai {
width: 50px;
height: 50px;
background-color: white;
border-radius: 50%;
}
</style>
</head>
<body>
<div class="wuziqi">
<div class="heizi qizi" draggable="true"></div>
<div class="baizi qizi" draggable="true"></div>
<div class="zhanshi"></div>
<div class="max"></div>
</div>
</body>
<script type="text/javascript">
let heizi = document.querySelector(".heizi");
let max = document.querySelector(".max");
let zhanshi = document.querySelector(".zhanshi");
let xx;
for (let a = 0; a < 100; a++) {
max.innerHTML += "<div class='maxgezi'></div>"; //循环一百个maxgezi,也就是最外层的格子
}
for (let b = 0; b < 81; b++) {
zhanshi.innerHTML += "<div class='zhanshigezi'></div>" //循环81个里面的格子
}
let qizi = document.querySelectorAll(".qizi");
qizi.forEach(item => {
item.ondragstart = function() {
// console.log("拖拽开始")
xx = item.className; //拿到当前拖拽棋子的名字
}
})
let maxgezi = document.querySelectorAll(".maxgezi");
maxgezi.forEach(item => {
item.ondragstart = function() {
if (item.innerHTML == "") {
item.style.border = "1px solid blue";
}
}
item.ondragover = function() {
return false; //不返回false的时候不会执行ondrop事件
}
item.ondragleave = function() {
item.style.border = "";
}
item.ondrop = function() {
item.style.border = "";
if (item.innerHTML == "") {
if (xx == "heizi qizi") {
item.innerHTML = "<div class='xiaohei'></div>"
} else {
item.innerHTML = "<div class='xiaobai'></div>"
}
}
heng();
shu();
zuo();
you();
}
})
function heng() {
maxgezi.forEach((each, index) => {
if (each.innerHTML == "") {
return;
}
let num = 0;
if (index % 10 > 5) {
return;
}
let yy = maxgezi[index].innerHTML;
panduan(yy, maxgezi[index + 1].innerHTML);
panduan(yy, maxgezi[index + 2].innerHTML);
panduan(yy, maxgezi[index + 3].innerHTML);
panduan(yy, maxgezi[index + 4].innerHTML);
function panduan(aa, bb) {
if (bb == "") {
return;
}
if (bb == aa) {
num++;
}
if (num == 4) {
if (yy == '<div class="xiaohei"></div>') {
console.log("小黑赢");
} else {
console.log("小白赢");
}
}
}
})
}
function shu() {
maxgezi.forEach((each, index) => {
if (each.innerHTML == "") {
return;
}
let num = 0;
if (index > 59) {
return;
}
let yy = maxgezi[index].innerHTML;
panduan(yy, maxgezi[index + 10].innerHTML);
panduan(yy, maxgezi[index + 20].innerHTML);
panduan(yy, maxgezi[index + 30].innerHTML);
panduan(yy, maxgezi[index + 40].innerHTML);
function panduan(aa, bb) {
if (bb == "") {
return;
}
if (bb == aa) {
num++;
}
if (num == 4) {
if (yy == '<div class="xiaohei"></div>') {
console.log("小黑赢");
} else {
console.log("小白赢");
}
}
}
})
}
function zuo() {
maxgezi.forEach((each, index) => {
if (each.innerHTML == "") {
return;
}
let num = 0;
if ((index + 9) % 10 < 3 || (index + 9) % 10 == 9 || index > 59) {
return;
}
let yy = maxgezi[index].innerHTML;
panduan(yy, maxgezi[index + 9].innerHTML);
panduan(yy, maxgezi[index + 18].innerHTML);
panduan(yy, maxgezi[index + 27].innerHTML);
panduan(yy, maxgezi[index + 36].innerHTML);
function panduan(aa, bb) {
if (bb == "") {
return;
}
if (bb == aa) {
num++;
}
if (num == 4) {
if (yy == '<div class="xiaohei"></div>') {
console.log("小黑赢");
} else {
console.log("小白赢");
}
}
}
})
}
function you() {
maxgezi.forEach((each, index) => {
if (each.innerHTML == "") {
return;
}
let num = 0;
if ((index+11)%10>6||(index+11)%10==0||index>59) {
return;
}
let yy = maxgezi[index].innerHTML;
panduan(yy, maxgezi[index + 11].innerHTML);
panduan(yy, maxgezi[index + 22].innerHTML);
panduan(yy, maxgezi[index + 33].innerHTML);
panduan(yy, maxgezi[index + 44].innerHTML);
function panduan(aa, bb) {
if (bb == "") {
return;
}
if (bb == aa) {
num++;
}
if (num == 4) {
if (yy == '<div class="xiaohei"></div>') {
console.log("小黑赢");
} else {
console.log("小白赢");
}
}
}
})
}
</script>
</html>